Vengineerの妄想

人生を妄想しています。

AMD OpenCL Runtime

はじめに

いつものように、github を散歩していたら、AMD OpenCL Runtime のソースコードgithub にあるのを知りました。

github.com

現在は、ROCm-Developer-Tools に移動して、下記にあります。

github.com

下記のように、OpenCL だけでなく、HIP もあります。

  • hipamd - contains implementation of HIP language on AMD platform. Previously this was hosted at ROCm-Developer-Tools/hipamd
  • opencl - contains implementation of OpenCL™ on AMD platform. Previously this was hosted at RadeonOpenCompute/ROCm-OpenCL-Runtime
  • rocclr - contains common runtime used in HIP and OpenCL™. Previously this was hosted at ROCm-Developer-Tools/ROCclr

OpenCL を眺めてみる

Kernel実行部分 (clEnqueueNDRangeKernel) を眺めてみた。

github.com

下位で、ROCclr - Radeon Open Compute Common Language Runtime を使っているようです。

  command->enqueue();

command->enqueue は、ここで定義されています。

また、Pipeも実装されているようですね。

おわりに

AMD CLR - Compute Language Runtimes は、hipamd と opencl があるのなら、cuda も作っちゃえ、と思うのですが、それって、できないのでしょうかね。

そのために、HIPIFY が用意されているようですが。

github.com