本講義の基本的な情報
- 講義日:毎週木曜日 3 限
- 担当 :B4のみんな
教科書と参考書
- 参考サイト: 日本語版のサンプルプログラム
目標
並列プログラミングの基本的な用語や考え方、パターンを理解すること。 また、パターンと実際のソースコードの対応関係がイメージできる様になるとさらに良い。
輪講形式で教科書を読む。 各人が割り当てられた担当部分の講義資料を作成し、プレゼンを行う。 プレゼン中は随時質疑応答を行う。 プログラムがある場合は、それを動かす。
本書を読むにあたって必要な知識(序章より)
- C++が読める書けること
- アセンブリやシステムプログラミングの知識は必要ありません
- 特定の OS に関する詳細知識も必要ありません
- 例題で使用する Intel TBB (Threading Building Block) と Cilk Plus (2021 年時点では開発終了) に関する事前知識もまったく必要ありません
著者の紹介
- 菅原 清文: インテル Japan KK 社の人。技術書とか ISUS に記事をたくさん書いている。この人の本は信用できる。
- James Reinders: 米 Intel 社の人。英語の技術書をいっぱい書いている人。この人の本には、Intel 社の CPU のいろいろ細かい話が書いてある。この人の本は信用できる。
- Michael McCool: 米 Intel 社の人。元 Waterloo 大学の先生で、本書に出てくる ArBB を作った人。元大学の先生ですので、並列計算の教科書っぽい本をたくさん書いている。
- Arch Robison: 現 NVIDIA 社の人。元米 Intel 社で Intel TBB のアーキテクト、今は Tensor RT の開発者。技術者。
- エクセルソフト: インテル社のソフトウェアの総代理店。Intel 社のツールとかソフトウェアの解説書もいっぱい出している。
担当分け
担当ワケ
担当箇所 | ページ数 | 担当者 | 日程 |
---|---|---|---|
1章 | みやじま | 2024-11-28 | |
2章前半 | ~2.4, 19ページ | むらき | 2024-12-05 |
2章後半 | 2.5~, 30ページ | むらかみ | |
3章前半 | ~3.4, 21ページ | やまだ | 2024-12-12 |
3章後半 | 3.5~, 25ページ | ばば | |
4章 | ながしま | 2024-12-19 | |
5章前半 | ~5.3, 18ページ | たかはし | |
5章後半 | 5.4~, 18ページ | ふかさわ | 2025-01-09 |
6章 | みずの | ||
7章 | こまつ | 2025-01-16 | |
8章前半 | ~8.8, 25ページ | おの | |
8章後半 | 8.9~, 25ページ | なかむら | 2025-01-23 |
9章 | ひおき | ||
10章 | むらき | 2025-02-06 | |
11章 | むらかみ | ||
12章 | やまだ | 2025-02-13 | |
13+14章 | ばば |
輪講資料で注意すべきこと
- 自分が大切だと思った要点をまとめること
- 教科書の全文をコピー&ペーストする必要はない。たとえば、教科書に載っている事例は、輪講資料に載せる必要は必ずしもない
- 分かりやすいように、要点を列挙したり、教科書の文章をまとめ直したりすること
- たとえば、以下のような形です
- 図を描いて説明する。ノートに手書きしたものを写真に撮る形でも OK です
- 文章から重要な部分を抜き出して、箇条書きにする
- 重要な部分を太字にする
- 時間内に説明できることを心がけること。たとえば、教科書に載っている事例を、輪講中に説明する必要は必ずしもない
輪講資料の作り方
資料を作成するときは、GitLab と Markdown を使います。
具体的には、ゼミの資料ページを clone して、自分の担当する章の branch を作って、docs ディレクトリの下の担当の章のディレクトリで作業をして、push してマージリクエストをする流れになります。
資料自体は Markdown で書くこと。
GitLabプロジェクトへのメンバー追加とclone
みなさんを、輪講の GitLab プロジェクトにみなさんを Developer として登録します。
ですので、GitLab.com のアカウントを私に教えてください。もし作っていない人は作ってね。
また、以下のコマンドでリポジトリを clone してください。
1 |
|
作業開始
リポジトリの docs ディレクトリの内部で作業をします。
また、自分の作業用ブランチを必ず切ってください。
main
ブランチは保護されているので、直接コミットができません。
たとえば、第 2 章を担当する人は、chapter2
ブランチを作成した後、docs/chapter2/{chapter2.md,figures/}
以下で作業をしてください。
資料作成
clone できたら資料を作ります。 今回は、Markdown から Web ページを作成する際には、mkdocs というものを使っています。 Linux 環境で mkdocs をインストールして、やってみてください。1
make install
するとmkdocsのインストールができます。make serve
してhttp://127.0.0.1:8080
にアクセスするとmkdocsがリアルタイムでレンダリングされます。- 数式を囲むときは、
$
ではなくて、$`と`$で囲むので注意してください。 {: style="height:150px"}
こんな風に書くと画像の表示サイズが調整できます。- 一部使えない拡張があるかもしれません。
- mkdocs の環境構築がつらい、という人は GitLab.com の Web インタフェースで書くこともできます。
資料作成をマージ
資料が完成したら push して、マージリクエストのページから自分のブランチをmain
ブランチにマージするリクエストを作成してください。
また、みやじまに Slack などでマージしてほしい旨を連絡してください。
少しするとページが更新されるますので、できあがりを確認してください。
なお、コミットすると自動的に CI が走る設定ですが、自分の GitLab アカウントでクレカの登録が必要です。 これが原因で CI が失敗になりますが、失敗でもかまいません。 課金はされないので、登録できる人はしてください。 CI の結果は、プロジェクトページのCIの部分で見られます。
-
https://zenn.dev/mebiusbox/articles/81d977a72cee01 ↩