@@ -3,7 +3,7 @@ function buildMagTenseMEX(USE_RELEASE, USE_CUDA, USE_CVODE)
3
3
4
4
arguments
5
5
USE_RELEASE {mustBeNumericOrLogical } = true ;
6
- USE_CUDA {mustBeNumericOrLogical } = false ;
6
+ USE_CUDA {mustBeNumericOrLogical } = true ;
7
7
USE_CVODE {mustBeNumericOrLogical } = true ;
8
8
end
9
9
@@ -62,9 +62,8 @@ function buildMagTenseMEX(USE_RELEASE, USE_CUDA, USE_CVODE)
62
62
63
63
if (USE_CVODE )
64
64
CVODE_include = join([' -I' cvode_include ], ' ' );
65
- CVODE = [' LINKLIBS="$LINKLIBS ' cvode_lib ' /libsundials_nvecserial.a ' cvode_lib ' /libsundials_sunmatrixdense.a ' ...
66
- cvode_lib ' /libsundials_sunlinsoldense.a ' cvode_lib ' /libsundials_fnvecserial_mod.a ' ...
67
- cvode_lib ' /libsundials_cvode.a ' cvode_lib ' /libsundials_fsunnonlinsolfixedpoint_mod.a"' ];
65
+ CVODE = [' -L' cvode_lib ' -lsundials_nvecserial -lsundials_sunmatrixdense -lsundials_sunlinsoldense' ...
66
+ ' -lsundials_fnvecserial_mod -lsundials_cvode -lsundials_fsunnonlinsolfixedpoint_mod' ];
68
67
else
69
68
CVODE_include = ' ' ;
70
69
CVODE = ' ' ;
@@ -83,7 +82,7 @@ function buildMagTenseMEX(USE_RELEASE, USE_CUDA, USE_CVODE)
83
82
84
83
if (ispc )
85
84
DEFINES = ' -R2018a' ;
86
- FFLAGS = ' COMPFLAGS="$COMPFLAGS /free /O3 /fpp / real-size:64 /Qopenmp /assume:nocc_omp /fpe:0 /fp:source /nologo "' ;
85
+ FFLAGS = ' COMPFLAGS="$COMPFLAGS /free /nologo / real-size:64 /O2 /assume:nocc_omp /Qopenmp /fpp / fpe:0 /fp:source /fp:precise "' ;
87
86
if (USE_CUDA )
88
87
FFLAGS = [FFLAGS(1 : (end - 1 )) ' /libs:static"' ];
89
88
end
@@ -99,7 +98,7 @@ function buildMagTenseMEX(USE_RELEASE, USE_CUDA, USE_CVODE)
99
98
MKL = [' -L' mkl_lib ' -lmkl_rt -lmkl_blas95_lp64' ];
100
99
end
101
100
else
102
- DEFINES = [' FC="' compiler_root ' /bin/ifx " DEFINES="-DMATLAB_DEFAULT_RELEASE=R2018a"' ];
101
+ DEFINES = [' FC="' compiler_root ' /bin/ifort " DEFINES="-DMATLAB_DEFAULT_RELEASE=R2018a"' ];
103
102
INCLUDE = [' INCLUDE="$INCLUDE -I' mkl_root ' /include -I' NumericalIntegration_path ' -I' DemagField_path ...
104
103
' -I' TileDemagTensor_path ' -I' MagTenseMicroMag_path ' -I' ForceIntegrator_path ' -I' mkl_root ];
105
104
LIBS = [' -L' MagTenseMicroMag_path ' -lMagTenseMicroMag -L' DemagField_path ' -lDemagField -L' ...
@@ -111,7 +110,7 @@ function buildMagTenseMEX(USE_RELEASE, USE_CUDA, USE_CVODE)
111
110
' /libmkl_core.a ' mkl_lib ' /libmkl_blas95_lp64.a ' mkl_lib ' /libmkl_intel_lp64.a"' ];
112
111
INCLUDE = [INCLUDE ' /include/intel64/lp64 ' ];
113
112
else
114
- MKL = [' -L' mkl_lib ' -lmkl_rt -lpthread -lm -ldl ' ];
113
+ MKL = [' -L' mkl_root ' /lib/intel64 -lmkl_rt -lpthread -lm -ldl ' ];
115
114
if (USE_CUDA )
116
115
INCLUDE = [INCLUDE ' /include/intel64/lp64 ' ];
117
116
MKL = [MKL ' -lmkl_blas95_lp64' ];
0 commit comments