MJay
MKL를 깔아보고 예제 해보기 본문
MKL에서 Deep Neural Networks 위주의 Library도 있다.
MKL를 깔아서 컴파일을 gcc로 할수있는건가?
cpio가 없다고 한다. apt-get install cpio하니 완료
source /opt/intel/bin/compilervars.sh intel64
여기까지 하고
이렇게 설정을 했지만 이런 오류가 뜬다
MKL 아키텍쳐과 intel64 랑 ia-32가 있다
GPU기기는 무엇인지 찾아봣다.
cat /proc/cpuinfo 하면 나온다
성공했다.
정답은
컴파일 할때 gcc -DMKL_ILP64 -fopenmp -m64 -I$MKLROOT/include mkl-lab-solution.c -L$MKLROOT/lib/intel64 -lmkl_intel_ilp64 -lmkl_core -lmkl_sequential -lpthread -lm
이렇게 하면 된다.
다른 예제도 실행해봤다.
gcc -DMKL_ILP64 -fopenmp -m64 -I$MKLROOT/include mkl-lab-solution.c -L$MKLROOT/lib/intel64 -lmkl_intel_ilp64 -lmkl_core -lmkl_sequential -lpthread -lm 의 뜻에 알아봐야한다.
gcc 는 gnu 컴파일러를 쓴다는 것이다
-DMKL_ILP 64 -> MKL Library를 쓰고 64-bit integer type를 쓰는 것이다. 반대로는 LP64
fopenmp -> OpenMP를 쓴다는 것이다
-m64 -> 64bit이다.
-I -> include 파일을 찾아주는 것이다
-L -> Library 폴더를 찾아 해당 library 를 포함하겠다는 것이다.
MKL의 Library 폴더
--lpthreads -> thread를 쓴다는 의미이다.
-lm -> 수학 라이브러리를 쓴다는 것이다.
이제 dgesv example을 실행해보겠다 Magma 와 같이 DGESV의 설명은 똑같다.
Row Major , Column Major로 2가지가 있는데 Column-wise로 해왔으니 Column Major로 하면 된다.
실행해보면 이런 값이 나온다
Pivot indices는 뭐꼬
DGEMM에 따른 Latency도 측정 가능하다
DGESV도 구현가능하다
'Cloud Computing > MKL' 카테고리의 다른 글
MKL에서 Dgesv, DGEMM (0) | 2017.07.21 |
---|