๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT-Engineering/Linux

์šฐ๋ถ„ํˆฌ(Ubuntu)์—์„œ OpenBLAS ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

by ๐Ÿงž‍โ™‚๏ธ 2021. 9. 30.
๋ฐ˜์‘ํ˜•

์šฐ๋ถ„ํˆฌ OpenBLAS ์„ค์น˜ ๋ฐฉ๋ฒ•

OpenBLAS๋Š” Ubuntu์— ๊ธฐ๋ณธ์œผ๋กœ ์„ค์น˜๋œ BLAS(Basic Linear Algebra Subprograms)๋Š” ์†๋„๊ฐ€ ๋Š๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์šฉํ’ˆ์œผ๋กœ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. OpenBLAS๋ฅผ ์ปดํŒŒ์ผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” fortran ์ปดํŒŒ์ผ๋Ÿฌ์ธ gfortran์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์น˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

Ubuntu 20.04 LTS ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜์˜€๋‹ค.

sudo apt-get install gfortran

์•„๋ž˜์˜ ๋ช…๋ น์–ด๋กœ GitHub์—์„œ ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•˜์—ฌ ๊ฐ€์ ธ์˜จ๋‹ค.

git clone https://github.com/xianyi/OpenBLAS.git

์•„๋ž˜์˜ ๋ช…๋ น์–ด๋กœ ๋ฐ›์•„์˜จ ์ €์žฅ์†Œ์˜ ์œ„์น˜๋กœ ์ด๋™ํ•œ๋‹ค.

cd OpenBLAS

๋‚ด ๊ฒฝ์šฐ๋Š” cp2k๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ OpenBLAS๊ฐ€ ํ•„์š”ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ฒ„์ „์— ๋งž๋Š” ๋ฒ„์ „์œผ๋กœ ์ฒดํฌ์•„์›ƒํ•˜์—ฌ ํ•ด๋‹น ๋ฒ„์ „์„ ๋นŒ๋“œํ•ด์•ผ ํ–ˆ๋‹ค.

git checkout v0.3.10

๋นŒ๋“œ๋Š” ์˜ต์…˜์„ ์ง€์ •ํ•˜์—ฌ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋Š”๋ฐ, ๋‚ด ๊ฒฝ์šฐ๋Š” ๊ทธ๋ƒฅ ๋ฐ”๋กœ make๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ๋‹ค.

make

/opt/OpenBLAS์˜ ๊ฒฝ๋กœ์— ์„ค์น˜๋˜๋„๋ก PREFIX๋ฅผ ์„ค์ •ํ•œ๋‹ค. sudo๊ถŒํ•œ์ด ํ•„์š”ํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

sudo make PREFIX=/opt/OpenBLAS install

Install OK! ๋ผ๊ณ  ๋‚˜์˜ค๋ฉด ์„ฑ๊ณต์ด๋‹ค. ๋‹ค์Œ์œผ๋กœ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค. ๋‹ค์Œ์˜ ๋ช…๋ น์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด๋ณด์ž.

echo "/opt/OpenBLAS/lib" | sudo tee /etc/ld.so.conf.d/openblas.conf

ldconfig๋Š” ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์บ์‹œ๋ฅผ ๋‹ค์‹œ ์„ค์ •ํ•˜๋Š”๋ฐ, OpenMPI ์„ค์น˜ ๋•Œ์™€ ๊ฐ™์€ ์ด์œ ๋กœ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค.

sudo ldconfig

 

์—ฌ๊ธฐ๊นŒ์ง€ ํ•˜๋ฉด OpenBLAS๊ฐ€ /opt/OpenBLAS์— ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€