Skip to content

Commit 700d281

Browse files
committed
merge amd-staging into amd-mainline
Change-Id: Ib5c9a0abbe1c3ee82c9bd08a7f25d8cf84449875
2 parents a4735ea + d7d0f07 commit 700d281

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+6437
-4520
lines changed

.azuredevops/rocm-ci.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
resources:
2+
repositories:
3+
- repository: pipelines_repo
4+
type: github
5+
endpoint: ROCm
6+
name: ROCm/ROCm
7+
8+
variables:
9+
- group: common
10+
- template: /.azuredevops/variables-global.yml@pipelines_repo
11+
12+
trigger:
13+
batch: true
14+
branches:
15+
include:
16+
- amd-staging
17+
paths:
18+
exclude:
19+
- .github
20+
- docs
21+
- '.*.y*ml'
22+
- '*.md'
23+
- LICENSE.txt
24+
25+
pr:
26+
autoCancel: true
27+
branches:
28+
include:
29+
- amd-staging
30+
paths:
31+
exclude:
32+
- .github
33+
- docs
34+
- '.*.y*ml'
35+
- '*.md'
36+
- LICENSE.txt
37+
drafts: false
38+
39+
jobs:
40+
- template: ${{ variables.CI_COMPONENT_PATH }}/HIPIFY.yml@pipelines_repo

.github/CODEOWNERS

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
* @searlmc1 @emankov
22

