BLAS(Basic Linear Algebra Subprograms)와 LAPACK(Linear Algebra Package)
https://numpy.org/install/#numpy-packages--accelerated-linear-algebra-libraries
BLAS/LAPACK를 활용한 가속화 사용을 위해 NumPy 소스 코드르 직접 빌드할 때, 연결되는 라이브러리를 지정할 수 있습니다.
시스템의 기본 위치 (/usr, /usr/local 등)에 설치된 라이브러리를 자동으로 탐지해서 빌드되도록 하고자 하는 경우
$ pip install numpy --no-binary numpy
특정 위치의 라이브러리 경로를 제공하고자 하는 경우
$ LIB_DIR=/usr/local/lib/blis
$ INCLUDE_DIR=/usr/local/include/blis
$ pip install \
--global_option=build_ext --global_option="-L$LIB_DIR" --global_option="-I$INCLUDE_DIR" \
numpy --no-binary numpy
참조: NumPy 소스 빌드
Unix 계열(Mac 또느 리눅스)에서는 update-alternative 명령으로 연결된 동적 라이브러리를 지정할 수 있습니다. 시스템에 설치된 BLAS 또는 LAPACK 라이브러리를 대상으로 지정할 수 있습니다.
conda install -c conda-forge numpy scipy
아래와 같이 특정 구현 연결 변경
conda install -c conda-forge "libblas=*=*blis"
conda install -c conda-forge "libblas=*=*mkl"
conda install -c conda-forge "libblas=*=*openblas"
conda install -c conda-forge "libblas=*=*accelerate"
conda install -c conda-forge "libblas=*=*netlib"
Nvidia 그래픽 카드 및 드라이버가 설치되어 있어야 합니다.
$ sudo apt-key del 7fa2af80
$ wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.0-1_all.deb
$ sudo dpkg -i cuda-keyring_1.0-1_all.deb
$ sudo apt-get install cuda-11-2 libcudnn8=8.1.0.77-1+cuda11.2 libcudnn8-dev=8.1.0.77-1+cuda11.2