Boost.勉強会 #14に参加しました
2014/3/1に開催されたイベント Boost.勉強会 #14 東京 にて、“新しい並列for構文のご提案”というタイトルで30分ほど話す機会をいただきました。(1年7ヶ月ぶり2回目)
感想とか
今回作ったスライド資料では、現行の並列化技術10種類とC++1y ParallelTSを広く浅く紹介というテーマで、前回よりも枚数を増やし進行テンポを速くしてみました。また前回の反省点として、概念と仕様のみ紹介だと理解されにくいかなと思ったこともあり、今回は導入部をシナリオ的にし(1/3)+“今日から使える”技術の紹介(1/3)+将来のC++1y動向の紹介(1/3)という構成にしています。Twitterでの皆様の反応を後から眺めてみると、思ったよりC++1y ParallelTSが注目されていたようでした(並列処理はTransactional Memoryよりも身近で分かり易いという側面はあるでしょうけど)。当日は少しぼやけてしまった感がありますが、「並列処理の"仕組み"を自分で書こうとしないで!*1」「並列化技術はいろいろあるから、適材適所で選んでね!*2」という主張でした。
並列処理は目に見える効果が大きく面白く感じられる反面、正しく動作するコード記述や適切な速度性能を引き出すのは一筋縄ではいきません。また昨今のハードウェア進化の方向性を鑑みるに、ソフトウェア側での並行処理・並列処理への対応は避けられそうもありません。今回紹介した並列化技術は“処理を並列実行する枠組み”部分を提供するため、この点ではプログラマのコーディング負担を下げてくれるはずです。ぜひ並列処理プログラミングの世界に足を踏み入れてみてください。
P.S. 勉強会の終了後に行われたじゃんけん大会で幸運にも勝ち残り、書籍版プログラミングの魔導書 〜Programmers' Grimoire〜 Vol.3 "Parallel, Concurrent, and Distributed Programming"を頂いてしまいました(もうおひと方と私の2冊)。@cpp_akiraさん、ありがとうございます!