6/3(月) 駿府・曇

 今年は冷夏になるのか,この時期としては朝晩が結構薄ら寒い。20度を切る気温ってのは涼しいを通り越してしまっている。電気代は助かるが,コメの作柄は良くないんだろうな。世の中痛し痒し。
 どーもここんとこblogの更新が滞っている。基本的には自分の愚痴をあれこれ書きつけるための場なので,言いたいことが貯まらないと書く気力も湧いてこない。多分,結婚生活が安定しているために言いたいことは全部神さんに愚痴ってしまうせいであろう。精神が安定しているのは良いことではあるが,表現活動としてはマイナスである。ま,そのうち世間並みの夫婦同様,空気のようになった暁には元通り言いたいことも募ってくると思われるのだが,さていつになりますやら。いずれ遠からず〇〇の〇〇が〇くことになるので,その時には興味深いドキュメンタリーを日々更新することになるであろう。ま,あと数年先かな。
 つーことで,土日は神さんが不在がちだったので,少々プログラミングに精を出しつつ,9月のSpain行きのための英語学習教材を申し込む。書きつけるのはいいとしても,口と耳が全然追いついていないので,近頃評判の奴を頼んでみた。三日坊主の可能性大だが,ここの更新ネタにはなるであろう。さてどーなりますやら。
 ついでに某所のマシンアカウントをも申し込んでみた。果たしてワシのライブラリが動作するのかどーか,その辺を確認するため7月から3ヶ月のみの限定使用。夏休み中にちょろっとでも確認出来ればいいかと。
 さて出勤時間となったので今日はこれまで。
 ・・・と思ったが,書き忘れてたので帰宅後にApple IDが復活したことを報告しておく。昨年10月に不正利用されていたのを,

  • Apple IDの変更(メールアドレスの変更)
  • Apple IDパスワードの変更
  • セキュリティパスワードの変更(忘れちゃったので)

をしておき,サポート先に電話してロックされていたApple IDを復活させたのである。3箇所ぐらい盥回しされて面倒臭かったが。
 寝ます。

5/31(金) 駿府・晴

 朝方に雨が降ったようだが,出勤時には曇り空,職場についた時には良い天気。暑い日でございました。
 暑い暑いと言いつつ,出張前に確保しておいたGTX780カードを購入
zotac780.JPG
gt620_gtx780.JPG
今ンとこ一番マシなマシンにぶっこんでみる。
inserted_gtx780card.JPG
 Scientific Linux x86_64 6.4の場合,CUDA toolkit 5.5RCをドライバ込みでインストールした後に,もう一回,NVIDIA提供の最新ドライバを入れ直す必要がある。そうしないと,OpenGLライブラリ等が入らないようなのである。二度手間でめんどくさい。
 つーことで,手持ちのTesla C2070,GTX680SLIと今回のGTX780との比較を,cublasとmagma 1.3.0を使って行ってみる。行列ベクトル積と行列積の結果は下記の通り。
sdgemm.png
 う~む,単精度とはいえ3TFってのは凄いな・・・しかもこれ,約9万円のカードである。なんなんだったんだ,かつてPentium3マシンを使ってMPIクラスタを作った苦労はと愚痴の一つも言いたくなる。しかしTeslaってあん摩し早くないな。性能は安定しているところはさすがと思うが,大枚はたいたのにもう廉価版に負けちゃうってのは,ICT業界ではよくあることだけど諸行無常を感じさせる。
 直接法での結果も載せておこう。
direct_method.png
 やっぱり倍精度計算ではイマイチで,実用的かつ高精度な計算をしたければ高いカードを買うべきだという当然の結論になるなぁ。
 9万円のカードで遊んだので寝ます。

片桐孝洋「スパコンプログラミング入門 並列処理とMPIの学習」東京大学出版

