@techreport{oai:ipsj.ixsq.nii.ac.jp:00144611, author = {椋木, 大地 and 今村, 俊幸 and 高橋, 大介}, issue = {13}, month = {Jul}, note = {NVIDIA GPU のカーネルプログラムにおいてスレッド数の選択は性能に大きな影響を与えることが知られているが,最適なスレッド数を理論的に一意に決定する方法は明らかではない.本稿では性能がメモリ律速となる BLAS ルーチンである SAXPY,SGEMV,STRMV において,計算する問題サイズに対して最適なスレッド数を決定するための自動チューニング手法を検討した.提案手法は 2 つの自動チューニング機構で構成される.まず,ある問題サイズに対するカーネルのサンプリング実行から,デバイスおよびカーネル固有のチューニングパラメータを決定するオフライン自動チューニングを行う.そしてそれらのパラメータに基づいて,問題サイズに応じた最適なスレッド数を,ある性能モデルを用いてオンライン自動チューニングで決定する.評価実験では,3 つの NVIDIA GPU アーキテクチャ (Fermi,Kepler,Maxwell) において,スレッド数の選択がカーネルの性能に与える影響を示した上で,提案する手法によって多くの場合に最適なスレッド数を選択できることを示す.}, title = {NVIDIA GPUにおけるメモリ律速なBLASカーネルのスレッド数自動選択手法}, year = {2015} }