Masayuki Takagi
Masayuki Takagi
I did not try cl-cuda on Windows, but I suppose that if you could satisfy the following points, cl-cuda would run on Windows even natively without MSYS/MinGW help. How about...
Cupy https://github.com/pfnet/chainer/tree/master/cupy does the almost same thing with cl-cuda in Python, generating CUDA C codes, compiling them with NVCC and launching kernels, and it works on Windows as well, so...
This https://developer.nvidia.com/cuda-faq says that needed to use the driver API is "nvcuda.dll" and it is included as part of the standard NVIDIA driver install. Would you find it in Windows...
Okay, then you should be able to load cl-cuda with nvcuda.dll. ``` (ql:quickload :cl-cuda) ``` Please set `*nvcc-binary*` to the path to NVCC compiler and try to run some sample...
Ah... grovel... I missed you mentioned first with nvcc. While I will think of some working around, how did you failed on MSYS2/MinGW64 at frist? > but apparently the CUDA...
Is it possible to call nvcuda.dll from SBCL on MinGW? - Running NVCC on commaond line. - Running external commands from Common Lisp. - Calling libcuda.dll via CFFI. - Groveling...
I suppose that MinGW has a feature to call DLLs as well as GNU libraries, though not familiar with its calling convension.
What does gcc return if directly executed? You would be able to find some error messages. ``` gcc -m64 -o C:\Users\jaccarmac\AppData\Local\cache\common-lisp\sbcl-1.3.6-win-x64\C\Users\jaccarmac\software\quicklisp\local-projects\cl-cuda\src\driver-api\type-grovel__grovel-tmpGHU3ALSV.exe -IC:/Users/jaccarmac/software/quicklisp/dists/quicklisp/software/cffi_0.17.1/ C:\Users\jaccarmac\AppData\Local\cache\common-lisp\sbcl-1.3.6-win-x64\C\Users\jaccarmac\software\quicklisp\local-projects\cl-cuda\src\driver-api\type-grovel__grovel.c ```
You do not have the path `C:\Users\jaccarmac\AppData\Local\cache\common-lisp\sbcl-1.3.6-win-x64\C\`? Or isn't it because of escape sequences, how about this? ``` gcc -m64 -o C:\\Users\\jaccarmac\\AppData\\Local\\cache\\common-lisp\\sbcl-1.3.6-win-x64\\C\\Users\\jaccarmac\\software\\quicklisp\\local-projects\\cl-cuda\\src\\driver-api\\type-grovel__grovel-tmpGHU3ALSV.exe -IC:/Users/jaccarmac/software/quicklisp/dists/quicklisp/software/cffi_0.17.1/ C:\\Users\\jaccarmac\\AppData\\Local\\cache\\common-lisp\\sbcl-1.3.6-win-x64\\C\\Users\\jaccarmac\\software\\quicklisp\\local-projects\\cl-cuda\\src\\driver-api\\type-grovel__grovel.c ```
Please add the path to `cuda.h` to environment variable `C_INCLUDE_PATH`. Do you find `cuda.h` on your environment?