awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
ROCm avatar

ROCm/hip

0
View on GitHub↗
rocmdocs.amd.com/projects/HIP↗

Hip

HIP is a C++ runtime API and kernel language for writing parallel GPU code that runs on AMD GPUs and can also target NVIDIA GPUs. It is part of the AMD ROCm GPU compute platform and lets host code and GPU kernels live together in ordinary C++ source files, which a Clang-based compiler splits into CPU and GPU portions at build time. Kernels are launched with an inline grid-and-block syntax, and the runtime covers launching kernels, managing device memory and coordinating work between CPU and GPU.

What sets HIP apart is its close mirroring of the CUDA runtime API. Existing CUDA applications can be moved to AMD hardware largely through mechanical renaming, without a full rewrite. The same codebase can build for either AMD or NVIDIA hardware, with runtime calls forwarded through a thin dispatch layer to the native AMD runtime or an NVIDIA backend.

The programming model organizes work into a hierarchy of thread blocks within a grid, with per-block shared memory and barriers for cooperative computation. Kernel launches and memory copies are queued onto ordered streams that run independently of the CPU, and events are used to synchronize them. Many device functions and intrinsics are supplied as inline headers that the compiler expands directly into GPU instructions. Typical uses include heterogeneous CPU-GPU applications and compute-heavy scientific workloads.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • GPU Programming Runtimes - Provides a C++ runtime API and kernel language for portable parallel code that runs on AMD GPUs and can also target NVIDIA GPUs.
  • CUDA Source Converters - Moves existing CUDA applications to AMD GPUs with minimal code changes through an interface that closely mirrors the CUDA model.
  • Cross-Vendor Compute Engines - Lets one GPU codebase build and run on both AMD and NVIDIA hardware, avoiding single-vendor lock-in.
  • C Language Extensions - Adds a C++ language extension for writing data-parallel kernels that run across thousands of GPU threads alongside host code.
  • GPU Kernel Programming - Lets developers write C++ kernels and call runtime functions to run parallel code on AMD GPUs alongside regular CPU code.
  • API Surface Mirroring - Exposes function and type signatures that closely match the CUDA runtime API so existing code maps over through mechanical renaming.
  • CUDA Compatibility Layers - Provides an interface mirroring the CUDA model so CUDA applications can run on AMD hardware with minimal changes.
  • AMD Hardware Acceleration - Belongs to the open ROCm stack for AMD hardware, providing the compiler, runtime and libraries needed for accelerated workloads.
  • GPU Kernel Offloading - Compiles marked C++ kernel functions into GPU machine code and embeds the binary in the host executable for loading at run time.
  • GPU Stream Execution - Queues kernel launches and memory copies onto ordered streams that run independently of the CPU, with events for synchronization.
  • GPU Kernel Launch Configurations - Launches kernels with an inline triple-chevron expression that sets grid and block dimensions and is rewritten into runtime launch calls.
  • GPU-CPU Backend Dispatchers - Forwards runtime calls through a thin wrapper to either the native AMD runtime or an NVIDIA backend with almost no overhead.
  • Single-Source Host-Device Compilation - Lets host code and GPU kernels live in the same C++ files, with one compiler pass splitting CPU and GPU portions at build time.
  • Thread Block Hierarchies - Organizes parallel work into grids of thread blocks with per-block shared memory and barriers for cooperative computation.
  • Heterogeneous Computing Libraries - Provides a runtime library for launching kernels, managing device memory and coordinating work between CPU and GPU.
4,425 stars·591 forks·C++·MIT·0 views

Star history

Star history chart for rocm/hipStar history chart for rocm/hip

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Hip

These projects share indexed features with Hip. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • rocm-developer-tools/hipROCm-Developer-Tools avatar

    ROCm-Developer-Tools/HIP

    4,362View on GitHub↗

    HIP is a C++ GPU kernel language and cross-platform runtime designed for writing portable high-performance compute applications. It provides a programming interface that allows a single source codebase to execute on both AMD and NVIDIA GPU architectures. The project functions as a compatibility layer that enables the conversion and migration of existing CUDA source code to run on AMD hardware. This is achieved through a syntax mapping that mirrors CUDA and a source-to-source translation process during compilation. The toolkit covers the broader surface of cross-platform GPGPU development, in

    C++
    View on GitHub↗4,362
  • nvidia/cuda-samplesNVIDIA avatar

    NVIDIA/cuda-samples

    9,745View on GitHub↗

    This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves as a GPGPU implementation guide and a parallel computing reference, providing code for using graphics hardware to perform general-purpose calculations and high-performance parallel processing. The project provides specific samples for GPU kernel development and resource management. These include demonstrations of multi-GPU communication, peer-to-peer memory access, and system hardware inspection to coordinate distributed GPU resources. The codebase covers a wide range of capa

    C++cudacuda-driver-apicuda-kernels
    View on GitHub↗9,745
  • rocm/rocmROCm avatar

    ROCm/ROCm

    6,645View on GitHub↗
    Shelldocumentation
    View on GitHub↗6,645
  • packtpublishing/learn-cuda-programmingPacktPublishing avatar

    PacktPublishing/Learn-CUDA-Programming

    1,258View on GitHub↗

    This project serves as a comprehensive educational resource for learning parallel programming and high-performance computing using graphics processing units. It provides technical guidance on the fundamental paradigms required to offload computationally intensive tasks from a host system to specialized hardware accelerators. The materials cover the core methodologies for managing data-parallel operations, including the orchestration of memory between host and device spaces and the organization of threads into structured grids and blocks. It details the execution models necessary to distribute

    Cuda
    View on GitHub↗1,258
Compare all 30 related projects→

Frequently asked questions

What does rocm/hip do?

HIP is a C++ runtime API and kernel language for writing parallel GPU code that runs on AMD GPUs and can also target NVIDIA GPUs. It is part of the AMD ROCm GPU compute platform and lets host code and GPU kernels live together in ordinary C++ source files, which a Clang-based compiler splits into CPU and GPU portions at build time. Kernels are launched with an inline grid-and-block syntax, and the runtime covers launching kernels, managing device memory and coordinating…

What are the main features of rocm/hip?

The main features of rocm/hip are: GPU Programming Runtimes, CUDA Source Converters, Cross-Vendor Compute Engines, C Language Extensions, GPU Kernel Programming, API Surface Mirroring, CUDA Compatibility Layers, AMD Hardware Acceleration.

Which projects share features with rocm/hip?

Projects with overlapping indexed features include: rocm-developer-tools/hip — HIP is a C++ GPU kernel language and cross-platform runtime designed for writing portable high-performance compute… nvidia/cuda-samples — This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves… rocm/rocm. packtpublishing/learn-cuda-programming — This project serves as a comprehensive educational resource for learning parallel programming and high-performance… nvidia/cuda-rust — cuda-rust is a Rust toolchain for writing NVIDIA CUDA GPU kernels and managing the host-side resources that run them.… juliagpu/cuda.jl — CUDA.jl provides a programming interface for executing custom kernels and performing parallel array computing directly…