昨年のアドベントカレンダーで「Rユーザーの9割が知らない高速化の禁断の裏技!!!」という記事を書きました。
これはRにOpenBLASを導入して行列計算を爆速にするという内容ですが、Windowを想定しています。
個人的な話ですが、自宅のパソコンをLinux(Linux Mint 22)に切り替えたところなので、今度はLinux版のRにOpenBLASを導入しようと思います。
OpenBLASとはなにか?という話はWikipediaの説明をご参照ください。
LinuxでのOpenBLASの導入について調べてみるとホクソエムの人が書いた記事が見つかります。
えーと、gitでcloneして、makeして、ライブラリを切り替えて……めんどくせぇな!
もっとササッてできないのかな!
そこで今回ご紹介するropenblasパッケージの登場です。
ソースコードのDLからコンパイル、Rとのリンクまでやってくれるパッケージです。ただし、Linux専用。
remotesパッケージを先にインストールしておいてください。
そして以下をR上で実行するだけでOK。
remotes::install_github(repo = "prdm0/ropenblas", force = TRUE)
library(ropenblas)
ropenblas()
ソースコードからコンパイルするため、そこそこ時間はかかります。
Linuxはディストリビューションによって構成が変わるため、実行に必要なLinuxライブラリが足りない場合もあります。
そうした場合はエラーメッセージの中に足りないライブラリ名が示されていると思うので、それをインストールした上で再実行しましょう。
自分の環境では git と libgit2-dev が足りないと言われたので、以下のようにインストールしてから再実行しました。
sudo apt install git libgit2-dev
これで完了。
私の環境ではOpenBLAS導入前と比べて行列計算が30倍ぐらい速くなりました。
Enjoy!