2015の25日目の記事です。ごちうさ二期の最終回後の未来から書いています。Computingで働いております。いう会社なのかよく知らない人も多いと思いますので、簡単に説明しますと、超メニーコアのプロセッサを作っていて、それを搭載するボードとか、それを液浸冷却するシステムとかを作る関連会社があったりして、スパコンとして仕立て上げたりしているような、そんな会社です。なんか積層メモリ作ってる関連会社もあるみたいです。えっ、そんな会社が日本にあるの?って思われるかもしれませんが、実在している会社ですし、実際にモノもできているからたぶん本当にあります。僕がPEZYのことを初めて知ったのはちょうど去年の今頃の、「いろいろ」あってつらい状況にあるときでした。その時に@nushioさんがすごく心配してくれて、誕生日やらなにやらを祝ってくれたりしたのですが、そのときに、こんな「ヤバい」会社があるでっていうことで教えてくれたのがここでした。なにやら独自のアーキテクチャと独自の命令セットで超メニーコアのプロセッサを作っていて、それでスパコンまで作ってるっていう話で、めっちゃ熱く語ってくれるんですけど、にわかには信じがたい話ではあるので、マジでそんな会社あんの?全く聞いたことないんだけど、本当に存在してるの?ていうか、プロセッサってそんなさくっと作れるものなの?作れるのだとしたらなんで世のプロセッサメーカーはあんなに苦戦しているの?もっとそういうメーカーがないとおかしくない?とまあおそらく極めてごくあたりまえな疑問がいくつも浮かんだわけです。それらはプロセッサを作るのがとても大変な仕事で、設計には長期間を要して、たくさんの人的リソースが必要だ、ということに対する状況証拠に過ぎないわけだし、日和ってしまって試行すらされないだけなのではないのか?、という話ではある。それは確かにそうだが、そんなことを言うだけならいくらでも言えるわけで、もうちょい現実味がある話が欲しい。自分も明日行く予定だから、一緒にでも。帰る前に、一通りどういうプロセッサなのかを熱心に語ってくれて、SIMD要素のない1024コアの純粋なMIMDプロセッサで、それぞれのコアはさらにシンプルなスケジューリングのSMTでストールを隠蔽するようになっていて、さらにSMTのスレッドには明示的に切り替える裏と表があって、メモリアクセスなどの長時間のストール時に手動でそれを切り替えてそれを隠蔽する手段を提供しているだとか、キャッシュが用意されているから、一見普通のプログラムがそれなりに動くんだけど、複雑さを減らすためにキャッシュのコヒーレンシを保つ仕組みは何もなくて、Raceを避けるのはすべてプログラマ任せだったりだとか、2次元、3次元の配列にキャッシュ効率よくアクセスするためのZオーダーインデックスの計算が1命令でできるような命令があったりとか、ともかくすごくオリジナリティーあふれるもので。個人的には非常に理にかなった設計には思えて、例えば今のGPGPUでは密な行列の演算以外を十分に効率よく行うのはかなり難しいと思うし、かといってIntelのメニーコアのようなアプローチでは、結局のところGPUに匹敵するFLOPSを確保するには全くコアが足りないので、その分だけSIMD長を伸ばすしかない。SIMD長が長くなるということはその分いびつな形のデータにはやはりフィットしなくなるということになる。理論性能を多くのアプリでうまく引き出せるには、やはり完全なMIMDのほうが望ましいはずなんだ。そのために制御部分を大量に入れ込むために、チューニングの多くの責任をプログラミングに投げてしまって、コア部分をなるべくシンプルにする。プログラマが死ぬほど頑張れば、性能は出るはず。コンパイラ技術がそういう状況をさらに後押しできるはずだし、そうなると自分の力が助けになるのではなかろうか...?というそんなこんなで、見学に行くことになったわけですが。そのとき彼が家に残して行ったのが「エクサスケールの衝撃」という、PEZY社の社長が書いた本なのですが、この内容がこれまたやばい。4,466Amazon.co.jpで詳細を見るどこがどうやばいのかというと、目次を見ればだいたい察することはできると思うのですが、相当にエキセントリックな、ややもすれば「妄想」としか言いようのないことがみっしりと書き記されていて、しかしながら明確におかしなことが書いてあるわけではなさそうで、個人的にはこういうのは好きだし、理解はできるけど、えっマジで言ってるの?っていうそういう意味での如何わしさはさらに増した感はあったわけです。それはともかく見学に行ってみると、そこは普通のビルの一室で、傍目にはとてもではないがそんなとんでもないものを作っているようには見えないし、従業員もそんな多くなさそうで、いたって普通のベンチャーといった感じではあったのですが、高そうなFPGAボードがあったり、カット前のシリコンウエハーが置いてあったりして、こういうレベルでプロセッサ作ってる会社がマジであるのかあと驚きつつも、その時はそのまま帰って、なんだか悶々と考えていました。すごく面白そうなことをしているとは思うのだけど、本当に大丈夫なんだろうか。うーん、うーん、などなどと。考えているうちになんだかんだあって、なんだかんだしていたのはそのころのブログを見ていただくとわかると思うのですが、その間もあの時アプローチしていたらとか悶々と考えることもあって、それからさらになんだかんだあって、ちょうどそのころにPEZYがGreen500でTop1,2,3を独占したとのニュースが出て、マジか、マジでできたんか。僕の直感も多少はあてにはなるものだと、あれだけ疑わしく思っていた自分を棚に上げて感心しきりで、それで改めてアプローチをさせていただいたところ、なんだか全くよくわからないうちに二つ返事で入社が決まり、入社が決まったその日のうちに和光の理研に連れていかれて、Shoubu(和光に設置してあるGreen500でトップを取ったマシンです)を見学しつつプログラムをデバッグしている様子を見守ることになって、この会社アグレッシブすぎるだろう...などと思ったのでありました。いうわけで九月から頑張って働いております。四か月になりますが、すでにかなりいろいろやらせてもらっていて、なかでも入って二か月ぐらいのときに、SC15のブース出展のためにアメリカ出張が入ったのがなかなか刺激的でした。去年、一昨年あたりの僕のブログとかを見ていただくとわかると思うのですが、結構体調面で無理がきかないところがあったのですが、今年に入っておおよそ大丈夫になったということで、こういう仕事もこなせるようになったというのは、ひとつ大きな喜びではあります。それに日常的に社長の無茶ぶりレベルがかなり高くて、nushioさんからどういう風に僕のことを紹介されたのかと言いたくなるような、「できる?できない?できる?やっちゃお!」を地で行くようなことをよく言われるのですが、期待をかけられるのはそれ自体はありがたい話ですし、多少無茶なことを言われたほうが、自分も無茶なことをしでかすような気がするので、それはそれで楽しかったりします。仕事内容は、これは毎日刺激に満ちていて、とても楽しいし、こんなことしてお金がもらえるなんて、自分は幸せ者だなあとかそんな風に思うぐらいやりたいこととかみ合ってるような気がしています。ありえないレベルのメモリと演算性能を、使いたいと思えばいつでも使える環境にあるのは、プログラマ冥利につきるわけだし、じゃじゃ馬のようなプロセッサをうまく乗りこなそうと頑張ったり、あるいはどういうプログラミングモデルを載せれば、プログラマに対して難しい部分を隠せるのだろうかとウンウン考えてみたりとか、もともと言語処理系方面を研究したかった自分にはやっと多少なりともそのあたりが活かせそうな仕事ができそうです。入社当時の僕のツイートをご覧になっていた方は、ことあるごとに「最近、プログラミングが好きだ。」などと頻繁にツイートしていたのを覚えていらっしゃるかもしれません。ごちうさはいいぞさて、ごちうさの話です。こっちが本編なのかな?待ちに待ったごちうさの二期が始まり、そしてあっという間に終わって行ってしまいました。終わってしまったのは悲しいけれど、週に一度、30分の至福の時間をくれたごちうさには本当に感謝です。二期を観て、あらためてごちうさの可愛さは群を抜いているなあと思ったわけですが、何がその要因なのか、これがまた、なかなかに難しい問題です。ほかの類似のアニメと比べると、世界設定がずいぶんと異なるというところがあります。数人で何かするという形になっているのですが、ごちうさはメインのキャラクターがそれぞれ別の学校に通っていますし、どちらかといえば女の子ありきというよりも、木組みの街があって、そこに住むチノちゃんと、迷い込んだココアさんを中心とした、一つの街のお話といった印象を受けます。現代日本と違う、架空のとてもかわいらしい街はそれ自体で一つの非日常であり、非日常的な風景には俗世から切り離された、絵画や芸術を思わせる情緒があります。非日常に迷い込んだ少女とうさぎの話、これは一つの不思議の国のアリスの可能性ともいえるでしょう。いったファンタジーをにおわせることで、作品世界ごとかわいさを一つ上のレベルに持ち上げることに成功したのがごちうさであり、まさにその非日常の中の日常というものが、ある種のかわいいに対する最適解を構成するための有望なアプローチであるということが、これによって示唆されるわけです。そんなことはわりとどうでもよくて、こんなことを考えなくても、ごちうさがとてもかわいいのは誰しも映像を観れば一目瞭然になっているのです。