Twitterで拾った記事:Google Looks To Open Up StreamExecutor To Make GPGPU Programming Easierによると、GoogleがGPUを簡単に利用できるというStreamExecutorをオープンソースにするよと。
このStreamExecutorは、TensorFlowで使っているということは、元ネタでも書いてあるけど、
3月5日のブログ、TensorFlowは、Altera OpenCLをサポートしている。でも書いているんだよね。
3月5日のブログ、TensorFlowは、Altera OpenCLをサポートしている。でも書いているんだよね。
で、GPUを使うためのAPI等は共通化できるけど、カーネルはどうなるかというと
元ネタから引用 =========== ======= =========== ========================= Platform Format Location Setter =========== ======= =========== ========================= CUDA PTX disk `AddCudaPtxOnDisk` CUDA PTX memory `AddCudaPtxInMemory` CUDA cubin disk `AddCudaCubinOnDisk` CUDA cubin memory `AddCudaCubinInMemory` OpenCL text disk `AddOpenCLTextOnDisk` OpenCL text memory `AddOpenCLTextInMemory` OpenCL binary disk `AddOpenCLBinaryOnDisk` OpenCL binary memory `AddOpenCLBinaryInMemory` =========== ======= =========== =========================
ここのところの実装は、kernel_spec.ccに書いてあります。
Google君にいろいろと聞いてみたら、見つけた。
GPUCC An Open-Source GPGPU Compiler A Preview、ビデオのPage.9に
Runtimeは、StreamExecを使うとあるし。
GPUCC An Open-Source GPGPU Compiler A Preview、ビデオのPage.9に
Runtimeは、StreamExecを使うとあるし。
GPUCCを使うと今までBLOBだった、CUDA環境が最終的には、Drvier以外はすべてOpenSourceに!
最後のページ(Page.27)には、
最後のページ(Page.27)には、
Plan for release: March 2016
とあったよ。2015 LLVM Developers' MeetingでのGoogleの発表資料
Optimizing LLVM for GPGPUのSlideをクリックしてもありませんが、
ここにありますよ。
また、Youtubuのビデオもあります。
Optimizing LLVM for GPGPUのSlideをクリックしてもありませんが、
ここにありますよ。
また、Youtubuのビデオもあります。