概要
Folding@Homeはウイルスのタンパク質解析などを行うために、個人が持っているPCの処理能力を使って解析しようというプロジェクトです。昔、UFOからの電波を解析する似たような考え方のプロジェクトがありましたね。
プログラムを実行するとFolding@Homeから解析するユニットを割り当てられ、それをダウンロードして解析処理を実行、終わったら結果をアップロードすることの繰り返しとなります。
Folding@Home自体は必ずしも新型コロナウイルス(COVID-19)に特化したものではなく、それ以前からあるようですが、現在は対象をデフォルトの Any
に設定しておくと新型コロナウイルスを優先的に解析するようです。私も少しでもCOVID-19に早く終息してほしい、罹患しても薬で早く治って命を落とす人がいなくなればいいと思って自宅のLinuxPCで参加しています。
Windowsでやる方法は Folding@Home Setupに書いておられますので、そちらを参照。
ここではLinux MintやUbuntuで貢献する手順を記します。
インストール
必要なパッケージをダウンロード
$ wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.5/fahclient_7.5.1_amd64.deb
$ wget https://download.foldingathome.org/releases/public/release/fahcontrol/debian-stable-64bit/v7.5/fahcontrol_7.5.1-1_all.deb
$ wget https://download.foldingathome.org/releases/public/release/fahviewer/debian-stable-64bit/v7.5/fahviewer_7.5.1_amd64.deb
$ sudo dpkg -i --force-depends fahclient_7.5.1_amd64.deb
$ sudo dpkg -i --force-depends fahcontrol_7.5.1-1_all.deb
$ sudo dpkg -i --force-depends fahviewer_7.5.1_amd64.deb
自分はユーザー登録とかはせずに匿名で参加しました。
インストールが完了すると、デーモンモードで自動的に走ります。私はコマンドラインで行いたいのでサービスは止めておきます。
$ sudo systemctl stop FAHClient.service
$ sudo systemctl disable FAHClient.service
CPUで実行
私のマシンは6コア12スレッドであるため、以下のように実行します。
$ FAHClient --client-threads=12 --smp=true --cpus=12
ちなみにユーザー登録してpasskeyを取得済みの場合は以下のように実行
FAHClient --client-threads=12 --smp=true --cpus=12 --user=<username> --passkey=<passkey>
<username>
と <passkey>
には自分が登録したユーザー名と、そのときメールで送られてきたpasskeyを指定。
ほどなくして、folding@homeのサーバーからユニットをダウンロードして解析が始まります。
解析が終わると結果がfolding@homeにアップロードされ、自動的に次のユニットのダウンロードに入ります。私のマシン( 6コア / 12スレッド / 2.60GHz [ 最大4.50GHz ] / 12MBキャッシュ)では約1時間弱で1ユニット分の解析が終わります。
本当にちゃんとコアを使いこなしているか確認したいときはtopコマンドを見ればだいたいわかります。
左のターミナルで実行しているtopで FAHCore_a7
のCPU使用率がが1200%近い数値を出しているので間違いなさそうです。
止めたいときは Ctrl-C
、 走らせたいときは上記コマンドで走らせておけばいいです。
GPUで走らせるともっとは早いと思いますが、それには色々めんどくさそうなのでまた機会があれば。