Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
1.md
10_graph.md
2.md
3.md
4-5.md
6.md
7_map_reduce.md
8_sort.md
9_search.md
README.md

README.md

並行コンピューティング技法 ―実践マルチコア/マルチスレッドプログラミング読書メモ

2018 年の夏休みに並列処理の基礎を掴むために一通り読んでコードを書いた。

コードリポジトリはこっち https://github.com/mmmpa/learing_concurrency

内容

前半は並列化においての考え方の原則が解説されている。

後半はよく知られたアルゴリズムを並列化することにより、どの部分を並列化するのかできるのか、並列化で起こりうる問題は何かということがわかるようになっている。

処理の順序依存が強く感じられ一見並列化できなさそうなアルゴリズムが並列化された。一方でこれは並列化できるだろうなと思ったアルゴリズムには、並列化にあたりスレッドの処理終了条件などあらたに考えなければならない点があることを知らされる。

個人的には

並列化のノウハウが知れたのはもちろんだが、基本的なアルゴリズムを復習できたのが大きかったのではないか。

アルゴリズムの勉強をしていたときはサッと書いて終わっていたが、並列化においては並列化が終わるまでそのアルゴリズムと膝をつきあわせてやりあうことになる。一つのアルゴリズムにかける時間がちがうので理解度も以前とはちがう。