&color(green){最終更新日時: &lastmod;};
//!!committee_edit!!

&color(red){&size(15){このページは随時改訂されます。};};

*はじめに [#w482d0c5]

今年のSuperCon本選では、東京工業大学TSUBAME2.0スーパーコンピュータ上で、
&color(red){GPUプログラミング};に挑戦してもらいます。
昨年までと異なり、GPU向けのプログラミング言語&color(red){CUDA};を用いて
プログラムを組むことになります。

参加者の皆さんにとって見慣れない環境だと思いますので、
今年は予習のための資料を前もって公開します
(例年通り、本選期間の講習会も行います)。
C言語の基本知識があれば読み進められると思いますので、
挑戦してみてください。

*基礎編 [#rb55b40d]

「GPUプログラミングって何?」というところから、簡単なCUDAプログラム
を作成できるところまで説明します。

-&ref(gpu-prog-1.pdf,,GPUプログラミング・基礎編 (PDF));

-サンプルプログラム
--単純なCUDAプログラム(1スレッド版) &ref(inc_seq.cu,,inc_seq.cu);
--単純なCUDAプログラム(複数スレッド版) &ref(inc_seq.cu,,inc_seq.cu);
--CPUの行列積プログラム &ref(matmul_cpu.c,,matmul_cpu.c);
--CUDAによる行列積プログラム(1スレッド版) &ref(matmul_seq.cu,,matmul_seq.cu);
--CUDAによる行列積プログラム(複数スレッド版) &ref(matmul_par.cu,,matmul_par.cu);

*応用編 [#ze19033b]

基礎編に引き続き、GPU上のプログラムを高速化するポイント等を
解説します。

-&ref(gpu-prog-2-120820.pdf,,GPUプログラミング・応用編 (PDF)); &color(red){2012/08/20 21:10 改訂しました。};
-&ref(gpu-prog-2-120821.pdf,,GPUプログラミング・応用編 (PDF)); &color(red){2012/08/20 21:10 改訂しました。2012/08/21 10:40 微修正しました。};

-サンプルプログラム
--CUDAの共有メモリ利用する行列積プログラム &ref(matmul_shared.cu,,matmul_shared.cu);
--GPU上で多次元配列を利用するプログラム &ref(devarray.cu,,devarray.cu);

*参考資料・外部リンク [#w51db13e]

- &ref(http://gpu-computing.gsic.titech.ac.jp/,,GPUコンピューティング研究会);

- CUDA公式マニュアル (NVIDIA社, 英語)
-- &ref(http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Programming_Guide.pdf,,CUDA C Programming Guide v4.2); 
-- &ref(http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_Toolkit_Reference_Manual.pdf,,CUDA API Reference Manual v4.2);
-- また、&ref(http://www.nvidia.com/content/cuda/cuda-downloads.html,,NVIDIAのサイト);よりCUDAがダウンロードできます。

- 書籍
-- 「はじめてのCUDAプログラミング」青木 尊之、額田 彰、工学社
-- 「CUDA高速GPUプログラミング入門」岡田 賢治、小山田 耕二、秀和システム

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS