상세 컨텐츠

본문 제목

Julia언어 MKL 라이브러리.

Julia

by KimUH 2025. 3. 20. 11:07

본문

기본 선형대수 연산을 수행하는 라이브러리를 BLAS라고 한다.

Julia언어에는 OpenBLAS라는 BLAS구현체가 기본으로  내장되어 있다.

그런데, 인텔 CPU는 인텔에서 개발한 MKL이라는 BLAS구현체를 사용하면 연산 속도가 향상된다고 한다.

다만, MKL은 저작권 관련 문제 소지가 있어서 Julia언어에서 기본으로 내장하기는 어려운 듯 하다.

Julia언어에서 MKL.jl 패키지만 설치하면 OpenBLAS 대신 MKL을 사용하게 된다.

 

https://github.com/JuliaLinearAlgebra/MKL.jl

 

GitHub - JuliaLinearAlgebra/MKL.jl: Intel MKL linear algebra backend for Julia

Intel MKL linear algebra backend for Julia. Contribute to JuliaLinearAlgebra/MKL.jl development by creating an account on GitHub.

github.com

 

인텔이 경쟁업체를 견제하려고 비인텔 CPU(예 : AMD Zen 시리즈, Apple M 시리즈)에서는 구형 명령어셋만 사용하도록 막아놔서 성능이 오히려 하락한다.

하지만, 환경변수를 'MKL_DEBUG_CPU_TYPE=5'로 설정하면 비인텔 CPU에서도 최신 명령서셋을 사용하면서 제 성능이 나온다고 한다.

 

수치 연산 성능이 중요한 사람은 고려해 볼만한 듯 하다.

'Julia' 카테고리의 다른 글

DataFrame에서 행 선택하기  (0) 2025.03.22
DataFrame에서 칼럼 선택하기  (0) 2025.03.22
Julia언어 TTFP 문제  (2) 2025.03.19
Julia언어 성능 최적화 - 메모리 할당 최소화  (0) 2025.03.18
책 리뷰 : Julia High Performance  (2) 2025.03.17

관련글 더보기