boinc
目次 |
BOINC クライアント コマンドライン版の使い方
boinc コマンドをデーモンとして実行し、boinccmd コマンドでプロジェクトの管理や boinc デーモンの操作をする。
インストール
- ダウンロード(推奨版)
- http://boinc.berkeley.edu/download_all.php
- 最新のものから旧版まで
- http://boinc.berkeley.edu/dl/
対応する OS 用の command-line 版をダウンロードする。
Linux 版は自己解凍ファイルなっているので、次のようなコマンドで解凍すると、BOINC というディレクトリができ、中に BOINC のファイルができる。
# sh boinc_5.8.11_i686-pc-linux-gnu.sh
Mac OS X 版は解凍し、適当なフォルダに置く。
簡単な使い方
- BOINC のディレクトリに移動し、boinc コマンドをデーモンとして実行する。
- boinccmd コマンドで、プロジェクトを追加する。
- 未参加のプロジェクトに参加する場合
- --create_account オプションで、参加したいプロジェクトにアカウントを作成する。アカウントを作成すると、アカウントキーが発行される。
- --project_attach オプションで、プロジェクトを追加する。(上記で取得したアカウントキーを使う。)
- 未参加の Einstein@home に新規参加し、BOINC に追加する例
- すでにアカウントがあるプロジェクトに参加する場合
- --lookup_account オプションで、追加するプロジェクトのアカウントキーを確認する。
- --project_attach オプションで、プロジェクトを追加する。(上記で確認したアカウントキーを使う。)
- アカウントを保有している Einstein@home を、BOINC に追加する例
- BOINC を終了するには boinccmd コマンドを使う。
# ./boinc --daemon
# boinccmd --create_account プロジェクトのURL メールアドレス パスワード 名前
# boinccmd --project_attach プロジェクトのURL アカウントキー
# ./boinccmd --create_account http://einstein.phys.uwm.edu/ foo@example.com password foo status: Success poll status: operation in progress poll status: operation in progress account key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # ./boinccmd --project_attach http://einstein.phys.uwm.edu/ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# boinccmd --lookup_account プロジェクトのURL メールアドレス パスワード
# boinccmd --project_attach プロジェクトのURL アカウントキー
# ./boinccmd --lookup_account http://einstein.phys.uwm.edu/ foo@example.com password status: Success poll status: operation in progress account key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # ./boinccmd --project_attach http://einstein.phys.uwm.edu/ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# ./boinccmd --quit
BOINC クライアントの GUI アプリケーション(BOINC Manager)から操作したほうが、管理が楽にできる。その場合、boinc コマンドを --allow_remote_gui_rpc 付きで起動しておく。
# ./boinc --daemon --allow_remote_gui_rpc
BOINC Manager から接続するときのパスワードを gui_rpc_auth.cfg に書いておく。 |
boinc コマンド
# boinc --daemon --redirectio --allow_remote_gui_rpc
- --daemon
- デーモンとして起動する。
- --allow_remote_gui_rpc
- リモートからの GUI RPC 接続を許可する。
- gui_rpc_auth.cfg ファイルに、リモート GUI RPC 接続用のパスワードを書いておく。
- --redirectio
- 標準出力と標準エラー出力を、ファイル(stdoutdae.txt, stderrdae.txt)に書き出す。
- --dir <path>
- BOINC を動作させるディレクトリを指定する。
- --reset_project <URL>
- プロジェクトをリセットする。
boinccmd --project <URL> reset
と同じ。- プロジェクトのアプリケーションがエラーになり boinc が起動できない(boinccmd で操作できない)場合に使う。
- --detach_project <URL>
- プロジェクトを離脱する。
boinccmd --project <URL> detach
と同じ。- プロジェクトのアプリケーションがエラーになり boinc が起動できない(boinccmd で操作できない)場合に使う。
boinc コマンドの例
# boinc --daemon --dir /path/to/boinc_work_dir --redirectio --allow_remote_gui_rpc
boinccmd コマンド
# boinccmd [--host hostname] [--passwd password] command
- --host hostname
- 指定しない場合は、localhostへ接続する。
- --passwd password
- boinc を --allow_remote_gui_rpc オプション付きで起動している場合は、gui_rpc_auth.cfg に記述しているパスワードを入力する必要がある。
- --quit
- boinc コマンドを終了する。
- --create_account
- 未参加のプロジェクトにアカウントを作成する。
boinccmd --create_account URL email password name
- --lookup_account
- 参加済みプロジェクトのアカウントキーを、メールアドレスとパスワードから確認する。
boinccmd --lookup_account URL email password
- --project_attach URL Account_Key
- プロジェクトを追加する。
boinccmd --project_attach URL ACCOUNT_KEY
- --project URL { reset | detach | update | suspend | resume | nomorework | allowmorework }
boinccmd --project URL nomorework
- reset
- プロジェクトをリセット
- このプロジェクトに関するすべてのファイルとタスクを削除し新しいタスクを取得します。完了した仕事を報告するには、先にプロジェクトを最新状態に「更新」してください。
- detach
- 離脱
- このコンピュータをこのプロジェクトから離脱させます。作業中のタスクは消えてしまいます。(完了したタスクを報告するため、離脱する前にプロジェクトの「更新」を行ってください)
- update
- 更新
- 完了したタスクを報告し、最新の功績(credit)とプレファレンス(好みの設定)を取得し、可能であれば更にタスクを取得します。
- suspend
- 一時停止
- このプロジェクトが実行しているタスクを一時的に停止します。
- resume
- 再開
- このプロジェクトのタスクを再開します。
- nomorework
- タスクの取得禁止
- このプロジェクトについて新しいタスクの取得を禁止します。
- allowmorework
- 新しいタスクを許可
- このプロジェクトについて新しいタスクの取得を許可します。
boinccmd の例
# ./boinccmd --quit # boinccmd --host localhost --passwd password --quit # boinccmd --host 192.168.1.123 --passwd password --create_account http://aqua.dwavesys.com/ foo@example.com password foo # boinccmd --host 192.168.1.123 --passwd password --lookup_account http://aqua.dwavesys.com/ foo@example.com password # boinccmd --host 192.168.1.123 --passwd password --project_attach http://aqua.dwavesys.com/ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
例
boinc をデーモンとして起動。
- boinc を動作させるディレクトリの作成。
- リモート GUI ツール(Windowsなど)から操作できるようにする。
mkdir /home/boinc cd /home/boinc echo "rpc_password" > gui_rpc_auth.cfg boinc --dir "/home/boinc" --redirectio --daemon --allow_remote_gui_rpc
プロキシを利用する場合の追加設定。
boinccmd --passwd rpc_password --set_proxy_settings 192.168.100.240 8080 "" "" "" "" "" "" "" vi cc_config.xml
cc_config.xml の内容。
<cc_config> <options> <http_1_0>1</http_1_0> </options> </cc_config>
boinc を再起動。
boinccmd --passwd rpc_password --quit boinc --dir "/home/boinc" --redirectio --daemon --allow_remote_gui_rpc
アカウントキーの確認。
boinccmd --passwd rpc_password --lookup_account http://einstein.phys.uwm.edu/ foo@example.com password
プロジェクトを追加する。
boinccmd --project_attach http://einstein.phys.uwm.edu/ account_key
Linux で CUDA を有効にする
NVIDIA ドライバのダウンロードサイトから、ドライバをダウンロードする。
BOINC で CUDA を有効にするためには、NVIDIA のグラフィックドライバをインストールすればよい。CUDA Toolkit (ダウンロード) などは不要。 |
- 例えば、Linux x86_64 用の最新ドライバは、バージョン256.44[1]になる。
- ドライバのインストール環境条件
ダウンロードしたドライバのファイルを、次のコマンドで実行する。
[shell] # sh NVIDIA-Linux-x86_64-256.44.run
kernel-devel は、使用しているカーネルと同じバージョンのパッケージをインストールする必要がある。単純に 例えば、CentOS のすべてのパッケージは http://vault.centos.org でダウンロードできる。ミラーサイトでは、マイナーバージョンのパッケー時は配布されていない事がある。 |
カーネルのバージョンを調べるには uname コマンドを使う。
# uname -a Linux hostname 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
カーネルと同じバージョンの kernel-devel を rpm コマンドでインストールする。
# rpm -ihv kernel-devel-2.6.18-194.el5.x86_64.rpm
Scheduler request failed: Error 417 の対処方法
HTTPプロキシを設定(利用)している場合、次のようなエラーが起きる。
[Einstein@Home] Scheduler request failed: Error 417
原因は、boinc とプロキシサーバーとの通信時に HTTP1.1 プロトコルを使用しているためらしい。
HTTP1.0 にするとエラーが出なくなる。
boinc を動作させるディレクトリ(--dir で指定するディレクトリ)に cc_config.xml という名前のファイルを作成し、内容を次のようにする。
<cc_config> <options> <http_1_0>1</http_1_0> </options> </cc_config>
boinc を再起動すれば、エラーが出なくなる。
参考:
脚注
- ↑ 2010/08/27時点