中田真秀(なかたまほ)のブログ

研究について、日常について、その他。

MAGMA 0.3 : dgemm カーネル 70-300GFlops on C2050

2010-08-27 13:24:28 | 日記
nVidia Tesla C2050 (fermiコア)が利用できる環境になったので、カーネルのベンチマークをとってみた。

$ ./testing_dgemm
This is a MAGMA 0.3 DGEMM Routine for Fermi GPUs.
In this version matrix sizes have to be divisible by 64


Usage:
./testing_dgemm N

N magmablas0.3 GFLops/s cudablas-3.1 GFlops/s error
==========================================================================
512 240.10327 92.53204 0.000000e+00
1088 286.13941 172.66570 0.000000e+00
1664 291.65646 174.09242 0.000000e+00
2240 295.73540 175.31741 0.000000e+00
2816 297.00507 175.22756 0.000000e+00
3392 298.39486 175.49825 0.000000e+00
3968 298.91229 175.64188 0.000000e+00
4544 299.12429 175.33501 0.000000e+00
5120 299.50924 175.63915 0.000000e+00
5696 299.84707 175.56649 0.000000e+00


同梱された結果とほぼ一致した。

ただし、行列のサイズが64の倍数のときのみで、これから外れると極端に
性能が劣化する。なんと70GFlopsまで落ちる。1/3程度までだ。これはびっくり
$ ./testing_dgemm 513
This is a MAGMA 0.3 DGEMM Routine for Fermi GPUs.
In this version matrix sizes have to be divisible by 64


Usage:
./testing_dgemm N

N magmablas0.3 GFLops/s cudablas-3.1 GFlops/s error
==========================================================================
Dimension Should Be multiple of 64
Calling cublasDgemm
513 72.83825 74.42431 0.000000e+00


$ ./testing_dgemm 1023
This is a MAGMA 0.3 DGEMM Routine for Fermi GPUs.
In this version matrix sizes have to be divisible by 64


Usage:
./testing_dgemm N

N magmablas0.3 GFLops/s cudablas-3.1 GFlops/s error
==========================================================================
Dimension Should Be multiple of 64
Calling cublasDgemm
1023 77.80234 78.02064 0.000000e+00

最新の画像もっと見る

コメントを投稿