We use DLL proxy to complete API interception on Windows.
We need to copy the new driver file generated by compiling XSched to the directory corresponding to the original driver, and rename original driver file to driver_original. Such as rename nvcuda.dll in C:\Windows\System32 to nvcuda_original.dll, and copy nvcuda.dll in xsched\output\bin to C:\Windows\System32.
If you encounter permission issues with modifying file names, you can refer to the following solutions:
- Run the command prompt as an administrator: Press
Win+Xand select eitherTerminal (Administrator)orCommand Prompt (Administrator). - Obtain file ownership:
# The `takeown` command changes the file owner to the current administrator account.
takeown /f C:\Windows\System32\nvcuda.dll
# The `icacles` command grants the administrator group full control permission (`F` represents full control).
icacls C:\Windows\System32\nvcuda.dll /grant administrators:F
| Platform | Driver Name |
|---|---|
| CUDA | nvcuda.dll |
| LevelZero | ze_loader.dll |
| OpenCL | OpenCL.dll |