GPUといえば、さくらの高火力!
1時間357円でレンタルできる、NVIDIA Tesla P100モデルを使ってみました。(T100モデルは月額プランのみ)
契約してから使えるようになるまで何分か時間がかかります。利用開始時間として表示される前から実際使えるおまけがありました。(おまけ時間中は終了できない���で注意!)
浮動小数点演算(float)9.3TFLOPSという性能。OpenCLではこのように見えました。
OpenCLバージョン1.2、コンピューティングユニット56、1.3GHz、最大メモリ確保量4GB、ローカルメモリ48KB、ワークグループサイズは1024。(MacBookProのGPUでは、それぞれ1.2、48、1Hz、384MB、64KB、256 と極端な差は見えず)
高火力サーバー、ユーザー名ubuntu、管理画面のパスワードとIPで、sshを使ってログイン。
NVIDIAのサイトからドライバをダウンロード用スクリプトを取得します(Linux/x86_64/Ubuntu/14.04/Type...dev(network))
sudo apt update sudo apt upgrade sudo apt-get install wget sudo apt-get install software-properties-common sudo apt install ocl-icd-libopencl1
などで、必要なものと合わせてセットアップ!(参考、CUDA Toolkit/GPUカードドライバー導入手順 – さくらのサポート情報)
OpenCLのヘッダファイルを探してみます。
$ find / -name cl.h 2> /dev/null /usr/local/cuda-10.1/targets/x86_64-linux/include/CL/cl.h /usr/include/nvidia-418/CL/cl.h
MacとLinuxでヘッダファイルが違うので、編集
#ifdef __APPLE__ #include <OpenCL/opencl.h> #else #include <CL/cl.h> #endif
あとは、コンパイルして実行するだけ!
$ g++ -I/usr/include/nvidia-418/ test.c -lOpenCL $ ./a.out
結果、1000万個の配列の足し算の結果。
time[sec]=0.375 cpu[sec]=0.375 cpu usage=99.94% - Tesla P100 GPU time[sec]=5.382 cpu[sec]=0.091 cpu usage=1.69% - MacOS GPU
14倍速!
もっと差がでると思いましたが、例が悪かったのでしょう。
手順は押さえたので、また何か作った時に試してみようと思います。
もうちょっと手頃なGPU付きクラウド、登場してほしいところです。