|
|
|
@@ -29,36 +29,46 @@ extern "C" JNIEXPORT jlong JNICALL Java_com_mindspore_lite_config_MSConfig_creat |
|
|
|
MS_LOGE("new Context fail!"); |
|
|
|
return (jlong)context; |
|
|
|
} |
|
|
|
|
|
|
|
auto &cpu_device_ctx = context->device_list_[0]; |
|
|
|
switch (device_type) { |
|
|
|
case 0: |
|
|
|
context->device_type_ = mindspore::lite::DT_CPU; |
|
|
|
context->device_list_[0].device_type_ = mindspore::lite::DT_CPU; |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
context->device_type_ = mindspore::lite::DT_GPU; |
|
|
|
context->device_list_[0].device_type_ = mindspore::lite::DT_GPU; |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
context->device_type_ = mindspore::lite::DT_NPU; |
|
|
|
context->device_list_[0].device_type_ = mindspore::lite::DT_NPU; |
|
|
|
break; |
|
|
|
default: |
|
|
|
MS_LOGE("Invalid device_type : %d", device_type); |
|
|
|
return (jlong)context; |
|
|
|
} |
|
|
|
|
|
|
|
switch (cpu_bind_mode) { |
|
|
|
case 0: |
|
|
|
context->cpu_bind_mode_ = mindspore::lite::NO_BIND; |
|
|
|
cpu_device_ctx.device_info_.cpu_device_info_.cpu_bind_mode_ = mindspore::lite::NO_BIND; |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
context->cpu_bind_mode_ = mindspore::lite::HIGHER_CPU; |
|
|
|
cpu_device_ctx.device_info_.cpu_device_info_.cpu_bind_mode_ = mindspore::lite::HIGHER_CPU; |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
context->cpu_bind_mode_ = mindspore::lite::MID_CPU; |
|
|
|
cpu_device_ctx.device_info_.cpu_device_info_.cpu_bind_mode_ = mindspore::lite::MID_CPU; |
|
|
|
break; |
|
|
|
default: |
|
|
|
MS_LOGE("Invalid cpu_bind_mode : %d", cpu_bind_mode); |
|
|
|
return (jlong)context; |
|
|
|
} |
|
|
|
|
|
|
|
cpu_device_ctx.device_info_.cpu_device_info_.enable_float16_ = enable_float16; |
|
|
|
|
|
|
|
if (device_type == mindspore::lite::DT_GPU) { |
|
|
|
mindspore::lite::DeviceContext gpu_device_ctx{mindspore::lite::DT_GPU, {false}}; |
|
|
|
gpu_device_ctx.device_info_.gpu_device_info_.enable_float16_ = enable_float16; |
|
|
|
context->device_list_.push_back(gpu_device_ctx); |
|
|
|
} |
|
|
|
context->thread_num_ = thread_num; |
|
|
|
context->enable_float16_ = enable_float16; |
|
|
|
return (jlong)context; |
|
|
|
} |
|
|
|
|
|
|
|
|