forked from tsai/mathnet-numerics
9 changed files with 133 additions and 6 deletions
@ -1,11 +1,16 @@ |
|||
#Note: g++ multilib must be installed |
|||
export INTEL=/opt/intel |
|||
export MKL=$INTEL/mkl |
|||
export OPENMP=$INTEL/composerxe/lib |
|||
export OUT=../../../out/MKL/Linux |
|||
|
|||
g++ -std=c++11 -DGCC -m64 --shared -fPIC -o ../../../../MKL/Linux/x64/MathNet.Numerics.MKL.dll -I$MKL/include -I../Common ../MKL/vector_functions.c ../MKL/blas.c ../MKL/lapack.cpp -Wl,--start-group $MKL/lib/intel64/libmkl_intel_lp64.a $MKL/lib/intel64/libmkl_intel_thread.a $MKL/lib/intel64/libmkl_core.a -Wl,--end-group -L$OPENMP/intel64 -liomp5 -lpthread -lm |
|||
mkdir -p $OUT/x64 |
|||
mkdir -p $OUT/x86 |
|||
|
|||
cp $OPENMP/intel64/libiomp5.so ../../../../MKL/Linux/x64/ |
|||
g++ -std=c++11 -DGCC -m64 --shared -fPIC -o $OUT/x64/MathNet.Numerics.MKL.dll -I$MKL/include -I../Common ../MKL/memory.c ../MKL/capabilities.cpp ../MKL/vector_functions.c ../MKL/blas.c ../MKL/lapack.cpp -Wl,--start-group $MKL/lib/intel64/libmkl_intel_lp64.a $MKL/lib/intel64/libmkl_intel_thread.a $MKL/lib/intel64/libmkl_core.a -Wl,--end-group -L$OPENMP/intel64 -liomp5 -lpthread -lm |
|||
|
|||
g++ -std=c++11 -DGCC -m32 --shared -fPIC -o ../../../../MKL/Linux/x86/MathNet.Numerics.MKL.dll -I$MKL/include -I../Common ../MKL/vector_functions.c ../MKL/blas.c ../MKL/lapack.cpp -Wl,--start-group $MKL/lib/ia32/libmkl_intel.a $MKL/lib/ia32/libmkl_intel_thread.a $MKL/lib/ia32/libmkl_core.a -Wl,--end-group -L$OPENMP/ia32 -liomp5 -lpthread -lm |
|||
cp $OPENMP/intel64/libiomp5.so $OUT/x64/ |
|||
|
|||
cp $OPENMP/ia32/libiomp5.so ../../../../MKL/Linux/x86/ |
|||
g++ -std=c++11 -DGCC -m32 --shared -fPIC -o $OUT/x86/MathNet.Numerics.MKL.dll -I$MKL/include -I../Common ../MKL/memory.c ../MKL/capabilities.cpp ../MKL/vector_functions.c ../MKL/blas.c ../MKL/lapack.cpp -Wl,--start-group $MKL/lib/ia32/libmkl_intel.a $MKL/lib/ia32/libmkl_intel_thread.a $MKL/lib/ia32/libmkl_core.a -Wl,--end-group -L$OPENMP/ia32 -liomp5 -lpthread -lm |
|||
|
|||
cp $OPENMP/ia32/libiomp5.so $OUT/x86/ |
|||
|
|||
@ -0,0 +1,30 @@ |
|||
#include "wrapper_common.h" |
|||
#include "mkl.h" |
|||
|
|||
#if GCC |
|||
extern "C" { |
|||
#endif |
|||
|
|||
DLLEXPORT void free_buffers(void) { |
|||
mkl_free_buffers(); |
|||
} |
|||
|
|||
DLLEXPORT void thread_free_buffers(void) { |
|||
mkl_thread_free_buffers(); |
|||
} |
|||
|
|||
DLLEXPORT int disable_fast_mm(void) { |
|||
return mkl_disable_fast_mm(); |
|||
} |
|||
|
|||
DLLEXPORT MKL_INT64 mem_stat(int* AllocatedBuffers) { |
|||
return mkl_mem_stat(AllocatedBuffers); |
|||
} |
|||
|
|||
DLLEXPORT MKL_INT64 peak_mem_usage(int mode) { |
|||
return mkl_peak_mem_usage(mode); |
|||
} |
|||
|
|||
#if GCC |
|||
} |
|||
#endif |
|||
Loading…
Reference in new issue