使い方

コマンドプロンプトからsha1bench.exeを実行してください。 GPUのない方はCPUのみで実行する方法もあります。

プラットフォームを調べる

まず最初にパソコンで利用できるプラットフォームを調べます。

sha1bench.exeをオプションをつけずに起動してください。 この例ではPlatform No. 0とNo. 1の2個のプラットフォームが存在しています。

Version : 1.1.0
Usage: sha1bench <platfrom no> <device type> <len> <aes threads>
	platform no --- OpenCL platform no
	device type --- OpenCL device type
	len --- password length 2,3,4 or 0 (0: Hash Rate)
	aes threads --- number of aes thread per device
	worksize --- OpenCL global worksize

device list
    sha1bench <platfrom no> <device type>
---------------------------
Platform No. 0
FULL_PROFILE
OpenCL 1.2 
Intel(R) OpenCL
Intel(R) Corporation
---------------------------
Platform No. 1
FULL_PROFILE
OpenCL 2.0 AMD-APP (2117.14)
AMD Accelerated Parallel Processing
Advanced Micro Devices, Inc.
---------------------------

デバイスリストの表示

次に動作させるプラットフォームのデバイスを調べます。 sha1benchのオプションにプラットフォーム番号とデバイスのタイプをセットして実行してください。 デバイスのタイプはGがGPU、CがCPU、Aが全てのデバイスです。


> sha1bench 1 A

---------------------------
Device No. 0
Capeverde
MAX COMPUTE UNITS=10
MAX FREQUENCY=860
---------------------------
Device No. 1
Ellesmere
MAX COMPUTE UNITS=32
MAX FREQUENCY=1256
---------------------------
Device No. 2
Intel(R) Core(TM) i3-4130 CPU @ 3.40GHz
MAX COMPUTE UNITS=4
MAX FREQUENCY=3399
---------------------------

Device No.0とNo.1はGPUです。No.2はCPU。CPUはAES復号化で使うのでSHA-1の演算には利用しないほうがいいでしょう。 CPUが多数あるパソコンでは使ってみてもいいかもしれませんが。


ベンチマーク実行

オプションの位置は固定です。順番に

プラットフォーム番号
デバイス タイプ (G or C or A)
パスワードの文字数 (2 or 3 or 4 or 0)
AESスレッド数 (通常は1で問題なし)
ワークサイズ0
ワークサイズ1
ワークサイズ2
ワークサイズ3

ワークサイズは1つしかデバイスがなければワークサイズ0だけ数字を入力すればOKです。 3つデバイスがある場合は、ワークサイズ0、ワークサイズ1、ワークサイズ2に数字を入力します。 値はデバイスに依存します。シェーダプロセッサ数の4倍、8倍が良く性能がでるみたいです。 0を入力すると、そのデバイスは使用しません。
次の例はAMDのRX470(シェーダプロセッサ数 2048)を1つ動作させた場合です。最後の行のtimeが時間(単位: 秒)です。


> sha1bench 1 A 3 1 0 8192 0

platform no : 1
device type : A
Number of characters in password : 3
Number of aes threads per device : 1
work size 8192 (0 8192 0 -1)
AES AES-NI mode
Bench Mark Mode
platform = 1 , devices = 3
AMD mode

time = 3

GPUのシェーダプロセッサ数は仕様を調べてみてください。nVIDIAのGPUではCUDAコア数を、AMDのGPUではストリーミング・プロセッサー数を調べます。 ちなみにGeForce GTX1060では4文字を解読するのに258秒、RADEON RX470では4文字を解読するのに281秒でした。 sha1benchを改良すれば、もっと性能が出るかもしれません。ベンチマークソフトとして利用するにはsha1benchのバージョンを同じにする必要があります。

なおVer1.1.0から、パスワードの文字数で0を指定すると、10秒間、性能を計測してハッシュレートを[K Hash/sec]で表示します。