|
|
|
@@ -21,9 +21,10 @@ |
|
|
|
namespace mindspore { |
|
|
|
namespace device { |
|
|
|
namespace ascend { |
|
|
|
constexpr uint64_t kAscendDeviceMemGB = 30; |
|
|
|
constexpr uint64_t kAscendInitDeviceMemGB = 30; |
|
|
|
constexpr uint64_t kAscendMaxDeviceMemGB = 31; |
|
|
|
constexpr uint64_t kMemSizeGB = 30; |
|
|
|
constexpr uint64_t kAscendDeviceMemSize = (kAscendDeviceMemGB << kMemSizeGB); |
|
|
|
constexpr uint64_t kAscendDeviceMemSize = (kAscendInitDeviceMemGB << kMemSizeGB); |
|
|
|
|
|
|
|
void AscendMemoryManager::MallocDeviceMemory() { |
|
|
|
auto context_mem = GetDeviceMemSizeFromContext(); |
|
|
|
@@ -58,8 +59,8 @@ uint64_t AscendMemoryManager::GetDeviceMemSizeFromContext() { |
|
|
|
auto gb_str = variable_memory_max_size.substr(0, pos); |
|
|
|
auto gb_var = std::stoull(gb_str); |
|
|
|
MS_LOG(INFO) << "variable_memory_max_size(GB):" << gb_var; |
|
|
|
if (gb_var > kAscendDeviceMemGB || gb_var == 0) { |
|
|
|
MS_LOG(EXCEPTION) << "Invalid allocate memory size:" << gb_var << " which should be in (0-30]GB"; |
|
|
|
if (gb_var > kAscendMaxDeviceMemGB || gb_var == 0) { |
|
|
|
MS_LOG(EXCEPTION) << "Invalid allocate memory size:" << gb_var << " which should be in (0-31]GB"; |
|
|
|
} |
|
|
|
return gb_var << kMemSizeGB; |
|
|
|
} |
|
|
|
|