[ Amazon ] ISBN 978-4-13-062453-4, \3200
introduction_of_parallel_programming_with_MPI.jpeg
 まず最初に,本書はワシが自腹で(研究費でなしに私費で)買ったものであることを宣言しておくのである。そんなこと何の関係があるかといぶかる向きもあろうが,実は本書,著者から紹介メールを頂いていたのである。教科書として使う予定があるなら献本してくれるとのことであった。しかしどー考えても,うちの職場においては教科書として使うことは難しい(理由は後述)。参考書としてならもちろん筆頭に挙げられるのであるが。・・・ということを返信メールでいちいち書いていては先方も困る(つか,嫌がらせである)であろうということで,まずはここで「いちいち書いて」おき,メールではここの記事へのリンクを書いておき,これを短くまとめたものを添えておこうと考えた次第なのである。
 まず,著者はHPC(高性能計算)に携わって長い第一人者であり,本書はその研究経験と,学部・大学院,そして外部向けのセミナーにおける数多くの教育経験に基づいた有用な記述に富んでいることを,「自腹で買った」ワシは断言するのである。いやほら,献本してもらっちゃうとどーしても手加減してしまう可能性もあるし,自らの懐から取り出した3200円+税で買ったって事実は,前言が嘘偽りない正直な感想であることの証左なのである。
 実は最初,本書は通り一遍の「MPI入門書」だと思っていた。実際,入門書として使えるようになっているし,網羅的なハンドブックではなく,必要最小限のMPI関数だけ紹介している点,初学者には優しい作りにはなっている。
 しかし,「優しい」ということと「易しい」ということは発音は同じでも意味が全然違うのである。その意味で,本書はうちの職場ではちと教科書としては「難しい」内容を多く含んでいる。
 「難しい」という意味は二つあり,一つは内容,もう一つが環境の問題である。
 内容に関しては,線型計算,行列ベクトル積,行列積,LU分解の並列化という実践的で,理工系初年度の数学知識と,アルゴリズムを考える能力の二つを要求していることが挙げられる。いや,それが本筋であることは当たり前なのだが,噛み応えがある内容だけに,半期でLU分解の並列化まで辿り着くのはちと難しいかな,とワシには思えるのだ。ことにMPI以前に線型代数の基礎知識が怪しい学生を相手にする場合,ドロップアウトを極力避けるためにまずサンプルプログラムから提示し,動かしながらデータの動きを具体的に追っていくという手順が必要になる。ということで,ワシは自分でテキストを書いてしまっている。大体このやり方を取らないとうちではちと厳しいかな,というのがワシの教育的経験からくる判断なのである。本書の場合,オーソドックスに並列化方針を概念的に説明した後,それを実装する課題が来る。そのやり方,当然ワシもやっているのだけれど,このあたりで躓く学生が多数出る,という場合はフォローをせねばならない。この辺のさじ加減を踏まえたうえでテキストを書かねばならないので,正統的な本書はうちではちと厳しいかな,と。
 もう一つは環境の問題。今のうちの職場のPCクラスタでは,ぜいぜいGbE程度で結線するぐらいが関の山で,InfinibandとかDIMMnetとか10GbEで結合したマシンなんて用意できない。10年前ならCPUの能力も低く,シングルコアが普通であったので,GbEでつないでも,いや100BASE-Tでもそこそこ性能は出たのだが,今のようにマルチコアCPUがふつーで,マルチGPUも珍しくない,という計算ノード能力の向上が達成されてしまったら,GbEなんてNFSぐらいでしか使いようがない。とても本書でぶん回しているような線型計算の通信負荷には耐えられないどころかボトルネックになってしまう。そうなると,MPIを使って並列化したところで性能向上どころか性能低下の実験にしかならないのである。まぁ東大のFX10クラスのマシンがぶん回せる環境が提供できるなら,本書の有難味も体験できるのだが,うちの職場では現状ムリ,ということになる。せいぜいマルチコアCPUマシン1台内部で模擬的にMPIを触ってみる,というぐらいが関の山だ。Linuxが使えるならOpenMPIはタダでyumなりaptなりで引っ張ってこれるので,お好きな向きはコンシューマデスクトップマシンでMPIクラスタを組んでみるのもいい経験になるかもしれない。但し,通信性能が如何に重要かを身をもって経験することになるのだが(ワシみたいに)。
 しかし,本書には,MPIのみならずプログラムの並列化を行うに際して常に当てはまる経験的記述が豊富であり,環境的には厳しくても,噛み応えのある内容をしっかり身に着けたい向きには有用な教科書となることは間違いない。付録CDに,本書で解説されているプログラムが収録されているのもgoodだ。CDじゃなくてWeb配布にして販売価格を安くしてくれたらbestだったが。
 是非ともビンボくさいGbEクラスタでドンくらいの性能が出るのか,PCに囲まれたオタクにはチャレンジしてもらいたいものである。ちなみにワシは本書のLU分解の並列化を卒研ネタにしようと考えている。

