MJay

MKL를 깔아보고 예제 해보기 본문

Cloud Computing/MKL

MKL를 깔아보고 예제 해보기

MJSon 2017. 7. 20. 22:47
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