はじめに
最近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面白いのでやってみよう!