-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmex_compileCUDA.m
More file actions
35 lines (30 loc) · 1.42 KB
/
mex_compileCUDA.m
File metadata and controls
35 lines (30 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
% function to compile the cuSparse mex file for gpu acceleration
function mex_compileCUDA()
setenv('MW_ALLOW_ANY_CUDA','1')
setenv('MW_NVCC_PATH', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin')
%{
mexcudaCmd = cell(0);
mexcudaCmd{end+1} = '-R2018a';
mexcudaCmd{end+1} = '-DNDEBUG';
mexcudaCmd{end+1} = '-DCUDA_MEX_PERFANA';
mexcudaCmd{end+1} = '-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\include"';
mexcudaCmd{end+1} = '-L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\lib\x64"';
mexcudaCmd{end+1} = 'NVCCFLAGS=''"$NVCCFLAGS -Wno-deprecated-gpu-targets"''';
mexcudaCmd{end+1} = 'LDFLAGS=''"$LDFLAGS -Wl,--no-as-needed"''';
mexcudaCmd{end+1} = '-lcusparse';
%mexcudaCmd{end+1} = '-g';
%mexcudaCmd{end+1} = '-v';
mexcudaCmd{end+1} = 'mexcudaSparseSingleGPU.cu';
mexcudaCmd{end+1} = 'sparseSingleGPU.cu';
%}
try
mexcuda -R2018a mexcudaSparseSingleGPU.cu sparseSingleGPU.cu ...
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include" ...
-L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\lib\x64" ...
NVCCFLAGS='"$NVCCFLAGS -Wno-deprecated-gpu-targets -std=c++17"' LDFLAGS='"$LDFLAGS -Wl,--no-as-needed"'...
-lcusparse -DNDEBUG -DCUDA_MEX_PERFANA %-g -v
%mexcuda(mexcudaCmd{:})
catch ME
rethrow(ME);
end
end