-
Notifications
You must be signed in to change notification settings - Fork 222
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
Problem compiling mexGPUall #220
Comments
Looks like it's compiling some of the mex files but failing on the third one. For now, go into mexGPUall and set enableStableMode = 0. @jenniferColonell any idea why this is not compiling? |
I am not sure what the issue is. If you try the compile with enableStableMode = 1 and verbose turned on, MATLAB will display more details and we might be able to diagnose the problem. You'll need to edit the line in mexGPUall.m: mexcuda -v -largeArrayDims -dynamic -DENABLE_STABLEMODE mexMPnu8.cu |
Here is the output when I compile with verbose on:
If I set set enableStableMode = 0, then it all complies and I am able to run Kilosort without issues. |
Thanks for posting the verbose output! The issue is that one of the object files in the compile gets automatically named using the system time string: On Windows systems using US date/time formats, this will yield a string with only periods, but no commas, e.g. On Windows systems using European (and possibly other) formats, commas are inserted into the string -- but commas are not actually allowed in file names, and the file name gets misinterpreted as a compile parameter. We've run into this problem before, specifically when trying to compile using the -dynamic switch. Apparently the standard compile doesn't require that object file to be made. If you want to be able to run KS2 deterministically on your laptop, you can temporarily change the "Regional Format" to [English (United States)], run the compile, and then switch back. Running without 'ENABLE_STABLE_MODE' simply means that KS2 will return somewhat different results each time it is run. This can make parameter optimization tricky, because you need to run a few times to see whether a change is within the normal run to run variation. |
Thank you very much for your help! That solution worked great. |
Hello,
I am trying to install Kilosort2 on my new laptop but I am running into problems. I installed Matlab 2020a and CUDA11 (it was the only version which allowed for CUDA to recognize my GPU). I used both Visual Studio 2015 and 2019, but always getting the same problem.
When I run mexGPUall I get the following output:
When I run: gpuDevice(1) I get following:
CUDADevice with properties:
When I run those commands:
gpuEnvObj = coder.gpuEnvConfig;
I guess that would mean that CUDA and GPU are compatible, yet I cannot compile the mex file.
I also previously installed Kilosort2 on different pc, with Matlab 2019b and CUDA10.1 with Visual Studio 2015, I tried the same configuration on my current laptop, but in that case CUDA was failing to recognized my GPU and I was able to fix it only by installing CUDA11.
Does someone have an idea how to solve this issue?
Thank you in advance!
The text was updated successfully, but these errors were encountered: