MouseLand / Kilosort

Fast spike sorting with drift correction for up to a thousand channels
https://kilosort.readthedocs.io/en/latest/
GNU General Public License v3.0
464 stars 240 forks source link

Installation Issue #456

Closed nindshoucs closed 7 months ago

nindshoucs commented 2 years ago

I am not familiar with CUDA and GPU. Here is what I have and the error I got. Hopefully, I can get a hint to go further. MATLAB 2021a Visual Studio Community 2019

gpuDevice

ans =

CUDADevice with properties:

                  Name: 'NVIDIA GeForce GTX 1650 with Max-Q Design'
                 Index: 1
     ComputeCapability: '7.5'
         DriverVersion: 11.5000
        ToolkitVersion: 11
    MaxThreadsPerBlock: 1024
      MaxShmemPerBlock: 49152
    MaxThreadBlockSize: [1024 1024 64]
           MaxGridSize: [2.1475e+09 65535 65535]
             SIMDWidth: 32
           TotalMemory: 4.2947e+09
       AvailableMemory: 3.3365e+09
   MultiprocessorCount: 16
          ClockRateKHz: 1245000
           ComputeMode: 'Default'
  GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
      CanMapHostMemory: 1
       DeviceSupported: 1
       DeviceAvailable: 1
        DeviceSelected: 1

mex -setup MEX configured to use 'Microsoft Visual C++ 2019 (C)' for C language compilation.

The error I have. Please let me know how do I continue

mexGPUall Warning: The selected C++ compiler is not supported for CUDA compilation. Searching for a supported compiler. In mexcuda (line 96) In mexGPUall (line 7) Building with 'NVIDIA CUDA Compiler'. MEX completed successfully. Warning: The selected C++ compiler is not supported for CUDA compilation. Searching for a supported compiler. In mexcuda (line 96) In mexGPUall (line 8) Building with 'NVIDIA CUDA Compiler'. MEX completed successfully. Warning: The selected C++ compiler is not supported for CUDA compilation. Searching for a supported compiler. In mexcuda (line 96) In mexGPUall (line 9) Building with 'NVIDIA CUDA Compiler'. Error using mex Microsoft (R) Manifest Tool

Copyright (c) Microsoft Corporation.

All rights reserved.

mt : general error c101008d: Failed to write the updated manifest to the resource of file "mexThSpkPC.mexw64". Access is denied.

Error in mexcuda (line 168) [varargout{1:nargout}] = mex(mexArguments{:});

Error in mexGPUall (line 9) mexcuda -largeArrayDims mexThSpkPC.cu

nindshoucs commented 2 years ago

After install MATLAB 2020b. The CUDA support compatibility was resolved but the Access is denied still exist.

mexGPUall Building with 'NVIDIA CUDA Compiler'. Error using mex Microsoft (R) Manifest Tool

Copyright (c) Microsoft Corporation.

All rights reserved.

mt : general error c101008d: Failed to write the updated manifest to the resource of file "spikedetector3.mexw64". Access is denied.

Error in mexcuda (line 166) [varargout{1:nargout}] = mex(mexArguments{:});

Error in mexGPUall (line 7) mexcuda -largeArrayDims spikedetector3.cu

nindshoucs commented 2 years ago

It looks like it is anti-virus software to block the file creation. Our software used is Cylance. The setup is finished now. Waiting for user to try. Turn anti-virus back on. Hope it works.

hpay commented 2 years ago

In case this helps anyone else: I had the same error described in the second comment above (general error c101008d). I disabled Windows Defender, no luck. We have MalwareBytes installed via the network such that I can't disable it without calling in an administrator. However, the compilation failed on a different file each time... so I was able to eventually compile all the files by commenting out the ones in mexGPUall.m that had already succeeded. As I understand it (also new to CUDA and GPUs), the files ending in *.mexw64 (at least for windows) are successfully compiled.

Info: Matlab 2021a, Visual Studio 2019 community, CUDA toolkit 11.0. Trying to install Kilosort2

Here is an example of the output I saw:


