|
@@ -77,6 +77,23 @@ Status InnerSession::Initialize() { |
|
|
|
|
|
|
|
|
UpdateThreadContext(std::map<std::string, std::string>{}); |
|
|
UpdateThreadContext(std::map<std::string, std::string>{}); |
|
|
|
|
|
|
|
|
|
|
|
// session device id set here |
|
|
|
|
|
std::string str_session_device_id; |
|
|
|
|
|
if (GetContext().GetOption("ge.session_device_id", str_session_device_id) == SUCCESS) { |
|
|
|
|
|
GELOGI("Option session device id has set, value is %s.", str_session_device_id.c_str()); |
|
|
|
|
|
|
|
|
|
|
|
uint32_t session_device_id = 0; |
|
|
|
|
|
try { |
|
|
|
|
|
session_device_id = static_cast<uint32_t>(std::stoi(str_session_device_id.c_str())); |
|
|
|
|
|
// session device id has priority |
|
|
|
|
|
GetContext().SetCtxDeviceId(session_device_id); |
|
|
|
|
|
} catch (std::invalid_argument &) { |
|
|
|
|
|
GELOGW("session device id %s transform to int failed.", str_session_device_id.c_str()); |
|
|
|
|
|
} catch (std::out_of_range &) { |
|
|
|
|
|
GELOGW("session device id %s transform to int failed.", str_session_device_id.c_str()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
GE_CHK_RT_RET(rtSetDevice(GetContext().DeviceId())); |
|
|
GE_CHK_RT_RET(rtSetDevice(GetContext().DeviceId())); |
|
|
|
|
|
|
|
|
DumpProperties dump_properties; |
|
|
DumpProperties dump_properties; |
|
|