HIP Ray Tracing
Advanced Rendering Research Group

HIP RT is a ray tracing library for HIP, making it easy to write ray-tracing applications in HIP. The APIs and library are designed to be minimal, lower level, and simple to use and integrate into any existing HIP applications.

Although there are other ray tracing APIs which introduce many new things, we designed HIP RT in a slightly different way so you do not need to learn many new kernel types.

Download the latest version – v2.4.6b6daf9 (September 2024)

This release adds the following

  • H-PLOC and improved wide BVH conversion.
  • CMake support.
  • Configurable HIPRT path via an environment variable.
  • New gfx architectures supported.

Features

  • Ray triangle intersection.
  • Ray custom primitive intersection.
  • Ray mask to filter geometries.
  • Several bounding volume hierarchy (BVH) options.
  • Load and store BVH handy for offline construction.
  • BVH import.
  • Motion blur.

Requirements

HIP RT runs on AMD and NVIDIA® GPUs. HIP and CUDA® APIs are dynamically loaded so you do not need to have these SDKs if you have these dlls installed with the driver package. Hardware accelerated ray-tracing only works on AMD RDNA™ 2 GPUs (AMD Radeon™ RX 6000 series or newer).

The supported AMD GPU architecture families are:

  • Navi3x (Radeon RX™ 7000 series).
  • Navi2x (Radeon RX™ 6000 series).
  • Navi1x (Radeon RX™ 5000 series).

You will also need AMD Software: Adrenalin Edition 23.30 or later for Windows® and ROCm 5.7 for Linux.

Version history

  • H-PLOC and improved wide BVH conversion
  • CMake support
  • Configurable HIPRT path via an environment variable
  • New gfx architectures supported
  • hiprtBuildTraceKernel can return only the HIP module
  • HIP module caching and unloading (fixing a memory leak)
  • Fixing matrix inversion and identity check
  • Fixing refit and other minor issues
  • Multi-level instancing
  • Triangle pairing
  • AS Compaction
  • Optimized BVH build speed
  • HIPRT binaries compiled with ROCm 5.7
  • A fix for caching trace kernels
  • A fix for the custom function table compilation
  • A fix for the fast and balanced builders with custom streams
  • Dynamic traversal stack assignment
  • Batch BVH construction
  • Transformation query functions
  • Improved BVH construction speed
  • Improved RT speed for transformed instances
  • Fixed geometry IO API
  • Optional trace kernel caching
  • BVH memory optimization
  • SBVH speed optimization
  • Fixing hiprtBuildTraceKernels
  • Dynamic loading via HIPRTEW
  • Traversal optimization
  • Bitcode and precompilation
    • 527.41 or newer driver is necessary to run on NVIDIA® on Windows®
  • Performance improvement
  • Navi3x support
  • MI60 and MI200 support
  • Traversal hints for better performance
  • Concurrent build via streams
  • Custom function table
  • Intersection filter
  • Transformation matrices support
  • Multiple templated kernels
  • Added ray t min
  • Support for custom payload in custom intersection.

  • Improvement in BVH construction time.

  • Flag to disable spatial splits.

  • Reduced memory bandwidth required for BVH construction.

  • Stack overflow handling.

  • Linking with HIP (non-Orochi).

  • Fixed:
    • 22.7.1 driver regression.

    • Navi10 specific bugs.

    • Vega wavefront count issue.

    • Other bugs.

  • Initial release

Blogs related to HIP RT or HIP

HIP Ray Tracing

Introducing HIP RT v2.2

With the release of v2.2, HIP RT now support multi-level instancing. Multi-level instancing can help to reduce memory requirements, allowing you to render large scenes with limited memory.

Introducing Radeon™ GPU Profiler 2.0!

Radeon™ GPU Profiler 2.0 is packed with brand-new features and updates. This release includes a new customizable layout to the Wavefront Occupancy View, support for dark mode in UI, thread divergence monitoring in raytracing pipelines, and much more.

Related SDKs

AMD Orochi

Orochi

Orochi is a library which loads HIP and CUDA® APIs dynamically, allowing the user to switch APIs at runtime.

AMD Radeon Rays

Radeon™ Rays

The lightweight accelerated ray intersection library for DirectX®12 and Vulkan®.

AMD SDK License Agreement (HIP RT SDK)

ADVANCED MICRO DEVICES, INC.

SOFTWARE DEVELOPMENT KIT (SDK) LICENSE AGREEMENT

(HIP RT SDK)

 

