4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

R言語Advent Calendar 2024

Day 9

【Linux限定】ropenblasでRを楽々高速化

Last updated at Posted at 2024-12-08

昨年のアドベントカレンダーで「Rユーザーの9割が知らない高速化の禁断の裏技!!!」という記事を書きました。
これはRにOpenBLASを導入して行列計算を爆速にするという内容ですが、Windowを想定しています。

個人的な話ですが、自宅のパソコンをLinux(Linux Mint 22)に切り替えたところなので、今度はLinux版のRにOpenBLASを導入しようと思います。

OpenBLASとはなにか?という話はWikipediaの説明をご参照ください。


LinuxでのOpenBLASの導入について調べてみるとホクソエムの人が書いた記事が見つかります。

OpenBLASでRを高速化

えーと、gitでcloneして、makeして、ライブラリを切り替えて……めんどくせぇな!
もっとササッてできないのかな!


そこで今回ご紹介するropenblasパッケージの登場です。
ソースコードのDLからコンパイル、Rとのリンクまでやってくれるパッケージです。ただし、Linux専用。
remotesパッケージを先にインストールしておいてください。
そして以下をR上で実行するだけでOK。

ropenblas
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!

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?