AMD announces 'hipThreads', a library for porting CPU-based programs to GPUs



AMD has announced hipThreads , a C++-style parallel processing library that allows C++ code written for processing on CPUs to be ported to run on AMD GPUs.

GitHub - ROCm/hipThreads

https://github.com/rocm/hipthreads



Introducing hipThreads: A C++ - Style Concurrency Library for AMD GPUs — ROCm Blogs
https://rocm.blogs.amd.com/software-tools-optimization/hipthreads-introduction/README.html



AMD Announces hipThreads For Easier Porting Of C++ Code To GPUs - Phoronix
https://www.phoronix.com/news/AMD-HIP-Threads

hipThreads is a C++-style concurrency library for AMD GPUs that brings a familiar threading abstraction to GPU programming by implementing C++ threads and synchronization primitives in GPU code.

The image below, created by AMD, clearly shows what it looks like: The red highlights the code that has been removed, and the green highlights the code that has been added. It basically just involves replacing 'std::thread' with 'hip::thread.'



'std::thread' is a function used in C++ for parallel processing, and hipThreads makes similar concepts available in the form of 'hip::thread', 'hip::mutex', 'hip::lock_guard', 'hip::condition_variable', etc.

The following five points are prerequisites for using hipThreads.

1: Linux OS (Ubuntu 22.04 or later recommended)
2: CMake 3.21 or later
3: Build tools ('make' and 'ninja')
4: ROCm 7.0.2 (HIP runtime, hipcc )
5: libhipcxx v2.7

in Software, Posted by logc_nt