Code 46 Error Device unreachable

Hello, I’m trying to install CUDA on Windows 10 20231.1
**$ cat /proc/version **
gives me: Linux version 4.19.128-microsoft-standard (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Tue Jun 23 12:58:10 UTC 2020
So I’m sure the configuration should be able to run CUDA.
Also the deviceQuery example works with the following output:
./deviceQuery Starting…

** CUDA Device Query (Runtime API) version (CUDART static linking)**

Detected 1 CUDA Capable device(s)

Device 0: "GeForce RTX 2080 Ti"
** CUDA Driver Version / Runtime Version 11.2 / 11.1**
** CUDA Capability Major/Minor version number: 7.5**
** Total amount of global memory: 11264 MBytes (11811160064 bytes)**
** (68) Multiprocessors, ( 64) CUDA Cores/MP: 4352 CUDA Cores**
** GPU Max Clock rate: 1545 MHz (1.54 GHz)**
** Memory Clock rate: 7000 Mhz**
** Memory Bus Width: 352-bit**
** L2 Cache Size: 5767168 bytes**
** Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)**
** Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers**
** Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers**
** Total amount of constant memory: 65536 bytes**
** Total amount of shared memory per block: 49152 bytes**
** Total shared memory per multiprocessor: 65536 bytes**
** Total number of registers available per block: 65536**
** Warp size: 32**
** Maximum number of threads per multiprocessor: 1024**
** Maximum number of threads per block: 1024**
** Max dimension size of a thread block (x,y,z): (1024, 1024, 64)**
** Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)**
** Maximum memory pitch: 2147483647 bytes**
** Texture alignment: 512 bytes**
** Concurrent copy and kernel execution: Yes with 2 copy engine(s)**
** Run time limit on kernels: Yes**
** Integrated GPU sharing Host Memory: No**
** Support host page-locked memory mapping: Yes**
** Alignment requirement for Surfaces: Yes**
** Device has ECC support: Disabled**
** Device supports Unified Addressing (UVA): Yes**
** Device supports Managed Memory: Yes**
** Device supports Compute Preemption: Yes**
** Supports Cooperative Kernel Launch: Yes**
** Supports MultiDevice Co-op Kernel Launch: Yes**
** Device PCI Domain ID / Bus ID / location ID: 0 / 9 / 0**
** Compute Mode:**
** < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >**

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 11.2, CUDA Runtime Version = 11.1, NumDevs = 1
Result = PASS

But any other example I try to run like ./BlackScholes outputs:
[./BlackScholes] - Starting…
GPU Device 0: “Turing” with compute capability 7.5

Initializing data…
…allocating CPU memory for options.
…allocating GPU memory for options.
**CUDA error at BlackScholes.cu:116 code=46(cudaErrorDevicesUnavailable) "cudaMalloc((void )&d_CallResult, OPT_SZ)"

Any help is appreciated.

It’s a WSL2 bug since build 20226. https://github.com/microsoft/WSL/issues/6014

If you can’t rollback to an earlier insider build like 20221 then you will need to wait for the fixed build in 2~3 weeks.

any updates ? there does not appear to be a way to go to 20221 ATM

1 Like

Only way to downgrade is clean install. Build 20201 should be a good stop and you can get the official ISO from https://tb.32767.ga/get.php?id=1727

Jesus fucking christ fucking hell WSL and Nvidia is super frustrating

Hello bro I have the same windows with RTX 2070 setting up CUDA is an absolute nightmare

Thank you for your fast reply. Would be so cool to have a centralized page for this…

2 Likes

I was looking though the Github issues seems this is a major reason why many are failing to install Nvidai-Docker on WSL2 they say fix is incoming since 2026 Let’s hope a fix is issued :((

2 Likes