トップページ  >  開講予定のシラバス  >  GPGPU実践プログラミング

開講予定のシラバス(学部4年生)

平成27年度
分野系列  -
開講年度  2015
授業科目名  GPGPU実践プログラミング
科目名(フリガナ)  GPGPUジッセンプログラミング
授業科目英文名  GPGPU Programming
授業形態  講義
単位数  1単位
開講学期  1学期
担当教員  出川 智啓、中川 匡弘
主担当者(フリガナ)  デガワ トモヒロ ナカガワ マサヒロ
教員室または連絡先  -
授業目的
および
達成目標
 [教育目的]
 学際・複合的分野における高速シミュレーシヨンにおいて注目されている、GPUのアーキテクチャやプログラム構造を理解し、様々な分野でのシミュレーシヨンや数値計算における典型的な例を実装する技術を修得する。特に、並列化の基礎となるベクトル和、並列計算環境の評価に用いられる行列一行列積、画像処理やN体問題など並列化しやすい事例や、汎用的な差分法などメモリ転送が問題となる例などについて、具体的なプログラミングを実践する。また、総和計算のプログラミングを実践し、従来のCPUとは大きく異なる最適化方法を学習する。加えて、開発環境に準備されている各種ライブラリの使用方法を習得することにより、分野横断的な問題で活用される汎用的プログラミング能力を体得する。

 [教育目標]
 A.広い視野の育成と認識
 E.専門基礎能力
 F.創造力、判断力
 G.指導的な技術科学実践者の資質

 [達成目標]
1.GPUアーキテクチャを理解し、CPUのアーキテクチャとの違いを説明できる。
2.GPGPUプログラム構造を理解し、並列化の概念をCPUの並列化と対応付けて説明できる。
3.GPGPUのメモリ階層を理解し、その特性を説明できる。
4.GPGPUでの高速化手法を理解し、適切なアルゴリズムを選択し、その理由をアーキテクチャと関連付けて説明できる。
5.数値計算をGPUへの実装し、その性能を評価できる。
6.各種ライブラリの使用法を修得し、実際にプログラムを作成し、その性能を評価できる。
7.パフォーマンス解析ツールの使用方法を修得し、プログラムの性能を評価し、その情報を基に性能を改善できる。
授業キーワード  GPGPUコンピューティング、高速化、画像処理、N体問題、差分法、FFT、行列計算
授業内容
および
授業方法
 学際的分野において広〈活用されるGPUのアーキテクチャ、プログラム構造、メモリ階層などを講義し、実際のプログラミングに応用する。その後、シミュレーションや数値計算の典型な例(計算負荷が大きい問題、メモリアクセスが大きい問題)について講義し、高速化の評価などを行う。また、その際にプログラミングの課題を行う。さらに、開発環境に付属したパフォーマンス解析ツールについても講義する。
授業項目  1.GPGPUの歴史と応用例
 2.GPUのアーキテクチャとプログラム構造
 3.GPGPUプログラミング環境
 4.GPUでの並列プログラミング(ベクトル和、移動平均、差分法)
 5.GPUのメモリ階層
 6.パフォーマンス解析ツール
 7.総和計算
 8.総和計算(高度な最適化)
 9.総和計算(行列一行列積)
10.総和計算(行列一行列積の高度な最適化)
11.画像処理
12.偏微分方程式の差分計算
13.多粒子の運動
14.N体問題
15.GPU最適化ライブラリ(行列計算、FFT)
教科書  特になし。
参考書   ・はじめてのCUDAプログラミング 青木尊之 額田彰 工学社
・CUDA BY EXAMPLE汎用GPUプログラミング
JasonSanders、Edward Kandrot インプレスジャパン
・GPUプログラミング入門−CUDA5による実装 伊藤智義 講談社
・Open CL入門−マルチコアOPU・GPUのための並列プログラミング 土山了士他 インプレスジャパン
成績の
評価方法と
評価項目
 項目ごとにレポート(満点:100点)を課し、それらの平均点で評価して、60点以上を合格とする。
理由のない授業の欠席(4回以上)や試験の未受験、課題レポートの未提出があった場合は成績を評価しない。
留意事項  -
参照
ホームページ名称
およびアドレス
 -

平成26年度
分野系列  -
開講年度  2014
授業科目名  GPGPU実践プログラミング
科目名(フリガナ)  GPGPUジッセンプログラミング
授業科目英文名  GPGPU Programming
授業形態  講義
単位数  1単位
開講学期  1学期
担当教員  出川 智啓、中川 匡弘
主担当者(フリガナ)  デガワ トモヒロ ナカガワ マサヒロ
教員室または連絡先  -
授業目的
および
達成目標
 [教育目的]
 学際・複合的分野における高速シミュレーシヨンにおいて注目されている、GPGPUのアーキテクチャ、プログラム構造を理解し、様々な分野でのシミュレーシヨンや数値計算における典型的な例を実装する技術を修得する。特に、様々な分野での最適化に活用される遺伝的アルゴリズム、画像処理やN体問題など並列化しやすい事例や、汎用的な差分法などメモリ転送が問題となる例、汎用的なモンテカルロ法を用いたシミュレーションの例などについて、具体的なプログラミングを実践する。