>> mexGPUall
Trying MEX options 'C:\Program Files\MATLAB\R2021a\toolbox\parallel\gpu\extern\src\mex\win64\nvcc_msvcpp2019.xml'...SUCCESS
mex -largeArrayDims -f C:\Program Files\MATLAB\R2021a\toolbox\parallel\gpu\extern\src\mex\win64\nvcc_msvcpp2019.xml NVCC_FLAGS="" -v -largeArrayDims mexThSpkPC.cu 
Verbose mode is on.
... Looking for compiler 'NVIDIA CUDA Compiler' ...
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Enterprise -property installationPath -format value' ...No.
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Professional -property installationPath -format value' ...No.
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Community -property installationPath -format value' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio\2019\Community').
... Executing command 'set "vcroot=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"&for /f "delims= " %a in ('type "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt"') do @if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\%a\bin\HostX64\x64\cl.exe" call echo %vcroot%' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio\2019\Community').
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0' InstallationFolder ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0' InstallationFolder ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0' InstallationFolder ...Yes ('C:\Program Files (x86)\Windows Kits\10\').
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Enterprise -property installationPath -format value' ...No.
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Professional -property installationPath -format value' ...No.
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Community -property installationPath -format value' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio\2019\Community').
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Enterprise -property installationPath -format value' ...No.
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Professional -property installationPath -format value' ...No.
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Community -property installationPath -format value' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio\2019\Community').
... Executing command 'set "vcroot=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"&for /f "delims= " %a in ('type "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt"') do @if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\%a\bin\HostX64\x64\cl.exe" call echo %vcroot%\VC\Tools\MSVC\%a' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133').
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Enterprise -property installationPath -format value' ...No.
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Professional -property installationPath -format value' ...No.
... Looking for environment variable 'ProgramFiles(x86)' ...Yes ('C:\Program Files (x86)').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' ...Yes.
... Executing command '"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -products Microsoft.VisualStudio.Product.Community -property installationPath -format value' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio\2019\Community').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat' ...Yes.
... Looking for folder 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build' ...Yes.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows Kits\Installed Roots' KitsRoot10 ...Yes ('C:\Program Files (x86)\Windows Kits\10\').
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows Kits\Installed Roots' KitsRoot10 ...Yes ('C:\Program Files (x86)\Windows Kits\10\').
... Executing command 'echo off&set "sdkversion="&(for /f %a IN ('dir "C:\Program Files (x86)\Windows Kits\10\include\" /b /ad-h /on') do ( @if exist "C:\Program Files (x86)\Windows Kits\10\include\%a\ucrt\" set "sdkversion=%a" ))&call echo %sdkversion%' ...Yes ('10.0.19041.0').
... Looking for environment variable 'MW_NVCC_PATH' ...No.
... Looking for environment variable 'CUDA_LIB_PATH' ...No.
... Looking for environment variable 'CUDA_PATH' ...Yes ('C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1').
... Looking for file 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64\cudart.lib' ...Yes.
... Looking for folder 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64' ...Yes.
... Executing command '(IF DEFINED MW_ALLOW_ANY_CUDA ( true )  ELSE ( false )) > NUL && echo C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64' ...No.
... Executing command '$$\bin\nvcc --version | findstr /c:"release 11 " > NUL && echo $$' ...No.
... Looking for environment variable 'MW_NVCC_PATH' ...No.
... Looking for environment variable 'CUDA_LIB_PATH' ...No.
... Looking for environment variable 'CUDA_PATH' ...Yes ('C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1').
... Looking for file 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64\cudart.lib' ...Yes.
... Looking for folder 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64' ...Yes.
... Executing command '(IF DEFINED MW_ALLOW_ANY_CUDA ( true )  ELSE ( false )) > NUL && echo C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64' ...No.
... Executing command '"$$\bin\nvcc" --version | findstr /c:"release 11 " > NUL && echo $$' ...No.
... Looking for file 'C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\lib\x64\cudart.lib' ...Yes.
... Looking for folder 'C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\lib\x64' ...Yes.
... Looking for environment variable 'MW_NVCC_PATH' ...No.
... Looking for environment variable 'CUDA_BIN_PATH' ...No.
... Looking for environment variable 'CUDA_PATH' ...Yes ('C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1').
... Looking for file 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc.exe' ...Yes.
... Looking for folder 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1' ...Yes.
... Executing command '(IF DEFINED MW_ALLOW_ANY_CUDA ( true )  ELSE ( false )) > NUL && echo C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1' ...No.
... Executing command '$$\bin\nvcc --version | findstr /c:"release 11 " > NUL && echo $$' ...No.
... Looking for environment variable 'MW_NVCC_PATH' ...No.
... Looking for environment variable 'CUDA_BIN_PATH' ...No.
... Looking for environment variable 'CUDA_PATH' ...Yes ('C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1').
... Looking for file 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc.exe' ...Yes.
... Looking for folder 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1' ...Yes.
... Executing command '(IF DEFINED MW_ALLOW_ANY_CUDA ( true )  ELSE ( false )) > NUL && echo C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1' ...No.
... Executing command '"$$\bin\nvcc" --version | findstr /c:"release 11 " > NUL && echo $$' ...No.
... Looking for file 'C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\bin\nvcc.exe' ...Yes.
... Looking for folder 'C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda' ...Yes.
... Looking for folder 'C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda' ...Yes.
... Looking for environment variable 'MW_NVCC_PATH' ...No.
... Looking for environment variable 'CUDA_BIN_PATH' ...No.
... Looking for environment variable 'CUDA_PATH' ...Yes ('C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1').
... Looking for file 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc.exe' ...Yes.
... Looking for folder 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\nvvm\libdevice' ...Yes.
... Executing command '(IF DEFINED MW_ALLOW_ANY_CUDA ( true )  ELSE ( false )) > NUL && echo C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\nvvm\libdevice' ...No.
... Executing command '$$\bin\nvcc --version | findstr /c:"release 11 " > NUL && echo $$' ...No.
... Looking for environment variable 'MW_NVCC_PATH' ...No.
... Looking for environment variable 'CUDA_BIN_PATH' ...No.
... Looking for environment variable 'CUDA_PATH' ...Yes ('C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1').
... Looking for file 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc.exe' ...Yes.
... Looking for folder 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\nvvm\libdevice' ...Yes.
... Executing command '(IF DEFINED MW_ALLOW_ANY_CUDA ( true )  ELSE ( false )) > NUL && echo C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\nvvm\libdevice' ...No.
... Executing command '"$$\bin\nvcc" --version | findstr /c:"release 11 " > NUL && echo $$' ...No.
... Looking for file 'C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\bin\nvcc.exe' ...Yes.
... Looking for folder 'C:\Program Files\MATLAB\R2021a\bin\win64' ...Yes.
... Looking for folder 'C:\Program Files\MATLAB\R2021a\bin\win64' ...Yes.
Found installed compiler 'NVIDIA CUDA Compiler'.
Set PATH = C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\nvvm\bin;C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\bin;C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\lib\x64\..;C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda;C:\Program Files\MATLAB\R2021a\bin\win64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\vcpackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools;C:\Program Files (x86)\Windows Kits\10\\Bin\10.0.19041.0\x64;C:\Program Files (x86)\Windows Kits\10\\Bin\10.0.19041.0\x86;C:\Program Files (x86)\Windows Kits\10\\Bin\x64;C:\Program Files (x86)\Windows Kits\10\\Bin\x86;;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\libnvvp;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\MATLAB\R2021b\bin;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\NVIDIA Corporation\Nsight Compute 2019.4.0\;C:\Program Files\MATLAB\R2021a\bin;C:\Users\CUDAtest\AppData\Local\Microsoft\WindowsApps;
Set INCLUDE = C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\atlmfc\include;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\winrt;C:\Program Files\MATLAB\R2021a\extern\include;C:\Program Files\MATLAB\R2021a\toolbox\parallel\gpu\extern\include;C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\atlmfc\include;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\winrt;C:\Program Files\MATLAB\R2021a\extern\include;C:\Program Files\MATLAB\R2021a\toolbox\parallel\gpu\extern\include;
Set LIB = C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x64;C:\Program Files (x86)\Windows Kits\10\\Lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\\lib\10.0.19041.0\um\x64;C:\Program Files\MATLAB\R2021a\lib\win64;C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\lib\x64\..;C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x64;C:\Program Files (x86)\Windows Kits\10\\Lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\\lib\10.0.19041.0\um\x64;C:\Program Files\MATLAB\R2021a\lib\win64;C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\lib\x64\..;C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\lib\x64;
Set LIBPATH = C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\atlmfc\lib\x64;
Options file details
-------------------------------------------------------------------
    Compiler location: C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\bin\nvcc.exe
    Options file: C:\Program Files\MATLAB\R2021a\toolbox\parallel\gpu\extern\src\mex\win64\nvcc_msvcpp2019.xml
    CMDLINE200 : link /nologo /manifest  /DLL  /EXPORT:mexFunction /EXPORT:mexfilerequiredapiversion C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\mexThSpkPC.obj C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\c_mexapi_version.obj  /LIBPATH:"C:\Program Files\MATLAB\R2021a\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib gpu.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libMatlabDataArray.lib libMatlabEngine.lib /out:mexThSpkPC.mexw64
    CMDLINE250 : mt -outputresource:mexThSpkPC.mexw64;2 -manifest "mexThSpkPC.mexw64.manifest"
    CMDLINE300 : del "mexThSpkPC.exp" "mexThSpkPC.lib" "mexThSpkPC.mexw64.manifest" "mexThSpkPC.ilk"
    COMPILER : nvcc
    COMPFLAGS : --compiler-options=/Zp8,/GR,/W3,/EHs,/nologo,/MD -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_80,code=\"sm_80,compute_80\"  --dont-use-profile -ldir "C:\Program Files\MATLAB\R2021a\bin\win64"
    NVCCFLAGS : -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_80,code=\"sm_80,compute_80\"
    COMPDEFINES : --compiler-options=/DMX_COMPAT_64  --compiler-options=/DMATLAB_DEFAULT_RELEASE=R2017b  --compiler-options=/DUSE_MEX_CMD   --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE
    MATLABMEX : /DMATLAB_MEX_FILE
    OPTIMFLAGS : --compiler-options=/O2,/Oy-,/DNDEBUG
    INCLUDE : -I"C:\Program Files\MATLAB\R2021a\extern\include" -I"C:\Program Files\MATLAB\R2021a\simulink\include" -I"C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\include"
    DEBUGFLAGS : --compiler-options=/Z7
    LINKER : link
    LINKFLAGS : /nologo /manifest 
    LINKTYPE : /DLL
    LINKEXPORT : /EXPORT:mexFunction
    LINKEXPORTVER : /EXPORT:mexFunction /EXPORT:mexfilerequiredapiversion
    LINKLIBS : /LIBPATH:"C:\Program Files\MATLAB\R2021a\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib gpu.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libMatlabDataArray.lib libMatlabEngine.lib
    NVVMIR_LIBRARY : --dont-use-profile -ldir "C:\Program Files\MATLAB\R2021a\bin\win64"
    LINKDEBUGFLAGS : /debug /PDB:"mexThSpkPC.mexw64.pdb"
    LINKOPTIMFLAGS : 
    OBJEXT : .obj
    LDEXT : .mexw64
    SETENV : set COMPILER=nvcc
        set COMPFLAGS=/c --compiler-options=/Zp8,/GR,/W3,/EHs,/nologo,/MD -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_80,code=\"sm_80,compute_80\"  --dont-use-profile -ldir "C:\Program Files\MATLAB\R2021a\bin\win64" --compiler-options=/DMX_COMPAT_64  --compiler-options=/DMATLAB_DEFAULT_RELEASE=R2017b  --compiler-options=/DUSE_MEX_CMD   --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE /DMATLAB_MEX_FILE
        set OPTIMFLAGS=--compiler-options=/O2,/Oy-,/DNDEBUG
        set DEBUGFLAGS=--compiler-options=/Z7
        set LINKER=link
        set LINKFLAGS=/nologo /manifest  /export:%ENTRYPOINT% /DLL /LIBPATH:"C:\Program Files\MATLAB\R2021a\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib gpu.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libMatlabDataArray.lib libMatlabEngine.lib /EXPORT:mexFunction
        set LINKDEBUGFLAGS=/debug /PDB:"%OUTDIR%%MEX_NAME%.mexw64.pdb"
        set NAME_OUTPUT=/out:"%OUTDIR%%MEX_NAME%%MEX_EXT%"
    VCROOT : C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    SDKROOT : C:\Program Files (x86)\Windows Kits\10\
    VSINSTALLDIR : C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    VCINSTALLDIR : C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133
    VCVARSALLDIR : C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build
    KITSROOT : C:\Program Files (x86)\Windows Kits\10\
    SDKVERSION : 10.0.19041.0
    CUDA_LIB_PATH : C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\lib\x64
    CUDA_ROOT : C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda
    LIBDEVICE : C:\Program Files\MATLAB\R2021a\bin\win64
    MATLABROOT : C:\Program Files\MATLAB\R2021a
    ARCH : win64
    SRC : "D:\hannah\Dropbox\alab\Code\Kilosort2\CUDA\mexThSpkPC.cu";"C:\Program Files\MATLAB\R2021a\extern\version\c_mexapi_version.c"
    OBJ : C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\mexThSpkPC.obj;C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\c_mexapi_version.obj
    OBJS : C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\mexThSpkPC.obj C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\c_mexapi_version.obj 
    SRCROOT : D:\hannah\Dropbox\alab\Code\Kilosort2\CUDA\mexThSpkPC
    DEF : C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\mexThSpkPC.def
    EXP : "mexThSpkPC.exp"
    LIB : "mexThSpkPC.lib"
    EXE : mexThSpkPC.mexw64
    ILK : "mexThSpkPC.ilk"
    MANIFEST : "mexThSpkPC.mexw64.manifest"
    TEMPNAME : mexThSpkPC
    EXEDIR : 
    EXENAME : mexThSpkPC
    NVCC_FLAGS : 
    OPTIM : --compiler-options=/O2,/Oy-,/DNDEBUG
    LINKOPTIM : 
    CMDLINE100_0 : nvcc -c --compiler-options=/Zp8,/GR,/W3,/EHs,/nologo,/MD -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_80,code=\"sm_80,compute_80\"  --dont-use-profile -ldir "C:\Program Files\MATLAB\R2021a\bin\win64" --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/DMX_COMPAT_64  --compiler-options=/DMATLAB_DEFAULT_RELEASE=R2017b  --compiler-options=/DUSE_MEX_CMD   --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\Program Files\MATLAB\R2021a\extern\include" -I"C:\Program Files\MATLAB\R2021a\simulink\include" -I"C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\include" "D:\hannah\Dropbox\alab\Code\Kilosort2\CUDA\mexThSpkPC.cu" -o C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\mexThSpkPC.obj && echo /Fo > NUL
    CMDLINE100_1 : nvcc -c --compiler-options=/Zp8,/GR,/W3,/EHs,/nologo,/MD -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_80,code=\"sm_80,compute_80\"  --dont-use-profile -ldir "C:\Program Files\MATLAB\R2021a\bin\win64" --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/DMX_COMPAT_64  --compiler-options=/DMATLAB_DEFAULT_RELEASE=R2017b  --compiler-options=/DUSE_MEX_CMD   --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\Program Files\MATLAB\R2021a\extern\include" -I"C:\Program Files\MATLAB\R2021a\simulink\include" -I"C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\include" "C:\Program Files\MATLAB\R2021a\extern\version\c_mexapi_version.c" -o C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\c_mexapi_version.obj && echo /Fo > NUL
-------------------------------------------------------------------
Building with 'NVIDIA CUDA Compiler'.
nvcc -c --compiler-options=/Zp8,/GR,/W3,/EHs,/nologo,/MD -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_80,code=\"sm_80,compute_80\"  --dont-use-profile -ldir "C:\Program Files\MATLAB\R2021a\bin\win64" --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/DMX_COMPAT_64  --compiler-options=/DMATLAB_DEFAULT_RELEASE=R2017b  --compiler-options=/DUSE_MEX_CMD   --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\Program Files\MATLAB\R2021a\extern\include" -I"C:\Program Files\MATLAB\R2021a\simulink\include" -I"C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\include" "D:\hannah\Dropbox\alab\Code\Kilosort2\CUDA\mexThSpkPC.cu" -o C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\mexThSpkPC.obj && echo /Fo > NUL
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
mexThSpkPC.cu

nvcc -c --compiler-options=/Zp8,/GR,/W3,/EHs,/nologo,/MD -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_80,code=\"sm_80,compute_80\"  --dont-use-profile -ldir "C:\Program Files\MATLAB\R2021a\bin\win64" --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/DMX_COMPAT_64  --compiler-options=/DMATLAB_DEFAULT_RELEASE=R2017b  --compiler-options=/DUSE_MEX_CMD   --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\Program Files\MATLAB\R2021a\extern\include" -I"C:\Program Files\MATLAB\R2021a\simulink\include" -I"C:\Program Files\MATLAB\R2021a\sys\cuda\win64\cuda\include" "C:\Program Files\MATLAB\R2021a\extern\version\c_mexapi_version.c" -o C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\c_mexapi_version.obj && echo /Fo > NUL
Unable to delete the temporary file 'C:\Users\CUDAtest\AppData\Local\Temp\mex_43346156389850_11076'
Unable to delete the temporary file 'C:\Users\CUDAtest\AppData\Local\Temp\mex_43346155611906_11076'
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
c_mexapi_version.c

link /nologo /manifest  /DLL  /EXPORT:mexFunction /EXPORT:mexfilerequiredapiversion C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\mexThSpkPC.obj C:\Users\CUDAtest\AppData\Local\Temp\mex_43085732011582_11076\c_mexapi_version.obj  /LIBPATH:"C:\Program Files\MATLAB\R2021a\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib gpu.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libMatlabDataArray.lib libMatlabEngine.lib /out:mexThSpkPC.mexw64
   Creating library mexThSpkPC.lib and object mexThSpkPC.exp

mt -outputresource:mexThSpkPC.mexw64;2 -manifest "mexThSpkPC.mexw64.manifest"
Microsoft (R) Manifest Tool

Copyright (c) Microsoft Corporation. 

All rights reserved.

del "mexThSpkPC.exp" "mexThSpkPC.lib" "mexThSpkPC.mexw64.manifest" "mexThSpkPC.ilk"
MEX completed successfully.
Building with 'NVIDIA CUDA Compiler'.
MEX completed successfully.
Building with 'NVIDIA CUDA Compiler'.
MEX completed successfully.
Building with 'NVIDIA CUDA Compiler'.
MEX completed successfully.
Building with 'NVIDIA CUDA Compiler'.
MEX completed successfully.
Building with 'NVIDIA CUDA Compiler'.
Error using mex
Microsoft (R) Manifest Tool

Copyright (c) Microsoft Corporation.

All rights reserved.

mt : general error c101008d: Failed to write the updated manifest to the resource of file
"mexFilterPCs.mexw64". Access is denied.

Error in mexcuda (line 168)
    [varargout{1:nargout}] = mex(mexArguments{:});

Error in mexGPUall (line 11)
    mexcuda -largeArrayDims mexFilterPCs.cu
kermit000000 commented 1 year ago

I encountered the same exact error as @nindshoucs with the same NVIDIA GPU and attempted several combinations of different versions of MATLAB, CUDA, and Visual Studio in order to resolve the issue. After experimenting with various versions, I found that using MATLAB 2022b, CUDA version 10, and Visual Studio 2019 allowed me to build the MEX file successfully on my NVIDIA GeForce GTX 1650 with Max-Q Design GPU.

To ensure that my attempts at different combinations were not influenced by any artifacts, I downloaded a fresh copy of the CUDA folder each time I tested a new combination. This was done to prevent any files created by a prior combination from interfering with the next attempt. Also I made sure that running the code in the same directory as the GPU was located.