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 INTEL=/opt/intel |
||||
export MKL=$INTEL/mkl |
export MKL=$INTEL/mkl |
||||
export OPENMP=$INTEL/composerxe/lib |
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