vosen / ZLUDA

CUDA on non-NVIDIA GPUs
https://vosen.github.io/ZLUDA/
Apache License 2.0
9.64k stars 627 forks source link

Cannot disable integrated GPU #218

Open Gamination opened 6 months ago

Gamination commented 6 months ago

I have a Dell G5 SE with two GPUs:

AMD Radeon RX 5600M (Dedicated) AMD Radeon(TM) Graphics (Integrated)

There is no way to disable the iGPU as the dGPU outputs to the iGPU first and then the iGPU outputs to the monitor. If I disable the iGPU in the device manager, applications like Blender and Keyshot refuse to open because the OpenGL version is too low.

image image

So, with this, I tried to use the second solution which involves setting the environment variable. However, setting the environment variable HIP_VISIBLE_DEVICES=1 does not work as the applications only show the iGPU as being recognized.

Microsoft Windows [Version 10.0.22635.2915]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Gamination>set
ADSK_3DSMAX_x64_2017=D:\3DSMAX\3ds Max 2017\
ADSK_3DSMAX_x64_2018=D:\3DSMAX\3ds Max 2018\
ADSK_3DSMAX_x64_2020=D:\3DSMAX\3ds Max 2020\
ADSK_3DSMAX_x64_2021=D:\3DSMAX\3ds Max 2021\
ADSK_CLM_WPAD_PROXY_CHECK=FALSE
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Gamination\AppData\Roaming
ChocolateyInstall=C:\ProgramData\chocolatey
ChocolateyLastPathUpdate=133557574906141909
chromewebdriver=G:\Cache\Downloads\chromedriver.exe
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=KGLAPTOP
ComSpec=C:\WINDOWS\system32\cmd.exe
CUDA_CACHE_MAXSIZE=268435456
DokanLibrary1=C:\Program Files\Dokan\Dokan Library-1.5.1\
DokanLibrary1_LibraryPath_x64=C:\Program Files\Dokan\Dokan Library-1.5.1\lib\
DokanLibrary1_LibraryPath_x86=C:\Program Files\Dokan\Dokan Library-1.5.1\x86\lib\
DriverData=C:\Windows\System32\Drivers\DriverData
edgedriverpath=G:\Cache\Downloads\msedgedriver.exe
EFC_10852=1
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default
HIP_PATH=C:\Program Files\AMD\ROCm\5.7\
HIP_PATH_57=C:\Program Files\AMD\ROCm\5.7\
HIP_VISIBLE_DEVICES=1
HOMEDRIVE=C:
HOMEPATH=\Users\Gamination
INTEL_DEV_REDIST=C:\Program Files (x86)\Common Files\Intel\Shared Libraries\
KEYSHOT12=C:\Users\Gamination\Documents\KeyShot 12
LOCALAPPDATA=C:\Users\Gamination\AppData\Local
LOGONSERVER=\\KGLAPTOP
NUMBER_OF_PROCESSORS=12
OneDrive=C:\Users\Gamination\OneDrive
OPCODE6DIR64=D:\Csound6_x64\plugins64\
OS=Windows_NT
Path=C:\Program Files\ImageMagick-7.1.1-Q16-HDRI;C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64_win\compiler;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files\SlikSvn\bin;C:\Program Files (x86)\GnuWin32\bin;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files (x86)\Common Files\Autodesk Shared\;C:\Program Files\Process Lasso\;D:\Csound6_x64\bin;C:\ProgramData\chocolatey\bin;F:\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\Git\cmd;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Autodesk\Backburner\;C:\Program Files\AMD\ROCm\5.7\bin;D:\AI\StableDiffusion\sd-test\zluda-test\zluda;C:\Program Files\CMake\bin;C:\Users\Gamination\.cargo\bin;C:\Users\Gamination\AppData\Local\Programs\Python\Python310\Scripts\;C:\Users\Gamination\AppData\Local\Programs\Python\Python310\;C:\Users\Gamination\AppData\Local\Programs\Python\Python37\Scripts\;C:\Users\Gamination\AppData\Local\Programs\Python\Python37\;D:\Python\Scripts\;D:\Python\;C:\Users\Gamination\AppData\Local\Microsoft\WindowsApps;D:\Microsoft VS Code\bin;C:\Program Files\nodejs\;C:\Program Files\MKVToolNix;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 23 Model 96 Stepping 1, AuthenticAMD
PROCESSOR_LEVEL=23
PROCESSOR_REVISION=6001
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
PYTHONPATH=D:\Csound6_x64\bin\;
RAWWAVE_PATH=D:\Csound6_x64\samples\
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\GAMINA~1\AppData\Local\Temp
TMP=C:\Users\GAMINA~1\AppData\Local\Temp
USERDOMAIN=KGLaptop
USERDOMAIN_ROAMINGPROFILE=KGLaptop
USERNAME=Gamination
USERPROFILE=C:\Users\Gamination
VBOX_HWVIRTEX_IGNORE_SVM_IN_USE=1
VRAY5_FOR_3DSMAX2021_MAIN=D:\VRay/bin
VRAY5_FOR_3DSMAX2021_PLUGINS=D:\VRay/bin/plugins
VRAY_GPU_PLATFORMS=c++/cpu;
VRAY_MDL_PATH_3DSMAX2021=D:\VRay\mdl
VRAY_OSL_PATH_3DSMAX2021=D:\VRay\opensl
VRAY_SEND_FEEDBACK=0
windir=C:\WINDOWS
__PSLockDownPolicy=0

C:\Users\Gamination>

image image

I have checked the https://github.com/vosen/ZLUDA/blob/master/TROUBLESHOOTING.md but to no avail.

vosen commented 6 months ago

If you have more than a single GPU a CUDA (or any HIP or OpenCL or anything else) must choose which GPU to use. On CUDA it's easy for an application because CUDA sorts the GPUs so the first one is the fastest. Most single-GPU CUDA applications will use the first GPU. HIP and by extension ZLUDA does not order the GPUs and sometimes the first one will be integrated GPU.

If you are using an application that is multi-GPU aware and allows you to select the GPU you don't have to do anything. If it happens that HIP sorts your GPUs so that dedicated GPU is the first one you don't have to do anything.

HIP_VISIBLE_DEVICES=1 makes it so that only the second device is visible (indexing starts at 0 here). If hiding the first GPU with HIP_VISIBLE_DEVICES=1 leaves you with just the integrated GPU then I recommend removing HIP_VISIBLE_DEVICES=1 and doing nothing

Gamination commented 6 months ago

removing HIP_VISIBLE_DEVICES=1 also gives same result as if HIP_VISIBLE_DEVICES=1 was still enabled

vosen commented 6 months ago

That shouldn't happen. In the HIP tab in blender can you see both integrated and dedicated GPU?

Gamination commented 6 months ago

Normally without ZLUDA I can see both dedicated GPU and integrated GPU but with ZLUDA, only integrated graphics are recognized

vosen commented 5 months ago

Extremally weird and I have no idea why it'd be so. I can only suggest double checking with Sysinternals Process Explorer if the process in question doesn't get HIP_VISIBLE_DEVICES set from some other source

ayttop commented 1 month ago

what name of program in image?