mirror of https://github.com/hpcaitech/ColossalAI
xs_courtesy
8 months ago
7 changed files with 105 additions and 100 deletions
@ -1,20 +0,0 @@
|
||||
#pragma once |
||||
|
||||
#include <memory> |
||||
|
||||
#include "common/nvgpu_dev_info.h" |
||||
#include "target.h" |
||||
|
||||
namespace colossalAI { |
||||
namespace common { |
||||
|
||||
template <typename Ret> |
||||
class DevInfoMgr final { |
||||
public: |
||||
static std::unique_ptr<Ret> GetDevInfo(int device_num) const { |
||||
return std::make_unique<Ret>(device_num); |
||||
} |
||||
}; |
||||
|
||||
} // namespace common
|
||||
} // namespace colossalAI
|
@ -1,45 +0,0 @@
|
||||
#include "nvgpu_dev_info.h" |
||||
|
||||
#include <array> |
||||
|
||||
namespace colossalAI { |
||||
namespace cuda { |
||||
namespace utils { |
||||
|
||||
std::array<int, 3> NVGPUDevInfo::GetMaxGridDims() const { |
||||
std::array<int, 3> ret; |
||||
ret[0] = prop_->maxGridSize[0]; |
||||
ret[1] = prop_->maxGridSize[1]; |
||||
ret[2] = prop_->maxGridSize[2]; |
||||
return ret; |
||||
} |
||||
|
||||
std::array<int, 3> NVGPUDevInfo::GetMaxBlockDims() const { |
||||
std::array<int, 3> ret; |
||||
ret[0] = prop_->maxThreadsDim[0]; |
||||
ret[1] = prop_->maxThreadsDim[1]; |
||||
ret[2] = prop_->maxThreadsDim[2]; |
||||
return ret; |
||||
} |
||||
|
||||
std::array<int, 2> NVGPUDevInfo::GetCapability() const { |
||||
std::array<int, 2> ret; |
||||
ret[0] = prop_.major; |
||||
ret[1] = prop_.minor; |
||||
} |
||||
|
||||
int NVGPUDevInfo::GetMultiProcessorCount() const { |
||||
return prop_->multiProcessorCount; |
||||
} |
||||
|
||||
int NVGPUDevInfo::GetMaxThreadsPerMultiProcessor() const { |
||||
return prop_->maxThreadsPerMultiProcessor; |
||||
} |
||||
|
||||
int NVGPUDevInfo::GetMaxThreadsPerBlock() const { |
||||
return prop_->maxThreadsPerBlock; |
||||
} |
||||
|
||||
} // namespace utils
|
||||
} // namespace cuda
|
||||
} // namespace colossalAI
|
Loading…
Reference in new issue