2018年度 並列プログラミング   Parallel Programming

文字サイズ 

アップデートお知らせメールへ登録 お気に入り講義リストに追加
開講元
情報工学系
担当教員名
齋藤 豪  佐藤 俊樹 
授業形態
講義 / 演習     
メディア利用科目
曜日・時限(講義室)
火3-4(W932)  金3-4(W932)  
クラス
-
科目コード
CSC.T354
単位数
2
開講年度
2018年度
開講クォーター
2Q
シラバス更新日
2018年3月20日
講義資料更新日
-
使用言語
日本語
アクセスランキング
media

講義の概要とねらい

並列プログラミングは近年の計算機で効果的に高速に演算させるためには必須の技術である。本講義及び演習では並列プログラミングのための基礎知識と具体的な実装法を習得する。
並列プログラムでは、非並列プログラムでは生じない不具合が起きる。不具合がなぜ起きるのかの理由や不具合を発生させないための手法を講義では学び、具体的なプログラミングを演習では体験する。そのためプログラミングの知識は事前に身につけた上で受講されたい。使用言語は主にJavaである。

到達目標

並列プログラムを正しく組み立てるための、正しいデータ資源の共有、同期化、計算資源適切な分配、遅延実行と開始などの知識と技術を身につけることを目標とする。

代表的な題目としては
1)データの実体の格納されている領域の理解
2)スレッドプログラミング
3)イベントドリブンプログラミング
4)GPUプログラミング

キーワード

スレッドプログラミング、GPUプログラミング、GUIプログラミング、可視性、同期、モニタ、アトミシティ

学生が身につける力(ディグリー・ポリシー)

専門力 教養力 コミュニケーション力 展開力(探究力又は設定力) 展開力(実践力又は解決力)

授業の進め方

教室での講義回と情報工学科計算機室での演習回をほぼ交互に行い、知識と実践力をつける

授業計画・課題

  授業計画 課題
第1回 導入
第2回 復習データとその格納法 浅いコピーと深いコピー 実体と参照 Javaの変数
第3回 スレッド ウェイト、ジョイン、ノーティファイ
第4回 演習1
第5回 スレッド拘束と同期 モニタ
第6回 演習2
第7回 ストリームとスレッド ストリーム、ラムダ式、遅延実行
第8回 イベント駆動プログラミング イベントハンドラ
第9回 演習3
第10回 イベント駆動プログラミング2 飢餓
第11回 演習4
第12回 GPU プログラミング OpenCL
第13回 演習5
第14回 GPUプログラミング 画像処理 データ並列計算
第15回 演習6

教科書

なし

参考書、講義資料等

講義資料を配布します。データ、サンプルコードはウェブサイトにアップロードします。

成績評価の基準及び方法

演習レポート及び、筆記試験。演習レポートの点数を主として評価する。ただし筆記試験の出席は必須。

関連する科目

  • CSC.T263 : 関数型プログラミング基礎
  • CSC.T273 : オブジェクト指向プログラミング
  • CSC.T344 : システムプログラミング
  • CSC.T363 : コンピュータアーキテクチャ

履修の条件(知識・技能・履修済科目等)

演習用計算機の台数を越えた受講生が居る場合には、情報工学科生を優先します。

このページのトップへ