一日雨がそぼ降る日。今朝より夜の方が温かく感じたぐらい。もう雪はすっかりなくなったなぁ。
昨日に引き続き,紀要原稿を完成させるべく奮戦するも午前中には終わらず,午後まで引きずることになった。土壇場になってTesla C2070だけじゃなく,GT640の結果も載せようなどと無謀なことを思いつくからである。いや本来ならGTX680の結果も欲しかったのだが,あいにくまだ職場のサーバがシャットダウンから回復していないのであった。ま,おかげでデータが減って見通しのいい(ワシだけ主観)内容になったからいいとしよう。ま,予定通り,CUBLASもMAGMAも使い込んだし,カーネル関数も書いたし(LU分解の例はやり過ぎだった・・・),知識仕込み時の内容としてはこの程度でございましょう。もう少し作りこんでちゃんと公開できるところまで持っていきたいところ。さてどーなりますやら。
職場に原稿と投稿票を送付してヤレヤレ。次の仕事に取り掛かるか・・・と思いつつも,一段落つくともうダメ。気力が萎えたところで中年の体力不足が追い打ちをかけ,ズルズルに。つーことで午後7時過ぎに早じまいして帰宅という仕儀になった。
しかしまぁ,確かにCUBLASやMAGMAを使うだけのお手軽なGPU使用方法もありだと思うが,実際どの程度の効用があるかどうかは自分の手元のコードで確認しないことには何とも言えない,というのはどうなんだろーな。何でもそうだけど,自分の役に立つかどうかは自分で確認しないとダメだということは良く分かった。
さて,土曜日には神さんが押し掛けて来て押し潰されることになるので,明日以降は頑張って最後の一仕事を成し遂げねばなぁ。帰ったら書類仕事に忙殺されそーだし,何よりクラスタサーバのメンテナンスという大仕事も控えているし。
ではお休みなさい。
3/17(日) 由利本荘・晴
ふ~,昨日は午前中のんびりしつつカレーなぞを作っていたのだが,午後から出勤(というのかな?)してさて紀要原稿のためのCUDAプログラムサンプルを作ろうとLU分解の並列化謎を始めたらさぁ大変。__syncthreads()はブロック内でしか行われず,複数ブロック同時の同期はグローバル関数から出ないと無理,ということが分かったのが昨夜11時頃。生半可にCUDAプログラムを作っていたツケか出たってことである。それでも何とか出来上がったので,そのままレオパレスに戻ってバタンキュー。今日はさっさと起き出してセコセコ朝から夕方まで粘ったおかげで何とか紀要原稿の下書きは一通り出来た。明日,全面的に見直しして,さっさと送付してしまおう。
にしても,ずいぶん春めいてきた。来た時には何十年ぶりかという積雪だったのが,今や降ってもせいぜい雨。今週少し寒くなって雪がちらつくようだが,まぁ長続きはしまい。
人の入れ替わり時期なのか,雪だけでなく車もだいぶ減った。ここを引き上げる頃には引っ越ししてくる人でごった返すのかしら?
鳥海山(だよな)もきれいである。
そうそう,M君のシャットダウン作業,ちゃんとやっていただいたことをここに記しておくのである。明日も立ち上げ作業よろしくね。
さて,明日も頑張るのである。で今週中に懸案のもう一つを片付けるのだ!
意気込みだけは示して寝ます。
3/15(金) 由利本荘・晴
本日もいい天気。まだ朝方の気温はマイナスになるが,今後雪が積もることはなさそうである。大枚はたいたスタッドレスタイヤの出番はもうないということで,これはこれで寂しいな。
つーことで,無事(?)カーネルコードも出来上がって,あとはベンチマークのみ,というところで今日は原稿の下書きに取り掛かる。CUDAの歴史をちみっと漁ってみたら,懐かしいPC互換機自体の話題がいっぱい出てきて収拾がつかなくなり全部没。テキトーなイントロを書いて,テキトーなCUDAアーキテクチャの図を描いたところで力尽きて午後8時頃レオパレスに帰還した。ぼちぼち息切れしてきたかな。
明日はカレーを仕込んだ後,原稿下書きに勤しむ予定。日曜には完成して月曜日には送付したいがどうなることやら。明日から職場のサーバが電気設備点検のため停止するので,日曜日には送付したくでも出来んのであるな。
しかし,うちの研究室サーバのシャットダウン頼んでいたM君から返事がないな。すっかい忘れられているらしい。まぁ二週間ほどWebデザイン特別プログラムの学生作品へのアクセスが出来なくなるだけなんだけど。
つーことで,早めに帰宅した後は,マックスバリューで大量に食料を買い込み,未入手だった漫画2冊+予定外の一冊を購入。帰る頃には段ボール一箱分の漫画を抱えて帰ることになるであろう。まぁ研究の方も一応順調ではあるしこのぐらいは(そうか?)。
さて,明日に備えて早めに寝るのである。
3/14(木) 由利本荘・晴
また一日またいでしまった。昨日は夕方から持病の癪が,じゃなくて,偏頭痛が出て,夜7時過ぎに早退(?)させてもらい,風呂にも入らず朝6時過ぎまでぐっすり寝てしまった。しかしそれでもまだ取れず,結局,神さんに持たされたバファリンを服用し,何とか朝9時頃の重役出勤が可能なレベルまで回復。昨日の頭痛の原因らしき諸問題が解決した今日の夕方になってようやく頭の奥に頭痛の巣が引っ込んでくれたようである。まだ頭の奥が重いような気がするが,まぁ明日には治るでありましょう。神さんは心配して脳ドックに行けと言っているが,MRIでもかかれば原因が分かるもんのかなぁ。クモ膜下出血や脳溢血予防になるならいいけどねぇ。
つーことで,精神的に頭の痛い諸問題,一応本日で解決を見た。なるべくcublasとmagmaだけを使ったホストプログラムだけでGPUを弄ろうという目論見は2月末日には消え,どー頑張ってもブロック行列構築部分はカーネル関数を書かねば解決しないということは分かっていたが,取り掛かるとこれが結構面倒。今までテキトーに流していた部分を徹底的に見直す羽目になり,最後の諸問題が,「cublasは行列をcolumn majorでしか扱えない」ということに起因していたことが判明,row majorな線型計算ばかり作っていたワシにDongarraの雷が落ちたようである。
つーことで一応当初の目論見通り,最初目標だった,倍精度陽的・陰的Runge-Kutta法のGPGPU化は一応終了。後者については最適化の余地が多数残っているが,それはGWまでの課題ということにしておいて,ともかく目前に迫った(つーか,本来はとっくに過ぎている)紀要原稿に取りかからねば。明日はベンチマークをシコシコやりつつ,文面を考える多忙な一日となるであろう。
その合間に,ラスベガスのカンファレンスの宿泊申し込みを行う。グループコードが必要だから直接ホテルに電話して予約しろと書いてあったが,その通り電話しても全然繋がらない。結局,グループコードなしでWebから予約したのだが,主催者に確認したら「ちゃんとコード指定してやり直せ」とぶっきらぼうな返事。一応その旨,ホテルのWebページから申し込んでみたが,今のところ返答なし。面倒だから,このまま予約しておいて,そのままカンファレンスに出てみよう。断られたらそん時はそん時だぁね。I do my best to reserve as you saidではあるのだから。
更に同時並行して,先日の多倍長精度計算フォーラムのスライドの再投稿(ミスが見つかったもんで)と,高精度計算の扉の事例報告への掲載を依頼,早速載っていた。これで多倍長がらみのやり残しの仕事は終わりかなぁ。
ところで,先日のフォーラムで,この事例報告フォームからの投稿って方法と日本語でのみ提示というやり方について議論があった。その通りかと思うんだが,さりとて税金で賄われているプロジェクトで日本語なしってのは逆に異論が出そうだし,英語なら日本国外からのリンクに頼った方がいいんじゃないかと。あと,WikipediaやSNSでの広報ってのは,一番魅力出来ではあるけれど,それが公的な仕事と,頭の固い人たちが思ってくれるかどうかって問題はありそうである。
つーことで,無事風呂にも入れたので寝ます。
3/12(火) 由利本荘・晴
日本海側にしては珍しい晴天。雪も大分なくなったし,ぼちぼち春かしら。朝晩の冷え込みはまだきついので,ヒートテックは手放せないなぁ。
今日は一日,CUDAプログラムの謎に振り回される。global関数を記述したcuプログラムと,純然たるホストCプログラムとのリンクはiccコンパイラでも難なくできたのだが(NVCCにオプションの設定が必要),試しにとdevice関数としてLU分解と前進・後退代入のプログラムを書いたら挙動が変。global memoryはGB単位であるはずなのに,この二つのdevice関数を組み込んだglobal関数を1 threadで走らせたら,一気に使用可能メモリが減り,300次元程度の問題しか解けない。それ以上の次元数を与えるとcudaMallocがエラーを返してくる。どーも,kernelコードの内容によって,確保できるメモリ量が変わってくるようなのだが,このあたりの仕様が全然わからん。GT640でも数千次元640までキチンと解いてくれるmagmaはその点えらいなぁ。遅いなんて言ってごめんなさい。でももっと速くしてほしいけどね。
とはいえ,一応動くことは動いたので,明日はブロック行列構築にチャレンジしてみるか。
という目標が出来たので,今日はこの辺で。