5/30(木) 柏->静岡・曇後雨

 昨日からHPC研究会に来ている。今までは一日で済んでいたのだが,講演申し込みが多くて2日に分けたとか。生協なのは結構なことで,実際,今日ものある講演をたくさん聞けて良かった。もうちっとK20のDynamic parallelismの話を聞けるかと思ったが,Intel MIC(ミックじゃなくてマイクと読むみたい)の話が多かったな。特に最後のセッションはそればっかり。使うのは結構大変そうではあるけど,CUDAより敷居は低いみたい。ま,うちみたいな〇〇な〇〇では導入は無理だけど。
 ワシの講演,とりあえず懸案の並列化の報告ができたのでよしとする。そろそろ完成形なので,次は倍精度のCUDA化かな。準備段階の計算はしてあるんだけどイマイチだったので,もう一回気合を入れて,と。纏まったらこれはこれでどっかに投稿しようっと。
 しかしまぁ東大の柏キャンパスは来るたびに新しい建物ができてるなぁ。今日はFX-10の見学もさせてもらったが,施設の充実ぶりはもうとんでもないレベル。来年には柏の葉キャンパス駅近くにもサテライトオフィスっぽいものができるらしい。全く凄いね。
 感心しっぱなしで寝ます。

5/11(土) 駿府->焼津->掛川->駿府・雨

 ふひ~,午前中から午後にかけてひどい雨。今日は神さんの養成で焼津までのルートを確認した後,ワシの風路号を神さんの乗用車とすべく,掛川にて車を交換し,ちょろっと仕事場まで出向いてメールを出したりした後,しずてつストアで買い物をして東名経由で帰宅したのであった。帰路途中,牧の原SA付近で派手に自損していたワゴンがあったが,雨のせいで滑ったのかしらん。
 つーことで,reject論文は無事インドの雑誌に掲載の運びと相成った。こんなにするっと通しちゃって大丈夫かと不安になり,ちょろっと検索してみたら,一応は査読雑誌としてカウントされているようで,レベル的には最低だが,まぁないよりはマシ,という位置づけらしい。ま,次は頑張りましょってことで。予定ではボチボチ次の投稿論文を書き上げているはずだったが,ちと手間取りそうである。何とかあと2週間ぐらいでめどを付けたいところである。
 今週は面倒を見ている職場の外部サーバのRAID1ディスクの片方が逝かれてしまい,その復旧作業で2日ほど取られてしまった。マシンはDELLのPowerEdge T410で,拡張RAIDカードが入っているタイプ。どういうものかはよく分からずに,とりあえず付属のSUSE Enterpriseを入れて運用していたのだが,アップデート機構の縛りがキツくてロクにパッチも当てずに放ったらかしだったのである。
 で,RAIDの故障についてはDELLの電話サポートに助けられながら状況把握。結局例の「かっこんかっこん」という悪魔の音がしていたこともあり,復旧不可能なハードウェアトラブルということで,代替品のSATA HDDを買って自分で取り付けるか,エンジニアに出張ってきてもらって取り付けてもらうかの選択をするということになった。
 しかし,サポートに操られるようにRAIDを弄っているうちに,こりゃ自分でSATA Diskを買ってきて取り付けた方がいいな,ということに気がつき,近所のショップでSeagateの1TB HDDを2つ購入,取り付けてRAID1を再構築してScientific Linux 64 x86_64を突っ込んだら無事復活したのであった。〆て1万円ちょいの追加費用で終わり。ぶっ飛んだ旧ディスクのうち,/homeは読めたので,新環境にまるごとコピーして復旧させたのであった。
 今後のこともあるので,外付けUSBドライブに定期的にバックアップをとるようにしておこうかしらん。しかしぶっ飛んだ時に完全復旧できないRAID1ってのも困ったモンである。
 明日は神さん孝行日につき,今日はもう寝るのである。