MacbookPro Retina(mid 2012)でOpenCLの続き

そのとき事件は起こった

IRCで色々突っ込まれたのでちゃんとやります…
まずは下調べから

Intel HD Graphics 4000は、AppleOpenCLだとエクステンションとかどうなっているのかを調べます

cl_APPLE_SetMemObjectDestructor
cl_APPLE_ContextLoggingFunctions
cl_APPLE_clut
cl_APPLE_query_kernel_names
cl_APPLE_gl_sharing
cl_khr_gl_event
cl_khr_global_int32_base_atomics
cl_khr_global_int32_extended_atomics
cl_khr_local_int32_base_atomics
cl_khr_local_int32_extended_atomics
cl_khr_byte_addressable_store
cl_khr_image2d_from_buffer
cl_khr_gl_depth_images
cl_khr_depth_images 

おいィ?
このスレは早くも終了ですね

MacbookPro Retina(mid 2012)でOpenCL

なんかまったくブログ書いてなくて…

僕の愛機ことMacbook Pro Retina(通称れてぃーなちゃん)ですが、たびたび話題に挙げている通り
Intel HD Graphics 4000でOpenCLは走らない子でした
そもそも昔はOpenCLバイスとして見えるのはGeForce 650Mだけだったのですが、なんかある日唐突にOpenCLバイスとして見えるようになりました。
まぁさんざん検証性能評価は済んでいるIvyBridgeのGPUの性能なんで、別に今更ーな話ではあるんですが…
(検証ってなんだよって突っ込まれたのでちゃんと検証します…)

下の数字は、空のカーネルを実行したとき≒カーネルが実行されるまでの時間を算出したものです

Platform num : 1
Device name : HD Graphics 4000
Kernel execute done
Kernel execute time : 0.014968 [ms] 

http://d.hatena.ne.jp/w_o/20140829#1409239798
という大先輩の記事もあるけれど、僕らレイテンシのためにどれだけこう…いや、やめよう。悲しくなってくる。

スパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙をXeon Phiで試す

スパコン」ではなく「パソコン」だったらどうなのだろう、と思って試してみたら、10分でした(Core i7 4930K)

というのをXeon Phiで試してみたら5分でした

オリジナルは、YABUKI Taroさんのスパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙を、パソコンで試す(C++)です。
記事中でも触れられている通り、Xeon Phiだと簡単なのか、という点があったので、Xeon Phi普及委員会兼、日本で一番Xeon Phiを無駄にしている系男子(*Yamada System調べ) の山田がひと肌脱ぎました
現在稼働中のYS10'号機のお披露目だ!とばかりに走らせます

コードは、YABUKIさんのところで公開されているものをcloneしてきました
時間計測部分のみをclockからgettimeofdayに置き換えている以外はオリジナルのままです
# gcc, iccだとclockは総和取っちゃうので、あまりにも巨大な数字が出てきて死ぬほどビビりました
# あと、Visual Studioだとclockは総和しないんですね、と手元で実験してみたらそうだったっぽいので驚いている今日この頃です

なーんにも考えず以下

$ icc magicsquare.cpp -O3 -openmp -lm -mmic
$ scp a.out mic0:~/

で、Xeon Phi側にバイナリを送って、必要になるOpenMPのランタイムライブラリを送って、sshXeon Phiにログインして

time ./a.out
num of threads: 228
...
num of solution: 275305224
time for count: 291.291 sec.

real    4m51.470s
user    1099m41.550s
sys     1m0.090s

はい。4930K比で約2倍となりました
魔法陣の解法っていうのは並列度が非常に高いので、こういうMassive Parallelなプロセッサで走らせるとキモチイイですね
このXeon Phiは3xxx系なので、実は5xxx系だともう少し速くなります。あと12スレッドぶんぐらい

……という話を昼ご飯を食べながら先輩と話してたら、
Xeon Phi使ったら1分にしないとダメじゃね?(いい笑顔」
と言われたので、ちょっと最適化します……

関東GPGPU勉強会#3 開催しました

山田です

なんかブログに書いていませんでしたが、12/1に関東GPGPU勉強会#3を開催しました
http://connpass.com/event/3980/

ご登壇いただいた@dandelion1124様、@tanakmura様、@aokomoriuta様、@understeer様、日本AMD林様・西様
会場をご提供いただきましたさくらインターネット様に、この場を借りて多大な感謝を申し上げます。ありがとうございました

当日の様子は、
http://togetter.com/li/
(@tomoaki_teshimaさん今回もありがとうございます!)
にてご覧いただけます

なんといっても、今回の目玉は二つあって
日本AMD様のHSA,Mantleのご説明
AWS様の新しいGPUインスタンス、G2のご説明がホットだったと思います

HSAは言うまでもなく、現在GPGPU界隈をにぎわせているAMDの提唱する新しい枠組みであって、Kaveriの登場がその皮切りになる、という話ですが、実際のところどうなのか、という点については、まだそれを議論する材料が足りませんでした
それに対して、今回、このようにお話がいただけて、情報を出していただけたというのは、APU2013というイベントがあった後という背景はあるにせよ、AMD様のHSAに対する意気込みというのが伝わってくるような気がします
また、AWS様のGPUインスタンスについては、今更僕が多くを語るまでもないようなことではありますが、GPGPUとかを扱う上で問題になる、「ハードウェアどこにおく?」「壊れたらどうする?」「そもそもいいGPUって高くね?」「電気代が…」といったこもごもの問題に対して美しい解法の一つとして存在しているといっていいでしょう
欲を言えば、GK110が採用されればもっと嬉しいなとか、Radeon SkyといったGCNアーキテクチャ系も出てくるといいなーといった感じもありますが、それはユーザーの要望次第とおっしゃっていましたので、とにもかくにも使って、要望を伝えていくというのが重要なのだと思います

つらつらと書いてきましたが、やはりGPGPUは面白いし、上から下までいろんな人がいるのだと思いました
関東GPGPU勉強会として3回を迎えてまいりましたが、これからももっとこの界隈を盛り上げていけるように、僕ももっと精進していきたいと思います

皆さま、今回は本当にありがとうございました