News [Phoronix] HIPCL - Running CUDA code on any OpenCL + SPIR-V capable hardware

Krteq

Senior member
May 22, 2015
991
671
136
Based off AMD's GPUOpen HIP as part of their ROCm stack, researchers at Tampere University in Finland have created HIPCL as leveraging HIP as well as POCL for routing CUDA codes to run on any hardware supporting OpenCL+SPIR-V.

HIPCL provides a path of running CUDA on top of OpenCL, permitting the OpenCL driver also supports the SPIR-V intermediate representation. The OpenCL implementation also needs to support Shared Virtual Memory (SVM) so that actually rules out using NVIDIA's own driver for taking this route in place of their actual CUDA driver. HIPCL also relies upon a patched version of the LLVM Clang compiler.
Phoronix.com - HIPCL Lets CUDA Run On OpenCL+SPIR-V

HIPCL, same as AMD HIP, is opensourced under permissive licence

This is a big thing for HPC and small research groups :)
 
  • Like
Reactions: prtskg

NTMBK

Lifer
Nov 14, 2011
10,208
4,940
136
The Readme mentions "TEXTURES not implemented", and warp shuffles don't work. Sounds like a cute toy, but useless for anything performance sensitive.
 

Krteq

Senior member
May 22, 2015
991
671
136
It's initial "experimental"/POC release. As they mentioned in publication release, you can't expect all functions implemented in this state :D but still nice to have something like this.
The first release of HIPCL is a proof-of-concept, but is already useful for end-users. It can run most of the CUDA examples in the HIP repository and the list of supported CUDA applications will grow steadily as we add new features. That being said, we naturally welcome contributions from the community in the form of pull requests and issue reports with CUDA applications that do not port. However, when reporting issues on non-porting CUDA applications, please first make sure that your application works with the upstream HIP to ROCm path, since our primary focus is on getting the OpenCL support on par with it. The current status of HIPCL will be kept up to date in the README section on the front page of the Github repository. If you plan to work on a new feature, please let us know first by opening a feature request issue to avoid us working on it at the same time.
computer.org - HIPCL: From CUDA to OpenCL Execution
 

Stuka87

Diamond Member
Dec 10, 2010
6,240
2,559
136
The Readme mentions "TEXTURES not implemented", and warp shuffles don't work. Sounds like a cute toy, but useless for anything performance sensitive.

Most places running CUDA code are not doing it for rendering. So not being able to do textures has little impact on most users. Warp shuffles will have a bigger impact, but isn't the end of the world.
 

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,120
260
136
Yeah ...

Not a fan of using translation layers and this only works on Intel's OpenCL stack who were building SYCL Clang on it anyways so it's a pointless exercise ...

OpenCL is a joke and so are most of Khronos APIs too!