Raspberry Pi Advent Calendar 2020の23日目です。
さすがに12月も後半なので、最近は冷え込みがだいぶ厳しいですね。自宅ではもうだいぶ前からエアコンの暖房が稼働開始していますが、朝は起きる30分くらい前から動かしていてもここ数日は足元がひんやりしています。
そこでふと気づいて、しばらく動かしていなかったFolding@HomeでCPUやGPUをぶん回して足元の暖房代わりにしようと電源を入れてみました。まあ、そううまくいくわけもなく、寒かったです。買ったばかりのM75q-2はいい排熱をしていたので、こちらは排熱を足に吹きかけるように置けば可能性はありそうです。
Folding@Homeといえば以前ベータ版だったRaspberry Pi向けのやつはどうなったかなと思って調べたら、1ヶ月前くらいに正式リリースされていたようでした。
前回は9月くらいでした。
さて、前置きが長かったですがFolding@HomeをRaspberry Piにインストールして動かしてみる話です。
インストール
さっそくインストール、の前にダウンロードページを見てほしいのですが、Raspberry Pi向けのパッケージと言いつつ、debパッケージは基本的にarm64向けにビルドされています。
よって、Raspberry Pi OS 32-bitでは動作させられず、/boot/config.txtでarm_64bit=1を書いてもダメでした。なので、まだベータ版扱いのRaspberry Pi OS 64-bitを使うことにしました。ここから最新版をダウンロードして、SDカードに書き込んで起動します。
起動したら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アプリケーションを入れると、スタートメニューからたどってビューアー、コントローラーをそれぞれ開けます。開いて思ったけどビューアーはいらんかったな。
WebUIの方はこんな感じです。Raspberry Piでブラウザを開いて https://client.foldingathome.org/ にアクセスしても同じ画面が見られます。ちなみにCOVID-19に切り替えるのが遅くてちがうプロジェクトのwork unitを拾った模様。
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でも参加できるようになりました。うちも久々にタワーを組んでガッツリぶん回してみようかしらん🤔?
興味がある方、私と同じく足元暖房に計算機を使いたいと企んでいる方はぜひ試してみてはいかがでしょうか?