-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compile v2.1 on windows with vs2019 and cuda11.3 #281
base: main
Are you sure you want to change the base?
Conversation
Thanks a lot for your great work @initialneil ! |
@jeanfeydy No problems. I'm happy to help. Thanks for the great work. |
I have just tried this code with VS2022 and although the setup scripts run without issue, running the test results in the following rather unhelpful error. This is with python 3.10 on Windows 11.
|
|
Windows 11, VS2022, Python 3.9, Cuda 11.6
However, the GeomLoss I need works. |
Hi guys and thank you very much for your great job! I would be really eager to try keops on my windows computer, but I am stuck on the following Problem: No way for me to find the vcvars64.bat file for VS Code. Would you have a suggestion for me? Maybe a smart way to look for it? Thank you very much! |
@TanCari Hi, the vcvars64.bat file come with Visual Studio, not VSCode. |
|
Hello, In keops\keopscore\config.py, you have a function
Above code is adding an extra 0 to the cudart64 file which does not align with higher cuda versions? Change to code below and it will work. @JurinJC
then it would proceed and find the right file, but I still encounter an error after it; Same error as @artths [KeOps] error: cuMemcpyDtoH(out, (CUdeviceptr) out_d, sizeof(TYPE) * sizeout) failed with error CUDA_ERROR_INVALID_VALUE Found a solution to it? |
The original code manually call gcc to compile the code JIT. I've changed the compiling tool to cmake+ninja on windows. All changes are wrapped with
os.name == 'nt'
to be compatible.To use the code:
set
VCVARS64
to thevcvars64.bat
file of your Visual Studio. Must do, because there's no other way to find your VS.Do not add
"
in the variablemake sure
cmake
is available.make sure
pytorch
is available.clone the repo
keopscore
andpykeops
. Must usedevelop
mode.test
to check bindingsJIT files will be generated and copied to
C:\Users\Admin\.cache\keops2.1\build
CUDA Error
, please delete all files inC:\Users\Admin\.cache\keops2.1\build
and use step 6 again to regenerate the JIT files. Do not runpykeops.test_numpy_bindings()
inkeopscore
orpykeops
folders.PS: About the change
torch.version.cuda
to be compatible with any CUDA version.cmd
andpowershell
.long
to pybind is not supported on windows (raise type error), changed totuple
.long
is not supported either, changed toint64_t
.int[]
of dynamic size is not supported (not likegcc
does), changed tovector<int>
.