HIP : un outil AMD de conversion de code CUDA en C++

Par:
fredericmazue

mer, 14/12/2016 - 10:35

Le monde du calcul HPC tel qu'il existe aujourd'hui consiste en de nombreuses applications accélérées avec les GPU, applications qui se basent sur la technologie et l'infrastructure CUDA propriétaires. Le problème avec le logiciel propriétaire est qu'il est pratiquement toujours étroitement contrôlé et son code source est maintenu secret, et en ce qui concerne CUDA, les options matérielles sont limitées à un fournisseur. Telle est l'introduction d'un billet sur le blog d'AMD qui présente un nouvel outil : HIP.

AMD, en grand partisan de l'open source et de standards ouverts, poursuit le billet, a créé HIP, un outil qui permet aux développeurs de convertir leur code CUDA en C++. Ce code C++ résultant peut être compilé par les compilateurs NVCC (CUDA NVIDA) ou HCC (AMD) pour tourner sur la GPU du choix du développeur. D'où le nom de l'outil, Heterogeneous-compute Interface for Portability,  ou HIP.

AMD met en avant plusieurs avantages sur OpenCL (le standard ouvert du Chronos Group pour le sapplications GPU). Avec HIP, les développeurs peuvent coder en C++, mélanger le code host et le code device, tout en utilisant l'artillerie du C++ : classes, lambdas, templates, etc. L'API HIP est moins verbeuse que celle d'OpenCL, et HIP n'a pas ou très peu d'impact sur les performances notamment.

L'outil HIP est open source, accessible sur GitHub.