また、開発環境に準備されている各種ライブラリの使用法を修得することにより、分野横断的な問題で活用される汎用的プログラミング能力を体得する。

 [教育目標]
 A.広い視野の育成と認識
 E.専門基礎能力
 F.創造力、判断力
 G.指導的な技術科学実践者の資質

 [達成目標]
 1.GPUアーキテクチャの理解
 2.GPGPUプログラム構造の理解
 3.GPGPUのメモリ階層の理解
 4.GPGPUでの高速化手法の理解
 5.数値計算のGPUへの実装
 6.各種ライブラリの使用法の修得
 7.パフォーマンス解析ツールの使用方法の修得
授業キーワード  GPGPUコンピューティング、高速化、画像処理、N体問題、差分法、FFT、行列計算、モンテカルロ法、遺伝的アルゴリズム
授業内容
および
授業方法
 学際的分野において広〈活用されるGPUのアーキテクチャ、プログラム構造、メモリ階層などを講義し、実際のプログラミングに応用する。その後、シミュレーションや数値計算の典型な例(計算負荷が大きい問題、メモリアクセスが大きい問題)について講義し、高速化の評価などを行う。また、その際にプログラミングの課題を行う。さらに、開発環境に付属したパフォーマンス解析ツールについても講義する。
授業項目  1.計算の高速化手法とプロセッサのアーキテクチヤ
 2.MIMDとSIMD
 3.GPUアーキテクチャとGPUプログラム構造
 4.GPUメモリ階層
 5.GPGPUプログラミング環境
 6.開発ツール
 7.開発環境附属の各種数値計算ライブラリ
 8.パフォーマンス解析ツール
 9.計算の高速化と数値計算の特徴
10.行列計算
11.画像処理(エッジ抽出など)
12.偏微分方程式の差分解法
13.N体問題
14.遺伝的アルゴリズム
15.モンテカルロ法を用いた数値計算
教科書  特になし。
参考書  ・はじめてのCUDAプログラミング 青木尊之 額田彰 工学社
・CUDA BY EXAMPLE汎用GPUプログラミング
JasonSanders、Edward Kandrot インプレスジャパン
・GPUプログラミング入門−CUDA5による実装 伊藤智義 講談社
・Open CL入門−マルチコアOPU・GPUのための並列プログラミング 土山了士他 インプレスジャパン
成績の
評価方法と
評価項目
 項目ごとにレポート(満点:100点)を課し、それらの平均点で評価して、60点以上を合格とする。
留意事項  -
参照
ホームページ名称
およびアドレス
 -

平成25年度
分野系列  -
開講年度  2013
授業科目名  GPGPU実践プログラミング
科目名(フリガナ)  GPGPUジッセンプログラミング
授業科目英文名  GPGPU Programming
授業形態  講義
単位数  2単位
開講学期  1学期
担当教員  教員A、増田 信之、中川 匡弘
主担当者(フリガナ)  キョウインA マスダ ノブユキ ナカガワ マサヒロ
教員室または連絡先  -
授業目的
および
達成目標
 [教育目的]
 高速シミュレーション工学の分野において注目されている、GPGPUのアーキテクチャ、プログラム構造を理解し、数値計算における典型的な例を実装する技術を修得する。
 特に、画像処理やN体問題など並列化しやすい例や、差分法などメモリ転送が問題となる例などについて、具体的なプログラミングを実践する。
 また、開発環境に準備されている各種ライブラリの使用法を修得することにより、分野横断的な汎用的プログラミング能力を体得する。

 [教育目標]
 A.広い視野の育成と認識
 E.専門基礎能力
 F.創造力、判断力
 G.指導的な技術科学実践者の資質

 [達成目標]
 1.GPUアーキテクチャの理解
 2.GPGPUプログラム構造の理解
 3.GPGPUのメモリ階層の理解
 4.GPGPUでの高速化手法の理解
 5.数値計算のGPUへの実装
 6.各種ライブラリの使用法の修得
 7.パフォーマンス解析ツールの使用方法の修得
授業キーワード  GPGPUコンピューティング、高速化、画像処理、N体問題、差分法、FFT、行列計算
授業内容
および
授業方法
 GPUのアーキテクチャ、プログラム構造、メモリ階層などを講義し、実際のプログラミングに応用する。
 その後、数値計算の典型な例について講義し、高速化の評価などを行う。
 また、その際にプログラミングの課題を行う。
 さらに、開発環境に附属したパフォーマンス解析ツールについても講義する。
授業項目  1.GPUアーキテクチャ
 2.GPUプログラム構造
 3.GPUメモリ階層
 4.GPGPUプログラミング環境
 5.開発ツール
 6.開発環境附属の各種数値計算ライブラリ
 7.計算機合成ホログラム
 8.N体問題
 9.差分法
 10.パフォーマンス解析ツール
教科書  特になし。
参考書  はじめてのCUDAプログラミング 青木尊之 額田彰 工学社
成績の
評価方法と
評価項目
 項目ごとにレポート(満点:100点)を課し、それらの平均点で評価して、60点以上を合格とする。
留意事項  -
参照
ホームページ名称
およびアドレス
 -

このページの先頭へ戻る