理工学部Faculty of Science and Engineering
COT300XE(計算基盤 / Computing technologies 300)ハードウェアアルゴリズムHardware algorithms
和田 幸一、藤本 典幸
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 理工学部Faculty of Science and Engineering |
添付ファイル名Attached documents | |
年度Year | 2022 |
授業コードClass code | H6122 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 秋学期集中/Intensive(Fall) |
曜日・時限Day/Period | 集中・その他/intensive・other courses |
科目種別Class Type | |
キャンパスCampus | 小金井 |
教室名称Classroom name | 各学部・研究科等の時間割等で確認 |
配当年次Grade | |
単位数Credit(s) | |
備考(履修条件等)Notes | |
他学部公開科目Open Program | |
他学部公開(履修条件等)Open Program (Notes) | |
グローバル・オープン科目Global Open Program | |
成績優秀者の他学部科目履修制度対象Interdepartmental class taking system for Academic Achievers | |
成績優秀者の他学部科目履修(履修条件等)Interdepartmental class taking system for Academic Achievers (Notes) | |
実務経験のある教員による授業科目Class taught by instructors with practical experience | |
SDGsCPSDGs CP | |
アーバンデザインCPUrban Design CP | |
ダイバーシティCPDiversity CP | |
未来教室CPLearning for the Future CP | |
カーボンニュートラルCPCarbon Neutral CP | |
千代田コンソ単位互換提供(他大学向け)Chiyoda Campus Consortium | |
カテゴリー<理工学部>Category |
応用情報工学科 学科専門科目 |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
In this lecture, hardware algorithms to solve several useful problems are studied.
(1) As a basis of parallel computation theory, theoretical models of circuits and parallel computers and their algorithms are studied.
(2) We study general computation by using GPUs which are many core processors with thousands of processor cores and its programming exercises are given.
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
ハードウエアを利用した問題解決のためのアルゴリズムについて学習する.
(1)並列計算理論の基礎とし,組合せ回路,順序回路,並列計算機の理論モデルとその上のアルゴリズムについて学ぶ.
(2)数千のプロセッサコアを持つ多コアプロセッサであるGPUを用いた汎用計算について学び,そのプログラミング演習も行う.
到達目標Goal
(1) 組合せ回路と順序回路の設計法を理解できる.ソーティングに対するハードウエアアルゴリズムを具体的に説明できる.並列計算機のモデルであるPRAMとその上の並列アルゴリズムを説明できる.
(2) プロセッサのマルチコア化・メニイコア化の理由を説明できる.GPUを用いた汎用計算を説明できる.CUDA C/C++による並列プログラムを理解できる.
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
ディプロマポリシーのうち、「DP1」と「DP2」と「DP4」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
オンラインでの開講となった場合,オンライン授業の方法や各回の授業計画の変更,成績評価方法の変更などについては,学習支援システムでその都度提示する.
課題等の提出,フィードバックは学習支援システムを通じて行う予定です.
組合せ回路と順序回路,
ソーティングネットワーク,
並列計算機PRAMと並列アルゴリズム
GPUを用いたアルゴリズムとその演習.
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
なし / No
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
第1回[対面/face to face]:組合せ回路と順序回路1
1) 組合せ回路
2) 順序回路
第2回[対面/face to face]:組合せ回路と順序回路2
1) 評価尺度
2)組合せ回路の設計法
3) 順序回路の設計法
第3回[対面/face to face]:ソーティングネットワーク1
1)ソーティングネットワークによるソートの実現
第4回[対面/face to face]:ソーティングネットワーク2
1)並列ソート
第5回[対面/face to face]:並列計算機モデルPRAM1
1) PRAMとは
第6回[対面/face to face]:並列計算機モデルPRAM2
1) PRAMアルゴリズム
第7回[対面/face to face]:マルチコアプロセッサ
1)ムーアの法則とプロセッサの発展 2)マルチコアプロセッサのアーキテクチャ
第8回[対面/face to face]:並列計算機と並列プログラミング
1)並列計算機のアーキテクチャ 2)共有メモリモデルに基づく並列プログラミング
第9回[対面/face to face]:GPUコンピューティング
1)汎用計算が可能なGPUのアーキテクチャ 2)GPUプログラミング
第10回[対面/face to face]:CUDAプログラミング演習1
1)演習環境の使い方 2)GPU版Hello world
第11回[対面/face to face]:CUDAプログラミング演習2
1)ベクトル加算
第12回[対面/face to face]:CUDAプログラミング演習3
1)実行時間の計測
第13回[対面/face to face]:CUDAプログラミング演習4
1)リダクション演算
第14回[対面/face to face]:CUDAプログラミング演習5
1)行列積
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
論理回路,アルゴリズムとデータ構造,計算機アーキテクチャの知識を前提としているので,十分復習しておくこと.
本授業の準備・学習時間は,各4時間を標準とする.
テキスト(教科書)Textbooks
講義では毎回資料を配布するので使用しない.
参考書References
講義時に提示する.
成績評価の方法と基準Grading criteria
オンラインでの開講となった場合,成績評価の方法と基準も変更する場合がある.
その場合の具体的な方法と基準は,担当教員が学習支援システムで提示する.
演習課題に対するレポートについて評価する.レポートに関しては,
第1回~第6回までのレポートを40%,第7回から第14回までのレポートを60%で評価する.
学生の意見等からの気づきChanges following student comments
特になし.
その他の重要事項Others
担当教員から,学習支援システムを通じた連絡がないか,日ごろから確認をよくするようにしてください.