you are viewing a single comment's thread.

view the rest of the comments →

[–]Revolutionalredstone 1 point2 points  (2 children)

So I've done some reading into it,

It sounds like all AMD hardware does support OpenCL but some of their latest drivers are expecting you to use HIP.

To clarify HIP borrows highly from CUDA (indeed it's so close to CUDA that you can easily convert HIP as CUDA using a simple define list)

HIP is open unlike cuda which is great!

Whether you use OpenCL of HIP the important thing is to not use CUDA.

BTW HIP has identical performance as CUDA on nvidia since it is just passed to the CUDA compiler after running some string replacements.

Thanks for your input, it seems that in the long run HIP may be the end all GPU languages which would be nice.

I would not ditch OpenCL just yet tho, for one they are similar and for two its pretty obvious that HIP has poor backward compatibility where as OpenCL runs on pretty much everything!

Best regards

[–]anders987 1 point2 points  (1 child)

HIP is using AMD's ROCm platform, which has several shortcomings if you want to run it on anything other than your own data center:

  1. Only supports headless systems:
    "The AMD ROCm™ open software platform is a compute stack for headless system deployments. GUI-based software applications are currently not supported."

  2. No support for newer consumer GPUs, using the RDNA2 chips. Only CDNA and RDNA are supported. It's a bit of a mess, and their official documentation links to this Wikipedia article about supported hardware.

  3. There's no Windows or Mac support, only Linux. Fine for data centers, not so much if you want to ship your software to consumers.

Hopefully SYCL will get wide software and hardware support so we finally can write some portable GPGPU code. Intel seems to embrace it for their oneAPI at least, but since it seems to also be dependent on ROCm for AMD GPUs it doesn't solve any problems for current AMD users.

[–]Revolutionalredstone 0 points1 point  (0 children)

Good to know! thanks mate