EC2のGPUインスタンスでvanitygenする

Bitcoin用の好きなアドレスを生成しよう! - ゆっくりしてない

↑前回

まあOpenCL使うからoclvanitygenっていうんですけど。

とりあえずインスタンス立てます。OSはUbuntuServerで良い。

で、インスタンスタイプを選ぶときにGPU系のやつを選ぶ。具体的にはp2.xlargeとか。1時間あたり0.9ドルとお手軽です(2017/5/31現在)

で、まあ普通に起動してsshします。

次にとりあえず前回と同じようなことをします。

sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install make gcc libpcre3-dev libssl-dev -y
git clone https://github.com/samr7/vanitygen.git
cd vanitygen
make

で通ります。たぶん。

で、これだけでは普通にCPUを使っての実行しかできないのでせいぜい700Kkeys/secくらいが関の山です。

じゃあGPGPUできるようにしましょうということで次にやっていくのはCUDAのインストールです。

Ubuntu 16.04へのCUDAインストール方法 - Qiita

これ参考にして適当にやってください。

で、makeしましょう。

make oclvanitygen

たぶんこけます。通ったらおめでとうございます。

こける原因はたぶんライブラリのパスとかそういうのです。違う場合は違う原因なので頑張ってください。

とりあえずシンボリックリンク貼ればだいたいなんとかなります。

sudo ln -s /usr/local/cuda-8.0/targets/x86_64-linux/include/CL /usr/include
sudo ln -s /usr/local/cuda-8.0/targets/x86_64-linux/lib/libOpenCL.so /usr/lib/libOpenCL.so

これでたぶん通るようになります。ならなかったら頑張ってください。

じゃあ実行します。

./oclvanitygen 1Mission

すると… なんと…

(p2.xlargeの場合)だいたい40Mkeys/secの辺りをウロチョロします。さっきまでは700Kkeys/secでしたね。

おや… キロだったのが… メガに…?

やったー!爆速!

良かったですね。

ところで実際に使うときはnohupとか噛ませると良いです。

nohup ./oclvanitygen 1Reward &

みたいな。これならssh切っても計算は続くのであとは適当なタイミングでnohup.outをcatしにいけば良いです。

夜に開始して「寝て起きたら終わってるといいな〜」みたいにして待つとかそういうのが理想的ですね。というか今それをやっています。寝て起きたら終わってるといいな〜。

=== 追記 ===

1NissionTGS4S8DvNmGf13amLQuWUZM1nd

終わってました。ミッションから始まってマインドで終わる圧倒的にミッションちゃん的なアドレスですね。

1NissionでMissionと読ませるのかよとか言われそうだけどそういうのはまあ仕方ないです。制限なので。

投げ銭待ってま〜す!

=== 追記終わり ===

終わり