33
# Documentation files
4-
docs/* @ROCm/rocm-documentation
5-
*.md @ROCm/rocm-documentation
6-
*.rst @ROCm/rocm-documentation
4+
docs/ @ROCm/rocm-documentation @searlmc1 @emankov
5+
*.md @ROCm/rocm-documentation @searlmc1 @emankov
6+
*.rst @ROCm/rocm-documentation @searlmc1 @emankov
7+
.readthedocs.yaml @ROCm/rocm-documentation @searlmc1 @emankov

.readthedocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ python:
1515
build:
1616
os: ubuntu-22.04
1717
tools:
18-
python: "3.8"
18+
python: "3.10"

CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,26 @@
33
Documentation for HIPIFY is available at
44
[https://rocmdocs.amd.com/projects/HIPIFY/en/latest/](https://rocmdocs.amd.com/projects/HIPIFY/en/latest/).
55

6+
## HIPIFY for ROCm 6.2.0
7+
8+
### Additions
9+
10+
* CUDA 12.4.1 support
11+
* cuDNN 9.1.1 support
12+
* LLVM 18.1.6 support
13+
* Full `hipBLASLt` support
14+
15+
### Fixes
16+
17+
* Apply `reinterpret_cast` for an explicit conversion between `pointer-to-function` and `pointer-to-object`;
18+
affected functions: `hipFuncGetAttributes`, `hipFuncSetAttribute`, `hipFuncSetCacheConfig`, `hipFuncSetSharedMemConfig`, `hipLaunchKernel`, and `hipLaunchCooperativeKernel`
19+
620
## HIPIFY for ROCm 6.1.2
721

822
### Additions
923

10-
* LLVM 18.1.2 support
1124
* cuDNN 9.0.0 support
25+
* LLVM 18.1.2 support
1226
* New options:
1327
* `--clang-resource-directory` to specify the clang resource path - the path to the parent folder for the `include` folder that
1428
contains `__clang_cuda_runtime_wrapper.h` and other header files used during the hipification process

bin/hipify-perl

Lines changed: 477 additions & 103 deletions
Large diffs are not rendered by default.

docs/hipify-clang.rst

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
hipify-clang
99
**************************************************************************
1010

11-
``hipify-clang`` is a Clang-based tool for translating CUDA sources into HIP sources.
11+
``hipify-clang`` is a Clang-based tool for translating NVIDIA CUDA sources into HIP sources.
1212

1313
It translates CUDA source into an Abstract Syntax Tree (AST), which is traversed by transformation
1414
matchers. After applying all the matchers, the output HIP source is produced.
@@ -37,7 +37,7 @@ Dependencies
3737

3838
* `LLVM+Clang <http://releases.llvm.org>`_ of at least version
3939
`4.0.0 <http://releases.llvm.org/download.html#4.0.0>`_; the latest stable and recommended release:
40-
`18.1.5 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.5>`_.
40+
`18.1.6 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.6>`_.
4141

4242
* `CUDA <https://developer.nvidia.com/cuda-downloads>`_ of at least version
4343
`7.0 <https://developer.nvidia.com/cuda-toolkit-70>`_, the latest supported version is
@@ -177,7 +177,8 @@ Dependencies
177177
`18.1.2 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.2>`_,
178178
`18.1.3 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.3>`_,
179179
`18.1.4 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.4>`_,
180-
`18.1.5 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.5>`_ :sup:`4`
180+
`18.1.5 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.5>`_,
181+
`18.1.6 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.6>`_ :sup:`4`
181182
- `12.3.2 <https://developer.nvidia.com/cuda-downloads>`_ :sup:`4`
182183
- **Latest stable config**
183184
- **Latest stable config**
@@ -224,7 +225,7 @@ Dependencies
224225
In most cases, you can get a suitable version of ``LLVM+Clang`` with your package manager. However, you can also
225226
`download a release archive <http://releases.llvm.org/>`_ and build or install it. In case of multiple versions of ``LLVM`` installed, set
226227
`CMAKE_PREFIX_PATH <https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html>`_ so that
227-
``CMake`` can find the desired version of ``LLVM``. For example, ``-DCMAKE_PREFIX_PATH=D:\LLVM\18.1.5\dist``.
228+
``CMake`` can find the desired version of ``LLVM``. For example, ``-DCMAKE_PREFIX_PATH=D:\LLVM\18.1.6\dist``.
228229

229230
Usage
230231
============================================================
@@ -257,7 +258,7 @@ header files used during the hipification process:
257258

258259
.. code:: shell
259260
260-
./hipify-clang square.cu --cuda-path=/usr/local/cuda-12.3 --clang-resource-directory=/usr/llvm/18.1.5/dist/lib/clang/18
261+
./hipify-clang square.cu --cuda-path=/usr/local/cuda-12.3 --clang-resource-directory=/usr/llvm/18.1.6/dist/lib/clang/18
261262
262263
For more information, refer to the `Clang manual for compiling CUDA <https://llvm.org/docs/CompileCudaWithLLVM.html#compiling-cuda-code>`_.
263264

@@ -394,7 +395,7 @@ To ensure LLVM being found or in case of multiple LLVM instances, specify the pa
394395

395396
.. code-block:: bash
396397
397-
-DCMAKE_PREFIX_PATH=/usr/llvm/18.1.5/dist
398+
-DCMAKE_PREFIX_PATH=/usr/llvm/18.1.6/dist
398399
399400
On Windows, specify the following option for CMake in the first place:
400401
``-G "Visual Studio 17 2022"``.
@@ -468,7 +469,7 @@ LLVM <= 9.0.1
468469
LLVM >= 10.0.0
469470
-----------------
470471

471-
1. Download `LLVM project <https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.5>`_ sources.
472+
1. Download `LLVM project <https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.6>`_ sources.
472473

473474
2. Build `LLVM project <http://llvm.org/docs/CMake.html>`_:
474475

@@ -570,13 +571,13 @@ LLVM >= 10.0.0
570571

571572
.. code-block:: bash
572573
573-
python /usr/llvm/18.1.5/llvm-project/llvm/utils/lit/setup.py install
574+
python /usr/llvm/18.1.6/llvm-project/llvm/utils/lit/setup.py install
574575
575576
**Windows**:
576577

577578
.. code-block:: shell
578579
579-
python D:/LLVM/18.1.5/llvm-project/llvm/utils/lit/setup.py install
580+
python D:/LLVM/18.1.6/llvm-project/llvm/utils/lit/setup.py install
580581
581582
In case of errors similar to ``ModuleNotFoundError: No module named 'setuptools'``, upgrade the ``setuptools`` package:
582583

@@ -590,23 +591,23 @@ LLVM >= 10.0.0
590591

591592
.. code-block:: bash
592593
593-
-DLLVM_EXTERNAL_LIT=/usr/llvm/18.1.5/build/bin/llvm-lit
594+
-DLLVM_EXTERNAL_LIT=/usr/llvm/18.1.6/build/bin/llvm-lit
594595
595596
**Windows**:
596597

597598
.. code-block:: shell
598599
599-
-DLLVM_EXTERNAL_LIT=D:/LLVM/18.1.5/build/Release/bin/llvm-lit.py
600+
-DLLVM_EXTERNAL_LIT=D:/LLVM/18.1.6/build/Release/bin/llvm-lit.py
600601
601602
* ``FileCheck``:
602603

603604
**Linux**:
604605

605-
Copy from ``/usr/llvm/18.1.5/build/bin/`` to ``CMAKE_INSTALL_PREFIX/dist/bin``.
606+
Copy from ``/usr/llvm/18.1.6/build/bin/`` to ``CMAKE_INSTALL_PREFIX/dist/bin``.
606607

607608
**Windows**:
608609

609-
Copy from ``D:/LLVM/18.1.5/build/Release/bin`` to ``CMAKE_INSTALL_PREFIX/dist/bin``.
610+
Copy from ``D:/LLVM/18.1.6/build/Release/bin`` to ``CMAKE_INSTALL_PREFIX/dist/bin``.
610611

611612
Alternatively, specify the path to ``FileCheck`` in the ``CMAKE_INSTALL_PREFIX`` option.
612613

@@ -633,8 +634,8 @@ On Linux, the following configurations are tested:
633634

634635
* Ubuntu 14: LLVM 4.0.0 - 7.1.0, CUDA 7.0 - 9.0, cuDNN 5.0.5 - 7.6.5
635636
* Ubuntu 16-19: LLVM 8.0.0 - 14.0.6, CUDA 7.0 - 10.2, cuDNN 5.1.10 - 8.0.5
636-
* Ubuntu 20-21: LLVM 9.0.0 - 18.1.5, CUDA 7.0 - 12.3.2, cuDNN 5.1.10 - 9.1.1
637-
* Ubuntu 22-23: LLVM 13.0.0 - 18.1.5, CUDA 7.0 - 12.3.2, cuDNN 8.0.5 - 9.1.1
637+
* Ubuntu 20-21: LLVM 9.0.0 - 18.1.6, CUDA 7.0 - 12.3.2, cuDNN 5.1.10 - 9.1.1
638+
* Ubuntu 22-23: LLVM 13.0.0 - 18.1.6, CUDA 7.0 - 12.3.2, cuDNN 8.0.5 - 9.1.1
638639

639640
Minimum build system requirements for the above configurations:
640641

@@ -652,11 +653,11 @@ Here's how to build ``hipify-clang`` with testing support on ``Ubuntu 23.10.01``
652653
-DHIPIFY_CLANG_TESTS=ON \
653654
-DCMAKE_BUILD_TYPE=Release \
654655
-DCMAKE_INSTALL_PREFIX=../dist \
655-
-DCMAKE_PREFIX_PATH=/usr/llvm/18.1.5/dist \
656+
-DCMAKE_PREFIX_PATH=/usr/llvm/18.1.6/dist \
656657
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.3.2 \
657658
-DCUDA_DNN_ROOT_DIR=/usr/local/cudnn-9.1.1 \
658659
-DCUDA_CUB_ROOT_DIR=/usr/local/cub-2.1.0 \
659-
-DLLVM_EXTERNAL_LIT=/usr/llvm/18.1.5/build/bin/llvm-lit \
660+
-DLLVM_EXTERNAL_LIT=/usr/llvm/18.1.6/build/bin/llvm-lit \
660661
../hipify
661662
662663
The corresponding successful output is:
@@ -680,11 +681,11 @@ The corresponding successful output is:
680681
-- - Test hipify-clang : ON
681682
-- - Is part of HIP SDK : OFF
682683
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.13")
683-
-- Found LLVM 18.1.5:
684-
-- - CMake module path : /usr/llvm/18.1.5/dist/lib/cmake/llvm
685-
-- - Clang include path : /usr/llvm/18.1.5/dist/include
686-
-- - LLVM Include path : /usr/llvm/18.1.5/dist/include
687-
-- - Binary path : /usr/llvm/18.1.5/dist/bin
684+
-- Found LLVM 18.1.6:
685+
-- - CMake module path : /usr/llvm/18.1.6/dist/lib/cmake/llvm
686+
-- - Clang include path : /usr/llvm/18.1.6/dist/include
687+
-- - LLVM Include path : /usr/llvm/18.1.6/dist/include
688+
-- - Binary path : /usr/llvm/18.1.6/dist/bin
688689
-- Linker detection: GNU ld
689690
-- ---- The below configuring for hipify-clang testing only ----
690691
-- Found Python: /usr/bin/python3.12 (found version "3.12.3") found components: Interpreter
@@ -719,7 +720,7 @@ The corresponding successful output is:
719720
Running HIPify regression tests
720721
===============================================================
721722
CUDA 12.3.107 - will be used for testing
722-
LLVM 18.1.5 - will be used for testing
723+
LLVM 18.1.6 - will be used for testing
723724
x86_64 - Platform architecture
724725
Linux 6.5.0-15-generic - Platform OS
725726
64 - hipify-clang binary bitness
@@ -813,7 +814,7 @@ Tested configurations:
813814
- ``2019.16.11.29, 2022.17.7.1``
814815
- ``3.27.3``
815816
- ``3.11.4``
816-
* - ``17.0.1`` :sup:`6` - ``18.1.5`` :sup:`7`
817+
* - ``17.0.1`` :sup:`6` - ``18.1.6`` :sup:`7`
817818
- ``7.0 - 12.3.2``
818819
- ``8.0.5 - 9.1.1``
819820
- ``2019.16.11.35, 2022.17.9.6``
@@ -849,12 +850,12 @@ Building with testing support using ``Visual Studio 17 2022`` on ``Windows 11``:
849850
-DHIPIFY_CLANG_TESTS=ON \
850851
-DCMAKE_BUILD_TYPE=Release \
851852
-DCMAKE_INSTALL_PREFIX=../dist \
852-
-DCMAKE_PREFIX_PATH=D:/LLVM/18.1.5/dist \
853+
-DCMAKE_PREFIX_PATH=D:/LLVM/18.1.6/dist \
853854
-DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.3" \
854855
-DCUDA_SDK_ROOT_DIR="C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.3" \
855856
-DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.1.1 \
856857
-DCUDA_CUB_ROOT_DIR=D:/CUDA/CUB/cub-2.1.0 \
857-
-DLLVM_EXTERNAL_LIT=D:/LLVM/18.1.5/build/Release/bin/llvm-lit.py \
858+
-DLLVM_EXTERNAL_LIT=D:/LLVM/18.1.6/build/Release/bin/llvm-lit.py \
858859
../hipify
859860
860861
The corresponding successful output is:
@@ -878,15 +879,15 @@ The corresponding successful output is:
878879
-- - Build hipify-clang : ON
879880
-- - Test hipify-clang : ON
880881
-- - Is part of HIP SDK : OFF
881-
-- Found LLVM 18.1.5:
882-
-- - CMake module path : D:/LLVM/18.1.5/dist/lib/cmake/llvm
883-
-- - Clang include path : D:/LLVM/18.1.5/dist/include
884-
-- - LLVM Include path : D:/LLVM/18.1.5/dist/include
885-
-- - Binary path : D:/LLVM/18.1.5/dist/bin
882+
-- Found LLVM 18.1.6:
883+
-- - CMake module path : D:/LLVM/18.1.6/dist/lib/cmake/llvm
884+
-- - Clang include path : D:/LLVM/18.1.6/dist/include
885+
-- - LLVM Include path : D:/LLVM/18.1.6/dist/include
886+
-- - Binary path : D:/LLVM/18.1.6/dist/bin
886887
-- ---- The below configuring for hipify-clang testing only ----
887888
-- Found Python: C:/Users/TT/AppData/Local/Programs/Python/Python312/python.exe (found version "3.12.3") found components: Interpreter
888889
-- Found lit: C:/Users/TT/AppData/Local/Programs/Python/Python312/Scripts/lit.exe
889-
-- Found FileCheck: D:/LLVM/18.1.5/dist/bin/FileCheck.exe
890+
-- Found FileCheck: D:/LLVM/18.1.6/dist/bin/FileCheck.exe
890891
-- Initial CUDA to configure:
891892
-- - CUDA Toolkit path : C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.3
892893
-- - CUDA Samples path : C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.3

docs/hipify-perl.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ hipify-perl
1414

1515
- Ease of use
1616

17-
- No checks for input source CUDA code for correctness required
17+
- No checks for input source NVIDIA CUDA code for correctness required
1818

1919
- No dependency on third party tools, including CUDA
2020

docs/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
.. _index:
66

77
=====================
8-
HIPIFY Documentation
8+
HIPIFY documentation
99
=====================
1010

11-
``hipify-clang`` and ``hipify-perl`` are tools that automatically translate CUDA source code into portable HIP C++.
11+
``hipify-clang`` and ``hipify-perl`` are tools that automatically translate NVIDIA CUDA source code into portable HIP C++.
1212

1313
.. note::
1414

docs/sphinx/_toc.yml.in

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@ subtrees:
1313
- file: supported_apis
1414
subtrees:
1515
- entries:
16-
- file: tables/CUDA_Runtime_API_functions_supported_by_HIP
16+
- file: tables/CUDA_Runtime_API_functions_supported_by_HIP
1717
- file: tables/CUDA_Driver_API_functions_supported_by_HIP
1818
- file: tables/cuComplex_API_supported_by_HIP
1919
- file: tables/CUDA_Device_API_supported_by_HIP
2020
- file: tables/CUDA_RTC_API_supported_by_HIP
2121
- file: tables/CUBLAS_API_supported_by_HIP
22-
- file: tables/CURAND_API_supported_by_HIP
23-
- file: tables/CUDNN_API_supported_by_HIP
24-
- file: tables/CUFFT_API_supported_by_HIP
2522
- file: tables/CUSPARSE_API_supported_by_HIP
2623
- file: tables/CUSOLVER_API_supported_by_HIP
24+
- file: tables/CURAND_API_supported_by_HIP
25+
- file: tables/CUFFT_API_supported_by_HIP
26+
- file: tables/CUDNN_API_supported_by_HIP
2727
- file: tables/CUB_API_supported_by_HIP
2828
- caption: About
2929
entries:

docs/sphinx/requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
rocm-docs-core==0.38.1
1+
rocm-docs-core==1.4.0

0 commit comments

Comments
 (0)