OpenCLとは?
(英:Open Computing Language)
(日:オープンCL)
OpenCLはCPUとGPUのクロスプラットフォームです。汎用演算のためのライティングソフトの初となるオープンなプログラミング基準で、イーサリアムのマイニングなどに使用されています。
OpenCLはオープンで一様なプログラミング開発環境で、GPGPUとして知られている処理技術、またはグラフィック処理ユニットでの汎用演算を可能にします。また同一のGPGPU言語としてNvidia社のCUDAがあります。
1.GPUの特性を活かしたマイニング
GPGPUは特定の負荷のかかるタスクを、CPUに処理を依存するするのではなくGPUで行うことでシステム負荷を軽減することが可能です。GPUは高度に並列化された物理学を基にしたモデルなどを要求する数学的浮動小数点の算術を計算する際、CPUで計算するよりも効果的です。
Proof of Workは多くの演算を必要とするため、CPUマイニングよりGPUマイニングの方が圧倒的に効率がよく、CPUでのマイニングはハッシュレートが極めて低くなります。現在のイーサリアムネットワークでは、テストネットまたはプライベートチェーンでの使用以外にはGPUでマイニングを行います。
2.イーサリアムをAMDのグラフィックボードでマイニングする理由
イーサリアムのGPUマイナーはOpenCLで実装されています。そのためAMDのGPUはNvidia CUDAより早く効率的です。ですがClyamoreやGenoilなど主要マイニングクライアントはCUDAでの実装もしているため、AMDよりハッシュレートは劣りますがマイニング自体は可能です。
2017年現在はAMD Radeon RX470 4GBが最も効率的ですが、生産は終了しRX500シリーズへと移行しました。また7月現在DAGの増加によるEpoch問題も確認されています。