Skip to content

Commit 848b096

Browse files
authored
Merge pull request #1018 from gabfeldman/mkl-linux-build
MKL linux build
2 parents 36c369c + dced1db commit 848b096

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
#Note: g++ multilib must be installed
1+
Note: g++ multilib must be installed
2+
export VERSION=2023.1.0
23
export INTEL=/opt/intel
3-
export MKL=$INTEL/mkl
4-
export OPENMP=$INTEL/lib
4+
export MKL=$INTEL/oneapi/mkl/$VERSION
5+
export OPENMP=$INTEL/oneapi/compiler/$VERSION/linux/compiler/lib
56
export OUT=../../../out/MKL/Linux
67

78
mkdir -p $OUT/x64
89
mkdir -p $OUT/x86
910

10-
g++ -std=c++11 -D_M_X64 -DGCC -m64 --shared -fPIC -o $OUT/x64/libMathNetNumericsMKL.so -I$MKL/include -I../Common -I../MKL ../MKL/memory.c ../MKL/capabilities.cpp ../MKL/vector_functions.c ../Common/blas.c ../Common/lapack.cpp ../MKL/fft.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
11+
g++ -std=c++11 -D_M_X64 -DGCC -m64 --shared -fPIC -o $OUT/x64/libMathNetNumericsMKL.so -I$MKL/include -I../Common -I../MKL ../MKL/memory.c ../MKL/capabilities.cpp ../MKL/vector_functions.c ../Common/blas.c ../Common/lapack.cpp ../MKL/fft.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_lin -liomp5 -lpthread -lm
1112

12-
cp $OPENMP/intel64/libiomp5.so $OUT/x64/
13+
cp $OPENMP/intel64_lin/libiomp5.so $OUT/x64/
1314

14-
g++ -std=c++11 -D_M_IX86 -DGCC -m32 --shared -fPIC -o $OUT/x86/libMathNetNumericsMKL.so -I$MKL/include -I../Common -I../MKL ../MKL/memory.c ../MKL/capabilities.cpp ../MKL/vector_functions.c ../Common/blas.c ../Common/lapack.cpp ../MKL/fft.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
15+
g++ -std=c++11 -D_M_IX86 -DGCC -m32 --shared -fPIC -o $OUT/x86/libMathNetNumericsMKL.so -I$MKL/include -I../Common -I../MKL ../MKL/memory.c ../MKL/capabilities.cpp ../MKL/vector_functions.c ../Common/blas.c ../Common/lapack.cpp ../MKL/fft.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_lin -liomp5 -lpthread -lm
1516

16-
cp $OPENMP/ia32/libiomp5.so $OUT/x86/
17+
cp $OPENMP/ia32_lin/libiomp5.so $OUT/x86/
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
Install MKL:
2-
tar -zxvf l_mkl_11.3.0.109.tgz
3-
sudo ./install.sh
4-
Make sure to include IA32 as well
1+
1) Install MKL.
52

6-
Install g++:
3+
There are many options. At time of writing this is a good source:
4+
https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-download.html
5+
6+
2) Install g++:
77
sudo apt-get install g++ g++-multilib libc6-dev-i386
88

9-
Build:
9+
3) Build:
1010
./mkl_build.sh
11+
PS: you may have to update MKL's version number inside the script. See VERSION environment variable.

0 commit comments

Comments
 (0)