IMPORTANT-READ CAREFULLY: DO NOT INSTALL, COPY, OR USE THE ENCLOSED AMD SOFTWARE DEVELOPMENT KIT, (THE “SDK”), INCLUDING SOFTWARE, SAMPLE CODE, DOCUMENTATION (AS DEFINED BELOW), OR ANY PORTION THEREOF, (COLLECTIVELY “LICENSED SOFTWARE“) UNTIL YOU HAVE CAREFULLY READ AND AGREED TO THE FOLLOWING TERMS AND CONDITIONS. THIS IS A LEGAL AGREEMENT (“AGREEMENT“) BETWEEN YOU (EITHER AN INDIVIDUAL OR AN ENTITY) (“YOU” or “YOUR”) AND ADVANCED MICRO DEVICES, INC. (“AMD“).

IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT INSTALL, COPY, USE, OR DISTRIBUTING THE LICENSED SOFTWARE. BY INSTALLING, COPYING, USING, OR DISTRIBUTING THE LICENSED SOFTWARE YOU ARE EXPRESSLY AGREEING TO ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT.

  1. Definitions.
    1. Derivative Works” means any work, revision, modification, or adaptation made to or derived from the Redistributable File in whole or in part as integrated into or combined with Licensee Product.
    2. Free Software License” means an open source or other license that requires, as a condition of use, modification or distribution, that any resulting software must be (a) disclosed or distributed in Source Code form; (b) licensed for the purpose of making Derivative Works; or (c) redistributable at no charge.
    3. Intellectual Property Rights” means all copyrights, trademarks, trade secrets, patents, mask works, and all related, similar, or other intellectual property rights recognized in any jurisdiction worldwide, including all applications and registrations with respect thereto.
    4. Licensed Purpose” means the internal creation of Licensee Product that work with AMD hardware products.
    5. Licensee Products” means any software, products or technologies developed or modified by You using the Licensed Software, and which may include the Derivative Works and/or Redistributable Files.
    6. Object Code” means the machine readable form of the Licensed Software (as opposed to Source Code form of computer programming code) created by or for Your by compiling the Source Code, or as delivered by AMD, including the object code version of any Derivative Work.
    7. Redistributable Files” means the header files, libraries, and Source Code identified within the Licensed Software as sample code or redistributable.
    8. Source Code” means computer programming code in the human readable form and related system level documentation, including all associated comments, symbols and any procedural code such as job control language.
    9. Documentation” means documentation, associated, included, or provided in connection with the Licensed Software, or any portion thereof, including but not limited to information provided online, electronically, or as install scripts.
  2. License Grant. Subject to Your compliance with this Agreement, AMD grants You a non-exclusive, revocable, non-transferable, non-assignable limited copyright license to:
    1. install, use, and copy AMD’s Licensed Software and Documentation for internal use only at Your sites solely for the purpose of evaluating the Licensed Software for use with AMD’s products as used with Licensee Product;
    2. create Derivative Works solely for Your internal use and testing; and
    3. distribute and sublicense the Object Code of the Redistributable Files and/or Derivative Works solely as incorporated into Licensee Product to Your customers and end users (collectively, “Distribution Channel”) subject to an end user license agreement that meets the requirements in Section 3. Such distribution may be made through multiple tiers of distribution.
  1. End User License Agreement. Distribution of Licensee Product by You and Your Distribution Channel will be pursuant to an enforceable end user license agreement (“End User License Agreement”) with terms and conditions that at a minimum are substantially similar to those set forth in Sections 4, 5, 6, 9 and 10 herein and the following provisions: (a) prohibition on transfer or duplication of Licensee Product (except for reasonable backup); (b) prohibitions on reverse engineering (unless required by law for interoperability), disassembly or de-compilation of Licensee Product; (c) Reserved; (d) all warranties must be disclaimed and AMD’s liability must be limited as set forth in Section 11 herein; and (d) the end user must comply fully with all relevant export laws and regulations of the United States and other applicable export and import laws. You will be financially responsible for all claims and damages to AMD caused by a breach of this Section 3. AMD is a third party beneficiary of any end user license agreement.
  1. Reservations; Restrictions. All Intellectual Property Rights in the Licensed Software are the sole and exclusive property of AMD or its licensors, and You have no right, title, or interest to the Licensed Software except as expressly set forth in this Agreement. Except as expressly set forth in this Agreement and solely to the extent set forth in this Agreement, You will not:
    1. modify or create derivative works of the Licensed Software;
    2. distribute, publish, display, sublicense, assign, or otherwise transfer the Licensed Software or any derivative work;
    3. decompile, reverse engineer, disassemble or otherwise reduce the License Software in Object Code to a human-perceivable form (except as expressly allowed by applicable law but then only to the limited extent of such law);
    4. alter or remove any copyright, trademark, or patent notice(s) in the Licensed Software;
    5. use AMD’s trademarks in Licensee Product name or advertising in a way that suggests Licensee Product comes from or is endorsed by AMD;
    6. distribute the Licensed Software or any portion of the Licensed Software on a stand-alone basis or other than as incorporated in the form of Licensee Product;
    7. use the Licensed Software in applications intended to support or sustain life, or in which the failure of Licensee Product could create a situation where personal injury, death, or severe property or environmental damage may occur;
    8. use the Licensed Software to develop inventions directly derived from Confidential Information to seek patent protection, assist in the analysis of Your patents and patent applications, or modify Your existing patents or patent applications; or
    9. use the Licensed Software in a way that requires the Licensed Software, or any portion thereof be licensed under any other license, including but not limited to a Free Software License.
  1. Support and Updates. You will not be entitled to any support of any kind from AMD or AMD’s licensors under this Agreement.  Furthermore, You will be solely responsible for providing support to Your end users for Licensee Product distributed by You. AMD may, in its sole discretion, provide You updates to the Licensed Software, and such updates will be covered as Licensed Software under this Agreement.
  1. Third Party Materials. The Licensed Software may include third party technologies for which You must obtain licenses from parties other than AMD (collectively, “Third Party Materials”).  These third party technologies are not licensed as part of the Licensed Software licensed under this Agreement and are used at Your sole discretion.  You are solely responsible for obtaining all applicable Intellectual Property Rights to use the Third Party Technologies.  In addition, the Licensed Software may include code or content subject to an open source or similar license (“Open Source Component”), which includes any license that requires, as a condition of use, modification or distribution, that the resulting software must be (a) disclosed in source code form; (b) licensed for purpose of making derivative works; or (c) redistributable at no charge. To the extent that an Open Source Component is subject to a license that is inconsistent with this Agreement, then such Open Source Component shall be governed solely by the applicable license. To the extent that the Open Source Components are covered by a license requiring the provision of corresponding source code, AMD hereby offers such source code consistent with those licenses. AMD does not provide a license or sublicense to any Intellectual Property Rights relating to any standards, such as, including but not limited to any audio and/or video codec technologies such as MPEG-2, MPEG-3, MPEG-4; AVC/H.264; VC-1; and MP3 (collectively, the “Media Technologies”). For clarity, You are solely responsible to pay any royalties due for such third-party technologies, which may include the Media Technologies that are owed as a result of AMD providing the Licensed Software to You.
  1. Ownership. The Licensed Software, including all Intellectual Property Rights therein is and remains the sole and exclusive property of AMD or its licensors, and You shall have no right, title or interest therein except as expressly set forth in this Agreement. You agree the Licensed Software is licensed, not sold by AMD.
  1. WARRANTY AND DISCLAIMERS. THE LICENSED SOFTWARE IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND. AMD DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, THAT THE LICENSED SOFTWARE WILL RUN UNINTERRUPTED OR ERROR-FREE, OR WARRANTIES ARISING FROM CUSTOM OF TRADE OR COURSE OF USAGE. THE ENTIRE RISK ASSOCIATED WITH THE USE OF THE LICENSED SOFTWARE IS ASSUMED BY YOU. IN ADDITION, AMD is under no obligation to provide any kind of support or update for the Licensed software of any kind.
  1. LIMITATION OF LIABILITY AND INDEMNIFICATION. AMD AND ITS LICENSORS WILL NOT, UNDER ANY CIRCUMSTANCES BE LIABLE TO YOU FOR ANY PUNITIVE, DIRECT, INCIDENTAL, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM USE OF THE LICENSED SOFTWARE OR THIS AGREEMENT EVEN IF AMD AND ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will AMD’s total liability to You for all damages, losses, and causes of action (whether in contract, tort (including negligence) or otherwise) arising out of Your use of the Licensed Software exceed the amount of $100 USD. You agree to defend, indemnify and hold harmless AMD and its licensors, and any of their directors, officers, employees, affiliates or agents from and against any and all loss, damage, liability and other expenses (including reasonable attorneys’ fees), resulting from (a) Your use, distribution or sublicense of the Licensed Software or distribution of the Derivative Works, (b) violation of the terms and conditions of this Agreement by You or any sublicensee, or (c) Your failure to obtain and comply with any third party licenses that may be required pursuant to Section 7 herein.
  1. Termination and Survival. Either party may terminate this Agreement upon thirty (30) days prior written notice to the other party. This Agreement will terminate immediately without notice from AMD or judicial resolution upon Your or Your sublicensee’s breach of any of the terms of this Agreement. The termination of this Agreement shall: (i) immediately result in the termination of all rights granted to You to distribute the Licensed Software and Derivative Works through multiple tiers of distribution under Section 2; and (ii) have no effect on any sublicenses previously granted by You to end users under Section 2(c) and which are compliant with all terms and conditions of this Agreement, which sublicenses shall survive in accordance with their terms. Upon termination, You will cease using and destroy or return to AMD, at AMD’s discretion, all copies of the Confidential Information, including but not limited to the Licensed Software. All provisions except Sections 2 will survive the termination of this Agreement.
  1. Feedback. You have no obligation to give AMD any suggestions, comments, or feedback relating to the Licensed Software (“Feedback”). However, AMD may use and include any Feedback that it receives from You to improve the Licensed Software or other AMD products, software and technologies. Accordingly, for any Feedback You provide to AMD, You grant AMD a worldwide, non-exclusive, irrevocable, royalty-free, perpetual license to, directly or indirectly, use, reproduce, license, sublicense, distribute, make, have made, sell and otherwise commercialize the Feedback in the Licensed Software or other AMD products, software, and technologies. In addition, You also agree not to provide any Feedback that You know is subject to any intellectual property rights of any third party or is subject to license terms which seek to require any products incorporating or derived from such Feedback, or other AMD intellectual property, to be licensed to or otherwise shared with any third party.
  1. Confidentiality. The Licensed Software is the confidential information of AMD (collectively, “Confidential Information”). You will protect the Confidential Information by using the same degree of care, but no less than a reasonable degree of care, to prevent unauthorized use, dissemination, and publication of the Confidential Information as You use to protect your own confidential information of a like nature. In addition, You will not disclose any Confidential Information to any third party and You will limit the disclosure of Confidential Information to only those of Your employees and contractors with a need to know and who are bound by confidentiality obligations at least as restrictive as those set forth in this Agreement. If You receive a request, demand, subpoena, or order by a court of competent jurisdiction or authorized government agency to disclose the Confidential Information, You may comply with the request only if You: (a) promptly notify AMD in writing of any such requirement prior to the disclosure of Confidential Information (except where prohibited by applicable law); (b) reasonably cooperate with AMD in its efforts to protect against such disclosure; and (c) disclose only that portion of Confidential Information required.
  1. Export Restrictions. You will adhere to all applicable U.S. import/export laws and regulations, as well as the import/export control laws and regulations of other countries as applicable. You further agree to not export, re-export, or transfer, directly or indirectly, any product, technical data, software or source code received from AMD under this license, or the direct product of such technical data or software to any country for which the United States or any other applicable government requires an export license or other governmental approval without first obtaining such licenses or approvals; or in violation of any applicable laws or regulations of the United States or the country where the technical data or software was obtained. You acknowledge the technical data and software received will not, in the absence of authorization from U.S. or local law and regulations as applicable, be used by or exported, re-exported or transferred to: (a) any sanctioned or embargoed country, or to nationals or residents of such countries; (b) any restricted end-user as identified on any applicable government end-user list; or (c) any party where the end-use involves nuclear, chemical/biological weapons, rocket systems, or unmanned air vehicles. For the most current Country Group listings, or for additional information about the EAR or Your obligations under those regulations, please refer to the U.S. Bureau of Industry and Security’s website at http://www.bis.doc.gov/.
  1. Notice to U.S. Government End Users. The Licensed Software and related documentation are “commercial items”, as that term is defined at 48 C.F.R. §2.101, consisting of “commercial computer software” and “commercial computer software documentation”, as such terms are used in 48 C.F.R. §12.212 and 48 C.F.R. §227.7202, respectively. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §227.7202-1 through 227.7202-4, as applicable, the commercial computer software and commercial computer software documentation are being licensed to U.S. Government end users (a) only as commercial items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions set forth in this Agreement. Unpublished rights are reserved under the copyright laws of the United States.
  1. General Provisions. This Agreement is made under and will be construed according to the laws of the State of Texas, excluding conflicts of law rules, and is deemed to have been executed and performed in Austin, Texas. You may not assign this Agreement. Any attempted assignment by You will be null and void. You acknowledge that a breach of this Agreement may cause irreparable damage and as such you agree that AMD will be entitled to seek injunctive relief and any other relief that may be granted by a court of competent jurisdiction. This Agreement does not create any agency, partnership or fiduciary relationship between You and AMD. Each provision of this Agreement will be interpreted in such a manner as to be effective and valid under applicable law. However, in the event that any provision of this Agreement becomes or is declared unenforceable by any court of competent jurisdiction, such provision will be deemed deleted and the remainder of this Agreement will remain in full force and effect. This Agreement sets forth the entire agreement between You and AMD with respect to the Licensed Software and supersedes and merges all prior oral and written agreements, discussions and understandings regarding the Licensed Software. No waiver or modification of any provision of this Agreement will be binding unless made in writing and signed by an authorized representative of each Party.

IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT INSTALL, COPY OR USE THIS SOFTWARE.  BY INSTALLING, COPYING OR USING THE LICENSED SOFTWARE YOU AGREE TO ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT.