News HIPCL - von CUDA via HIP nach OpenCL

User-News

Von E555user

Hinweis: Diese "User-News" wurde nicht von der Planet 3DNow! Redaktion veröffentlicht, sondern vom oben genannten Leser, der persönlich für den hier veröffentlichten Inhalt haftet.
Nach dem Release 1.5 von HIP (Heterogeneous-Compute Interface for Portability) vor 2 Jahren gab es dort vor allem Bug Fixing. Das Tool zur automatischen Konvertierung von proprietärem CUDA Code in generischen C++ Code, der sich sowohl für Radeon als auch für GeForce compilieren lässt, wurde zunehmend robuster gemacht.

Unterdessen haben an der Tampere University in Finland sich Pekka Jääskeläinen und Michal Babej von Customized Parallel Computing Group daran gemacht auf Basis des Open Source HIP Tools eine weitere Konvertierung nach OpenCL zu ermöglichen. Das Projekt mit der Bezeichnung HIPCL ist ebenso auf GitHub zu finden. Ziel ist es CUDA Code für jegliche OpenCL Plattformen ausführbar zu machen. Die Problematik der Portabilität für verschiedensten Plattformen will man mittels Fat Binaries mit SPIR-V in den Griff bekommen welche neben Vulkan auch in OpenCL verwendet werden können. Gerade für neue Konkurrenten im GPU Markt ist das interessant (Intel, ARM, etc), da mit Vulkan-Treibern künftig auch OpenCL Support einher geht.


Ähnliche Ideen für CUDA Code gab es auch ohne SPIR-V und OpenCL schon hier. Leider ist es um OTOY und Radeon Support sehr ruhig geworden, vermutlich weil diese sich lieber zunächst auf Nvidias RT-Cores für die Beschleunigung in der Render-Engine konzentriert haben. Der AMD eigene Pro-Renderer hat sich als Alternative entwickelt.
 
Schöne Sache !

Gibts da eigentlich irgendo Benchmarks dazu wo man mal sehen kann wieviel das bringt bw. wie gut das schon funktioniert ?
 
Schöne Sache !

Gibts da eigentlich irgendo Benchmarks dazu wo man mal sehen kann wieviel das bringt bw. wie gut das schon funktioniert ?

HIP Compilate laufen auf CUDA Hardware so schnell wie CUDA.

Bei dem Projekt im Proof-Of-Concept Status für die OpenCL Portierung wird man allein wegen dem OpenCL Treiber auf CUDA Hardware langsamer werden. Die Vergleichbarkeit mit fremden Architekturen und Treiberqualitäten ist dann ohnehin nicht mehr gegeben. Wenn man portiert steht wohl weniger die Performance als die Wiederverwendbarkeit im Fokus. Man kommt dann nicht drumherum sein befreites CUDA Projekt selbst als Portierung zu testen ob es auf der gewünschten Zielplattform (z.B. mobile Geräte) noch performant genug funktioniert.
 
Zurück
Oben Unten