本格的に夏
今日は5時起床。
ソファでだらだらしてから、洗濯したため遅くなっちゃった。9時半頃にアジトへ。
「CUDAプログラミング実践講座 超並列プロセッサにおけるプログラミング手法」を読む。10章”並列プログラミングとコンピュータ的思考”(全12章)を読了(P.176/221)。まあ並列化するためには、アーキテクチャを良く知り、プログラミングモデルやコンパイラに精通し、アルゴリズム技法を習得して、具体的な計算事象を的確なモデルに落としこむことであると。まあ当たり前といえば当たり前。
「計算で身につくトポロジー」(阿原一志著)を読む。5章”グラフ上の道”(全15章)P.60/210読了。ホモロジー群はどういう群と同型かを知ることが大切と知る。同相ならそのホモロジー群同士は同型だということ。なるほろ。同相については、次章で説明があるので、また明日。今のところ、いい調子。
お昼を挟んで、ドラッガー著「エッセンシェル版 マネジメント 基本と原則」読了(祝)。まあ、面白かったよ。
その後、「CUDAプログラミング実践講座 超並列プロセッサにおけるプログラミング手法」を読む。11章”OpenCL概要”(全12章)を読了(P.192/221)。CUDAがデバイスを直接呼び出すイメージに関して、OpenCLはより広範なモデルを想定して過般性を持たせAPI化しているため、ちょっと面倒。この辺りは、まだ柔らかいため、詳細を詰める必要はないが、今後の動向は押さえておく必要があると思った。
継続して12章”まとめと将来の展望”(全12章)を読了(祝)。最後は、次世代機Fermiで機能強化した部分の紹介。まずは、メモリアーキテクチャの進化。64ビット仮想空間と40ビット以上の物理アドレス空間のサポート、デバイスメモリの統合、共用メモリの大容量化によるキャッシュと共用メモリのオンチップ化、アトミック操作の高速化。そして、カーネル実行制御の進化。カーネル関数内での動的関数呼び出し(C++仮想関数呼び出しなど)、カーネル関数内での例外処理を含む関数呼び出し(malloc, printfなど)、複数の同時カーネル関数呼び出し、カーネル関数実行中の割り込みサポート。将来的にはC++のtry/catch機能のサポート、開発環境の整備とあり、まだまだやることはいっぱいあるということみたいです。まあ、面白かったよ。
2冊読了したから、明日から新たな本を2冊読書予定。何読もうかな。。。カカ。。。