あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

Folding@HomeがRaspberry Pi(ARM64マシン)に対応してたので試す

Raspberry Pi Advent Calendar 2020の23日目です。

adventar.org

さすがに12月も後半なので、最近は冷え込みがだいぶ厳しいですね。自宅ではもうだいぶ前からエアコンの暖房が稼働開始していますが、朝は起きる30分くらい前から動かしていてもここ数日は足元がひんやりしています。

そこでふと気づいて、しばらく動かしていなかったFolding@HomeでCPUやGPUをぶん回して足元の暖房代わりにしようと電源を入れてみました。まあ、そううまくいくわけもなく、寒かったです。買ったばかりのM75q-2はいい排熱をしていたので、こちらは排熱を足に吹きかけるように置けば可能性はありそうです。

Folding@Homeといえば以前ベータ版だったRaspberry Pi向けのやつはどうなったかなと思って調べたら、1ヶ月前くらいに正式リリースされていたようでした。

foldingathome.org

前回は9月くらいでした。

akkiesoft.hatenablog.jp

さて、前置きが長かったですがFolding@HomeRaspberry Piにインストールして動かしてみる話です。

インストール

さっそくインストール、の前にダウンロードページを見てほしいのですが、Raspberry Pi向けのパッケージと言いつつ、debパッケージは基本的にarm64向けにビルドされています。

foldingathome.org

よって、Raspberry Pi OS 32-bitでは動作させられず、/boot/config.txtでarm_64bit=1を書いてもダメでした。なので、まだベータ版扱いのRaspberry Pi OS 64-bitを使うことにしました。ここから最新版をダウンロードして、SDカードに書き込んで起動します。

www.raspberrypi.org

起動したら3つのパッケージをダウンロード・インストールします。

$ wget (各パッケージのURL)

(GUIアプリケーション付きで入れるなら関連パッケージのインストールと全部のFAHパッケージをインストール)
$ sudo apt update ; sudo apt install libgl1-mesa-glx libglu1-mesa freeglut3
$ sudo dpkg -i fahclient_7.6.21_arm64.deb fahcontrol_7.6.21-1_all.deb fahviewer_7.6.21_arm64.deb

(GUIアプリケーションなしでいいならclientのみでOK)
$ sudo dpkg -i fahclient_7.6.21_arm64.deb


fahclientのインストール途中では色々質問されるので適宜答えます。まずはユーザー周り。すでにアカウントがあるならその情報を入れます。

Folding@home User Name: (すでに参加している場合は自分のユーザー名を入力)
Folding@home Team Number: (所属しているチームがあればチームの番号を入力)
Folding@home Passkey: (パスキーがあるならパスキーを入力)

どのくらいの計算リソースを使うかの設定。

light      - Recommended for laptops.
medium     - Higher performance setting recommended for most desktops.
full       - Contribute as much as possible.

自動起動の確認。自動起動していいなら「はい」を選択します。

Should FAHClient be automatically started?

Web画面の設定

とくにGUIアプリ無しでインストールを勧めている場合は、WebUIが使えると便利です。設定ファイルに以下の通り追記しておくと、WebUIから状態の確認と操作・設定ができるようになります。192.168.29.0/24はうちのネットワークなので、適宜自分のネットワークアドレスに書き換えてください。

$ sudo vi /etc/fahclient/config.xml

<config>
(中略)
<allow v='127.0.0.1 192.168.29.0/24'/>
<web-allow v='127.0.0.1 192.168.29.0/24'/>
<command-allow-no-pass v='127.0.0.1 192.168.29.0/24'/>
</config>


$ sudo systemctl restart FAHClient

再起動直後は403エラーを返しますが、忘れた頃にページが開けるようになっているはずです。いいんだろうかそれで🤔

動いてるのを見る

GUIアプリケーションを入れると、スタートメニューからたどってビューアー、コントローラーをそれぞれ開けます。開いて思ったけどビューアーはいらんかったな。

f:id:Akkiesoft:20201221190234j:plain

WebUIの方はこんな感じです。Raspberry Piでブラウザを開いて https://client.foldingathome.org/ にアクセスしても同じ画面が見られます。ちなみにCOVID-19に切り替えるのが遅くてちがうプロジェクトのwork unitを拾った模様。

f:id:Akkiesoft:20201221193300j:plain

topコマンドで見た負荷状況。しっかり4コア分のCPUを使っていますね。なお、GPUは未対応なのか設定で無効化されていて使用されていませんでした。

top - 11:41:59 up 6 min,  2 users,  load average: 1.42, 0.69, 0.35
Tasks: 125 total,   2 running, 123 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.0 us,  0.3 sy, 99.0 ni,  0.3 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
%Cpu1  :  0.3 us,  0.0 sy, 99.3 ni,  0.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.7 us,  0.3 sy, 99.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy, 99.7 ni,  0.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3798.2 total,   3206.5 free,    118.1 used,    473.7 buff/cache
MiB Swap:    100.0 total,    100.0 free,      0.0 used.   3592.2 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                               
 1942 root      39  19  427592  57976  11096 R 396.4   1.5   1:17.64 FahCore_a8 

まとめ

以前はRosetta@homeやFold For Covidなど他のプロジェクトでしかRaspberry PiでCovid-19関連の計算には参加できませんでしたが、いよいよFolding@Homeでも参加できるようになりました。うちも久々にタワーを組んでガッツリぶん回してみようかしらん🤔?

興味がある方、私と同じく足元暖房に計算機を使いたいと企んでいる方はぜひ試してみてはいかがでしょうか?