DML cannot use device_id = 1 , run_with_iobinding failed. #21092
Labels
ep:DML
issues related to the DirectML execution provider
platform:windows
issues related to the Windows platform
Describe the issue
The system have two graphic cards (Hybrid Graphics,Tested on A+A and I+N)
Use the olive tag 6ebb02a969077d57f5bb14420d85fcff3fa537f4 to run llama_v2
Model is 7B , FP16 (size around 12G~13G)
command
python run_llama_v2_io_binding.py --prompt="Hi how are you" --max_seq_len=100 --device_id=0 => system can run
python run_llama_v2_io_binding.py --prompt="Hi how are you" --max_seq_len=100 --device_id=1 => system cannot run
To reproduce
Copy FP16 llama2 onnx model to olive and run following will unexpected exit.
python run_llama_v2_io_binding.py --prompt="Hi how are you" --max_seq_len=100 --device_id=1
If we change the iobinding from dml to cpu , it can run, the result is wrong.
If we make a test patch to force the device id to 1 in onnxruntime. it can pass and result is okay. (please check the attached patch file)
0002-test_dev_id1.patch
Urgency
It's Urgent. This is for multi-gpu support general case.
#13545 last comment looks similar issues
Platform
Windows
OS Version
Windows 11 Pro OS build 22631.3593
ONNX Runtime Installation
Released Package
ONNX Runtime Version or Commit ID
4573740
ONNX Runtime API
Python
Architecture
X64
Execution Provider
DirectML
Execution Provider Library Version
1.18.0
The text was updated successfully, but these errors were encountered: