mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-12-24 13:28:13 +08:00
Merge pull request #2561 from MaaXYZ/feat/directml
feat: select adapter id for DirectML
This commit is contained in:
@@ -47,7 +47,7 @@ class FASTDEPLOY_DECL FastDeployModel {
|
||||
std::vector<Backend> valid_timvx_backends = {};
|
||||
/** Model's valid directml backends. This member defined all the onnxruntime directml backends have successfully tested for the model
|
||||
*/
|
||||
std::vector<Backend> valid_directml_backends = {};
|
||||
std::vector<Backend> valid_directml_backends = {Backend::ORT};
|
||||
/** Model's valid ascend backends. This member defined all the cann backends have successfully tested for the model
|
||||
*/
|
||||
std::vector<Backend> valid_ascend_backends = {};
|
||||
|
||||
@@ -98,7 +98,7 @@ bool OrtBackend::BuildOption(const OrtBackendOption& option) {
|
||||
"DML", ORT_API_VERSION, reinterpret_cast<const void**>(&ortDmlApi));
|
||||
OrtStatus* onnx_dml_status =
|
||||
ortDmlApi->SessionOptionsAppendExecutionProvider_DML(session_options_,
|
||||
0);
|
||||
option_.device_id);
|
||||
if (onnx_dml_status != nullptr) {
|
||||
FDERROR
|
||||
<< "DirectML is not support in your machine, the program will exit."
|
||||
|
||||
@@ -141,7 +141,10 @@ void RuntimeOption::UseAscend() {
|
||||
paddle_lite_option.device = device;
|
||||
}
|
||||
|
||||
void RuntimeOption::UseDirectML() { device = Device::DIRECTML; }
|
||||
void RuntimeOption::UseDirectML(int adapter_id) {
|
||||
device = Device::DIRECTML;
|
||||
device_id = adapter_id;
|
||||
}
|
||||
|
||||
void RuntimeOption::UseSophgo() {
|
||||
device = Device::SOPHGOTPUD;
|
||||
|
||||
@@ -82,7 +82,7 @@ struct FASTDEPLOY_DECL RuntimeOption {
|
||||
void UseAscend();
|
||||
|
||||
/// Use onnxruntime DirectML to inference
|
||||
void UseDirectML();
|
||||
void UseDirectML(int adapter_id = 0);
|
||||
|
||||
/// Use Sophgo to inference
|
||||
void UseSophgo();
|
||||
|
||||
Reference in New Issue
Block a user