Problem running OptiX 7.6 in WSL

Hi,

I’m having a problem executing any OptiX 7.6 code in WSL, Ubuntu 22.04 LTS. Any examples, from the SDK, optix7course, or the OptiX_Apps, all result in error code 7805, OPTIX_ERROR_ENTRY_SYMBOL_NOT_FOUND.

The only hint I have is that, by modifying the intro_driver example in Optix_Apps, I get an error message from dlerror() after attempting dlsym() to get optixQueryFunctionTable. This error is “/usr/lib/wsl/drivers/nvdmig.inf_amd64_f1f00df48246f9a3/libnvoptix.so.1: cannot open shared object file: No such file or directory”

It’s true that the libnvoptix.so.1 isn’t in this directory, and is in /usr/lib/wsl/lib/. Changing the string argument to dlsym() does result in the expected “no such symbol” kind of error, so it is getting the file.

This is on a completely clean WSL 2 Ubuntu, with Windows drivers fully updated, with CUDA and OptiX 7.6 installed from the WSL Ubuntu versions (CUDA via runtime file instead of deb, since deb didn’t include NVCC).

Anyone have any ideas on what’s going on?

Thanks!
J

nvidia-smi output

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 527.92.01    Driver Version: 528.02       CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0  On |                  N/A |
| N/A   45C    P8    18W / 139W |   1188MiB /  8192MiB |      4%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

Hi @james.burkert, welcome!

Apologies, but OptiX is not yet included in the WSL driver component, so it is not expected to work. Do you have a native Windows or Linux environment you can continue development in? We hope this can be done soon, as I know there are others interested and waiting.


David.

Aww shucks, somehow I didn’t get that from the docs. Yep, I’ll just use a different dev environment.

Thanks,
J

I’ve encountered the same issue. My employer wants us to user company machines (Windows), but I can’t get libnvoptix.so in WSL yet, not even in the development docker container I use. If the driver libnvoptix.so libraries are missing from the host (WSL) then they don’t get mapped into the container.

Hi @adzngjeagf, our recommendation for the time being is to make sure the native (non-WSL) Windows drivers are installed, and rely on those to build a non-WSL specific app. We don’t have a lot of experience with OptiX in Docker containers, but I’ve heard multiple reports of people having success with the native drivers on Docker.


David.

1 Like

Sorry I’ve been cut off from this account due to the 2FA setup with an inaccessible email address. Thanks for the reply.

I’m just not accustomed to using Windows for HPC things like this. My current setup is in a development container that I just run on Docker CE for Ubuntu 22.04 using the CUDA+CUDNN 12.0 image from DockerHub. I have to add the environment variable -e NVIDIA_DRIVER_CAPABILITIES=all and everything works.

I map in the Xauth and can do all the display from inside too. Now that the new WSL 22.04 has Xwayland built-in it would be pretty fabulous to get support in Docker for Windows too. Fingers crossed.