Files
TheRock/rocm-libraries/projects/hipdnn/README.md
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

4.9 KiB

hipDNN

Caution

hipDNN is in the early stages of development. There is currently limited functionality available to execute graphs. See Operation Support for reference.

Note

The published hipDNN documentation is available here in an organized, easy-to-read format, with search and a table of contents. The documentation source files reside in the docs folder of this repository. As with all ROCm projects, the documentation is open source. For more information on contributing to the documentation, see Contribute to ROCm documentation.

Overview

hipDNN is a graph-based deep learning library for AMD GPUs that leverages a flexible plugin architecture to provide optimized implementations and utilities for various routines.


Table of Contents


Getting Started

The fastest way to get started with hipDNN is to follow the quick start steps in the build guide.


Documentation

User Guides

Developer Guides

Testing


Project Structure

hipDNN is organized into several key components. For detailed architecture descriptions, see the Design Overview.

Component Description
Backend Core shared library providing C API for operation graphs and managing plugins
Data SDK Header-only library with shared types, tensor utilities, logging, and the engine name registry
Flatbuffers SDK Header-only library with FlatBuffers schemas, generated headers, graph wrappers, and optional JSON helpers
Frontend Header-only C++ API wrapper around the backend
Plugin SDK Header-only library for plugin development
Samples Example implementations demonstrating hipDNN usage
Tests Tests for the public API (incl. frontend integration tests)
Tools Experimental utilities (e.g., benchmarking, engine listing) — subject to change

Note

Official hipDNN plugins can be found in the dnn-providers folder (e.g., MIOpen Plugin).

Docker Support

See Docker README for containerized development environments.


API Documentation

hipDNN includes Doxygen-generated API documentation for the public C++ frontend.

Building the Documentation

  1. Install Doxygen:

    # Ubuntu/Debian
    sudo apt-get install doxygen
    

    For Windows, download the installer from doxygen.nl/download.

  2. Generate the documentation:

    cd <project-root>
    doxygen Doxyfile
    
  3. Open the generated documentation:

    # Linux
    xdg-open build/docs/html/index.html
    
    # Windows
    start build\docs\html\index.html
    

The documentation covers the frontend API including:

  • Graph construction and execution
  • Tensor and operation attributes
  • Engine configuration and knobs
  • Error handling

Contributing

For information about contributing to the hipDNN project, please see the Contributing Guide.