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