CUDAベンチマークプログラム lucuda

lucudaはCUDAベンチマークプログラムです。
NVIDIAのグラフィックスボードを用いて連立一次方程式を計算します。
動作OSは64ビットWindowsです。

1. ダウンロード

ファイルを ダウンロード して適当なフォルダに展開して下さい。

(注意)ダウンロードした実行プログラムを実行する前に必ずウィルスチェックを行い、 自己責任でお使い下さい。作者は一切の責任を負いません。

2. 使用法

lucuda.exeをダブルクリックして下さい。 [実行]ボタンをクリックすると計算を開始します。 最初に単精度、続いて倍精度が計算されます。
必要なら[行列サイズ]を変更して計算を実行して下さい。

(注1)実行にはNVIDIAのグラフィックスボード(GeForce/Quadro/Tesla)が必要です。 グラフィックスドライバーのバージョンが古いと動かないことがあります。
(注2)実行には.NET Framework 4.5以上が必要です。
(注3)マルチGPUには対応していません。一つのGPUのみを使用します。
(注4)計算実行中は画面の応答が遅くなります。 また、タイトルバーに(応答なし)と表示されることがありますがそのままお待ち下さい。 強制終了するにはタスクマネージャで"lucuda.exe"を終了して下さい。

3. 計算方法、必要メモリー、計算速度

計算方法

連立一次方程式をLU分解法により計算します。以下、行列の大きさをNとします。

必要メモリー

単精度で4N^2バイト、倍精度で8N^2バイトです。
必要メモリーがビデオメモリーの80%(OS保護のため)以内であることが必要です。
下の表はビデオメモリーと行列サイズの上限の関係です。

ビデオメモリー行列サイズ上限(単精度)行列サイズ上限(倍精度)
512MB100007000
1024MB1400010000
2048MB2000014000
4096MB2300016000

計算速度

演算量は(1/3)N^3回の加算と(1/3)N^3回の乗算、合計(2/3)N^3回です。 従って、計算時間がT[秒]のときの計算速度は次式で計算されます。
計算速度 = (2/3)N^3 / T [FLOPS]

4. 計算時間

一例として、GeForce GTX 670(メモリー4096MB)での計算時間と計算速度(()内、単位:GFLOPS)は以下のようになります。
計算時間は行列サイズの3乗に比例します。
計算速度は行列サイズを変えてもほとんど変わりません。

行列サイズ単精度(速度GFLOPS)倍精度(速度GFLOPS)
50003.214秒(25.928)4.758秒(17.514)
1000023.962秒(27.822)36.317秒(18.357)
1600096.345秒(28.343)146.016(18.701)
23000285.231秒(28.438)不可(メモリー不足)

5. 更新履歴

Ver.1.3 (2015/01/27)
・32ビット版を廃止
・CUDA5.5で再コンパイル
Ver.1.2 (2013/02/03)
・CUDA4.2でコンパイル
・64ビット版と32ビット版を作成
Ver.1.1 (2010/05/02)
・単精度を10%高速化
Ver.1.0 (2010/04/29)
・初版

HOME

 (2010/04/29〜)

inserted by FC2 system