会社案内 (近況)
2010 Q1 2010 Q2 2010 Q3F:「いやぁ、やっぱり 23:00からの試合を観て、いったん寝て、04:00頃起きて次の試合の後半を観るくらいが限界だな。」
K:「はぁ (いわゆる生返事)」
F:「まぁ、あと2週間だから何とかなるだろう。あぁでも、もうツールが始まるのか。」
K:「そういえば新城が出場決定らしいですよ (急に真面目な返事)」
F:「でも君は観られないんだろう。」
K:「平坦ステージまではだいたい観られますよ。」
F:「いつから遊びに行くんだっけ。」
K:「えーと来月の、、、」
(以下個人情報につき略)
F:「で、そろそろ仕事の話もするか。」
K:「はい。」
F:「状況は?」
K:「S 社の件は無事終わりました。」
F:「おう、ごくろう。」
K:「このまえ見積もりを出した、あそこのあれは来ないことになりました。」
F:「なにっ! そうか困ったな、、、と言っていても始まらないから新型機をさっさと作るぞ。」
K:「はい。ではまず Cyclone IV に、、、」
F:「いや、Stratix IV を先にしよう。出発前にソフトコア入れて G5 のパイプラインを動かすところまではやっていってくれ。」
K:「了解です。」
GRAPE ソフトウェアパッケージをバージョン 1.2.0 へ更新しました。 CUDA デバイス (NVIDIA 社製 GPU) へ対応した、CUDA G5/G6 オプションパッケージの追加が主な変更点です。
CUDA G5/G6 オプションパッケージの特徴:
Multiple Walks 対応はもともとそれなりに面倒であることが予想されたが、 API の変更を最小限に抑えるという制約があるので面倒具合が絶賛増強された。 いろいろがんばって最終的には関数ひとつと環境変数ひとつ増やしただけでなんとかなった。 さすがおれ。
複数デバイス対応は OpenMP で簡単に実現できるだろうと思ってなめていたが、 よく考えたら自前で真面目にスレッドの排他処理とかを管理する必要があった。 わりと面倒だったがなんとかなった。さすがおれ。
Goose の CUDA デバイス対応に費やした労力も考え合わせると、 ここまで来るのに結構な手間がかかったような気がする。 CUDA は「遅いけど動く」というコードを書くのは容易だが、 性能が出るコードを書くのは大変。 世間でさんざん言われていることだが、それを自分の目で確かめた。
なお CUDA 関連では濱田・似鳥両氏にあんな面やこんな面やそんな面でいろいろとお世話になってます。 ありがとうございます。あ、ここだけじゃなくて、ちゃんとパッケージの謝辞にも書きましたよ。
K:「はやぶさ観ました?」
F:「え? あぁ、あれか、あれは、、、」
(なんかここに書いちゃまずいような気がするので後略)
F:「現状の G5/G6 API には機種ごとの微妙な差異がある。どうにかしてくれ。」
K:「G7 で obsolete にしてしまった関数が GRAPE-DR で使われてたりしますが、、、」
F:「それは仕方がないから復活させよう。いずれ Goose がそういう差異を面倒みてくれるようになれば、 API の互換性を気にする必要もなくなるわけだが。」
K:「そうですね。徐々にそういう方向へ持ってゆきましょう。」
F:「で、そろそろ仕事の話もするか。」
K:「はい。」
F:「GRAPE パッケージの CUDA 対応版だけど。進捗は?」
K:「複数デバイスで動かすにはマルチスレッド化しなくちゃならん、ということが判明して手間取りましたが、 動くようになりました。技術的な部分はこれで完成。あとは管理スクリプトとかドキュメントを更新すればリリースできます。」
F:「じゃあそっちで目処がついたら知らせてくれ。今週末にあそこの 295 と Fermi でも検証させてもらうんで。」
K:「了解です。」
F:「、、、というわけでコモディティを寄せ集めたシステムはすぐに真似されて、 結局は資本力の勝負になる。つまりウチはそういうことやっちゃ駄目ってことだ。」
K:「そっか、そっすね」 (脳みそ弱い系の返事)
F:「、、、というわけでコーディングスタイルの社内統一とかそういうことは 不毛だからやらない。ペアプログラミングみたいなこともやらない。基本、 ひとつのコードはひとりが管理する。コードが読みにくいとかの文句があったら、 そのつど指摘しあうということで。」
K:「そっか、じゃ、まぁそうします」 (妥協した系の返事)
F:「で、そろそろ仕事の話もするか。」
K:「はい。」
F:「GRAPE パッケージの CUDA 対応版だけど。どうする?」
K:「これまでに挙げてもらったバグとか改良すべき点を直したら公開しましょう。」
F:「CUDA 版は売り物にするだろ。売り方は?」
K:「GRAPE パッケージのベースシステムは今までどおり無償配布して、 それにCUDA 版を有償オプションとして追加するというのでは?」
F:「うん。ライセンス形態は Goose と同じでいいよな。」
K:「はい。で、値段は XXX くらいですかね。」
F:「YYY くらいでもいいけど、まぁそのくらいか。でインスティテューショナル エディションには少し付加価値をつけよう。何か考えてくれ。」
K:「了解です。で、これに一区切りつけたら次は Cyclone IV いじりますよ。」
F:「おぅ、そうしてくれ。」
CQ 出版様より。めざせ夢の印税生活。