OpenCL
GPGPU
Monacoin
仮想通貨
TinkerBoard

TinkerBoardでOpenCLでMonacoinを採掘してみる

More than 1 year has passed since last update.

はじめに

最近ASUS TinkerBoardで遊んでいます。
価格59ドルと最近のシングルボードコンピュータの中では安いわけではないですが、いろいろ高性能でOpenCL経由でGPUを使うことができる、という点で面白いデバイスだと思います。
搭載しているGPUはMali-T764で、下記リンク先によると、81.6GFLOPSの性能とのことです:
http://gpuflops.blogspot.jp/

あと、Raspberrypiのケースや周辺ハードウェアが使えるのも嬉しいポイントですね。

今回はこれを使ってMonacoinのマイニングをしてみます。

セットアップ

[TinkerOS debian]をセットアップします。
手順は省略しますが、イメージ書き込み後にパーティションを拡張するのは見逃しがちです:
http://www.royalcrab.net/wpx/?p=4983

OpenCLを使えるようにする

libOpenCL.soははじめから入っているようですので、開発用にヘッダーファイルのみ用意します:

sudo apt-get update
sudo apt-get install opencl-headers

これだけでOpenCLが使えるはずですので、適当なサンプルコードなどでOpenCLの動作チェックをしておくと良いです。

sgminerのビルド

マイナーはsgminerを使います。ベースは
https://github.com/djm34/sgminer
ですが、Tinkerboardで動かすために少し修正が必要です。
とりあえずの修正済みコードはGithubで公開しました
https://github.com/stnk20/sgminer/tree/tinkerboard

ビルド手順:

git clone -b tinkerboard https://github.com/stnk20/sgminer.git
git submodule init
git submodule update
autoreconf -i
CFLAGS="-O2 -Wall -march=native" ./configure --disable-adl --without-curses 
make -j3

sgminerの使い方はこちらを参照しました:
https://blog.visvirial.com/articles/499

結果

セッティングや冷却の条件によりますが、手元でのハッシュレートは35-45KH/s程度です。
消費電力は測っていないですが、余裕の赤字でしょう。まあ、もとから予想してたことではありますが。
最適化コードが出回っていたりするので、それを使えばもう少しは上がるとは思います。

ちなみに最近のSnapdragonなどはすごい高性能なので、環境がある人は試してみては。

まとめ

Tinkerboard+OpenCL面白いのでやってみよう!