Hey folks, I’m hoping I can get some help from you all on compiling my model with OpenCL. This problem is, I suspect, mostly a Windows thing, and maybe not necessarily a Stan thing, but I figured I’d ask in case people here have dealt with it.
I am mostly a Linux person and don’t usually muck about with Windows, but my work laptop is Windows and thus requires some struggle-bus riding.
My cmdstan version is
2.31.0 and my R version is
My linker does not seem to be able to locate the OpenCL libraries, despite them being in
-a--- 12/7/2019 1:08 AM 113152 onexui.dll -a--- 12/7/2019 1:08 AM 2832 onnxruntime.dll -a--- 9/21/2022 2:47 PM 2191360 OpcServices.dll -a--- 6/15/2022 4:45 AM 1467080 OpenCL.dll # It's here! -a--- 12/7/2019 1:09 AM 75776 openfiles.exe -a--- 11/14/2022 10:36 AM 1061888 opengl32.dll -a--- 4/9/2021 6:48 AM 123984 OpenWith.exe -a--- 2/7/2022 1:56 PM 135376 Optane.dll
It is listed as available under drivers for both my processor and my GPU.
When I try to compile a model with the following code:
# Set environment variables Sys.setenv(STAN_THREADS=TRUE) Sys.setenv(STAN_OPENCL=TRUE) dgp_model = cmdstanr::cmdstan_model( model_path, force_recompile=TRUE, cpp_options = list( stan_threads = TRUE, "O", stan_opencl = TRUE ) )
I receive the error
C:/rtools42/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe : cannot find -lOpenCL: No such file or directory collect2.exe: error: ld returned 1 exit status mingw32-make: *** [make/program:59: C:\Users\cpfiffer\AppData\Local\Temp\Rtmp6VULct\model-882c4f7b710d.exe] Error 1
Anyone got the tip here? I’m sure it’s quite simple but I don’t often develop in Windows.