&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プログラミング入門」岡田 賢治、小山田 耕二、秀和システム