Folding@home

提供: ArchWiki
2022年2月18日 (金) 14:01時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎参照: リンクを修正)
ナビゲーションに移動 検索に移動

プロジェクトの ホームページ より:

あなたのコンピュータでソフトウェアを動かして、スタンフォード大学の科学者が取り組んでいるアルツハイマー病・ハンチントン病・パーキンソン病・がんの研究を助けてください。私たちが解こうとしている問題には膨大な計算が必要です。使っていない計算資源を寄付して頂ければ研究にかかる時間を何倍も縮めることができます。たった5分で、世界中の33,3684台ものコンピュータからなる世界最大の分散型スーパーコンピュータにあなたも加わることが可能です。

インストール

foldingathomeAUR パッケージをインストールしてください。Folding で GPU を使用したい場合、使用する GPU に適した OpenCL パッケージが必要です。Nvidia ユーザーは CUDA を使うことも可能です。

設定

root で FAHClient --configure を実行すれば /etc/foldingathome/config.xml に設定ファイルが生成されます (Arch Linux のチーム番号は 45032 です)。また、/etc/foldingathome/config.xml を手動で書き換えることもできます。設定ファイルを作成したら、デーモンを起動することが可能です。

$ cd /etc/foldingathome
# FAHClient --configure

systemd ユニットの foldingathome.service起動・有効化してください。

グラフィカル

ウェブブラウザを起動して http://localhost:7396/ を開くことでデーモンを管理できます。もしくは、fahcontrolAUR をインストールして FAHControl プログラムを使うという方法もあります。

デーモンはリモートから制御することも可能です。リモートから操作する方法は /etc/foldingathome/config.xml に載っています。また、ファイアウォールのポートを必要に応じて開いてください。

ターミナル

foldingathome の挙動は /etc/foldingathome/config.xml を編集することでカスタマイズすることが可能です。以下のようなオプションが指定できます:

  • bigpackets: メモリの使用量が多い作業を受け取るかどうか定義します。Folding@home で RAM を大量に消費しても問題ない場合、big に設定してください。他には normal と small が選べます。
  • passkey: コンピュータを一意に識別する値です。必須ではありませんが、ある程度セキュリティが確保されます。詳しくは、[1] を参照。
<passkey v='passkey'/>
  • CPU や GPU のスロット:
<slot id='0' type='CPU'/>

f@h を限定された権限で動作させる

folding は root 権限を使わなくても動作させることができます。

権限を持たない folding 用の専用ユーザー fah を作成:

# useradd -u 999 -s /sbin/nologin fah
ノート: -u 999 が既に使われている場合、1000 以下の他の番号を使ってください (ログインマネージャに表示しないため)。

新しいユーザーを使うように foldingathome.service編集:

# systemctl edit foldingathome.service
[Service]
User=fah
WorkingDirectory=/var/opt/fah
ExecStart=
ExecStart=/opt/fah/FAHClient --config /var/opt/fah/config.xml --exec-directory=/opt/fah --data-directory=/var/opt/fah

新しい作業ディレクトリを作成して、FAHClient --configure で生成した設定ファイルをコピーして所有者を fah ユーザーに設定:

# mkdir /var/opt/fah
# cp /opt/fah/config.xml /var/opt/fah/
# chown -R fah:fah /var/opt/fah

foldingathome.service起動してください。

作業ユニットの進捗を確認

FAH クライアントの進捗を監視する方法は複数存在します。

folding at home から配布されている FAHControl ソフトウェアはリモートホストを効率的に制御することができます。"Add" ボタンでクライアントを追加して名前と IP アドレス、ポート番号、パスワード(設定している場合)を入力して保存するだけです。リモートホストと接続を確立してクライアントタブに進捗を表示します。

AUR には fahmonAUR[リンク切れ: アーカイブ: aur-mirror] があり、GUI で複数のクライアントを監視して作業ユニットの情報を確認できます。Fahmon のサイトは http://www.fahmon.net/ にあります。

CLI では、シェルの設定ファイル (.bashrc.zshrc など) に以下のコマンドを追加することができます。fah_user は実際に使用しているユーザーに置き換えてください:

fahstat() {
        echo
        echo $(date)
        echo
        cat /opt/fah/fah_user/unitinfo.txt
}

クライアントが複数ある場合:

 fahstat() {
         echo
         echo $(date)
         echo
         echo "Core 1:";cat /opt/fah/fah_user/unitinfo.txt
         echo
         echo "Core 2:";cat /opt/fah2/fah_user/unitinfo.txt
 }

また、cattail -n1 に置き換えると作業ユニットの完了率がパーセントで表示されます。

foldingathome-smp 6.43 では、unitinfo.txt ファイルはユーザーフォルダの中にはありません。正しいディレクトリは /opt/fah-smp/unitinfo.txt になります。

参照