Skip to content

Commit 1b2b520

Browse files
committed
merge amd-mainline into release/rocm-rel-6.3
[SWDEV-493184][HIPIFY] Add the missing shuffle device functions support Dedicated to the 6.3.1 release Change-Id: I88fd986736da27695e11408189aebae87edf260e
2 parents f156b77 + 4c14b3a commit 1b2b520

28 files changed

+8770
-2611
lines changed

CHANGELOG.md

Lines changed: 78 additions & 64 deletions
Large diffs are not rendered by default.

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,9 +272,9 @@ if(HIPIFY_CLANG_TESTS OR HIPIFY_CLANG_TESTS_ONLY)
272272
set (HIPIFY_CLANG_RES "${LLVM_LIBRARY_DIRS}/clang/${LIB_CLANG_RES}")
273273

274274
if(${CMAKE_VERSION} VERSION_LESS "3.27.0")
275-
find_package(PythonInterp 2.7 REQUIRED)
275+
find_package(PythonInterp 3.0 REQUIRED)
276276
else()
277-
find_package(Python 2.7...3.13 REQUIRED)
277+
find_package(Python 3.0...3.14 REQUIRED)
278278
endif()
279279

280280
function (require_program PROGRAM_NAME)

bin/hipify-perl

Lines changed: 3422 additions & 1315 deletions
Large diffs are not rendered by default.

docs/hipify-clang.rst

Lines changed: 62 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ 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-
`19.1.1 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.1>`_.
40+
`19.1.3 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.3>`_.
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
44-
`12.6.1 <https://developer.nvidia.com/cuda-downloads>`_.
44+
`12.6.2 <https://developer.nvidia.com/cuda-downloads>`_.
4545

4646
.. list-table::
4747

@@ -185,8 +185,10 @@ Dependencies
185185
- ✅
186186
- ✅
187187
* - `19.1.0 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.0>`_,
188-
`19.1.1 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.1>`_:sup:`4`
189-
- `12.6.1 <https://developer.nvidia.com/cuda-downloads>`_:sup:`4`
188+
`19.1.1 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.1>`_,
189+
`19.1.2 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.2>`_,
190+
`19.1.3 <https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.3>`_:sup:`4`
191+
- `12.6.2 <https://developer.nvidia.com/cuda-downloads>`_:sup:`4`
190192
- **Latest stable config**
191193
- **Latest stable config**
192194

@@ -228,7 +230,7 @@ Dependencies
228230
In most cases, you can get a suitable version of ``LLVM+Clang`` with your package manager. However, you can also
229231
`download a release archive <http://releases.llvm.org/>`_ and build or install it. In case of multiple versions of ``LLVM`` installed, set
230232
`CMAKE_PREFIX_PATH <https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html>`_ so that
231-
``CMake`` can find the desired version of ``LLVM``. For example, ``-DCMAKE_PREFIX_PATH=D:\LLVM\19.1.1\dist``.
233+
``CMake`` can find the desired version of ``LLVM``. For example, ``-DCMAKE_PREFIX_PATH=D:\LLVM\19.1.3\dist``.
232234

233235
Usage
234236
============================================================
@@ -261,7 +263,7 @@ header files used during the hipification process:
261263

262264
.. code:: shell
263265
264-
./hipify-clang square.cu --cuda-path=/usr/local/cuda-12.6 --clang-resource-directory=/usr/llvm/19.1.1/dist/lib/clang/19
266+
./hipify-clang square.cu --cuda-path=/usr/local/cuda-12.6 --clang-resource-directory=/usr/llvm/19.1.3/dist/lib/clang/19
265267
266268
For more information, refer to the `Clang manual for compiling CUDA <https://llvm.org/docs/CompileCudaWithLLVM.html#compiling-cuda-code>`_.
267269

@@ -398,7 +400,7 @@ To ensure LLVM being found or in case of multiple LLVM instances, specify the pa
398400

399401
.. code-block:: bash
400402
401-
-DCMAKE_PREFIX_PATH=/usr/llvm/19.1.1/dist
403+
-DCMAKE_PREFIX_PATH=/usr/llvm/19.1.3/dist
402404
403405
On Windows, specify the following option for CMake in the first place:
404406
``-G "Visual Studio 17 2022"``.
@@ -472,7 +474,7 @@ LLVM <= 9.0.1
472474
LLVM >= 10.0.0
473475
-----------------
474476

475-
1. Download `LLVM project <https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.1>`_ sources.
477+
1. Download `LLVM project <https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.3>`_ sources.
476478

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

@@ -546,7 +548,7 @@ LLVM >= 10.0.0
546548

547549
.. code-block:: shell
548550
549-
-DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.5.0
551+
-DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.5.1
550552
551553
5. [Optional] Install `CUB 1.9.8 <https://github.com/NVIDIA/cub/releases/tag/1.9.8>`_ for ``CUDA < 11.0`` only;
552554
for ``CUDA >= 11.0``, the CUB shipped with CUDA will be used for testing.
@@ -565,7 +567,7 @@ LLVM >= 10.0.0
565567
566568
-DCUDA_CUB_ROOT_DIR=D:/CUDA/CUB
567569
568-
6. Install `Python <https://www.python.org/downloads>`_ version 2.7 or greater.
570+
6. Install `Python <https://www.python.org/downloads>`_ version 3.0 or greater.
569571

570572
7. Install ``lit`` and ``FileCheck``; these are distributed with LLVM.
571573

@@ -575,13 +577,13 @@ LLVM >= 10.0.0
575577

576578
.. code-block:: bash
577579
578-
python /usr/llvm/19.1.1/llvm-project/llvm/utils/lit/setup.py install
580+
python /usr/llvm/19.1.3/llvm-project/llvm/utils/lit/setup.py install
579581
580582
**Windows**:
581583

582584
.. code-block:: shell
583585
584-
python D:/LLVM/19.1.1/llvm-project/llvm/utils/lit/setup.py install
586+
python D:/LLVM/19.1.3/llvm-project/llvm/utils/lit/setup.py install
585587
586588
In case of errors similar to ``ModuleNotFoundError: No module named 'setuptools'``, upgrade the ``setuptools`` package:
587589

@@ -595,23 +597,23 @@ LLVM >= 10.0.0
595597

596598
.. code-block:: bash
597599
598-
-DLLVM_EXTERNAL_LIT=/usr/llvm/19.1.1/build/bin/llvm-lit
600+
-DLLVM_EXTERNAL_LIT=/usr/llvm/19.1.3/build/bin/llvm-lit
599601
600602
**Windows**:
601603

602604
.. code-block:: shell
603605
604-
-DLLVM_EXTERNAL_LIT=D:/LLVM/19.1.1/build/Release/bin/llvm-lit.py
606+
-DLLVM_EXTERNAL_LIT=D:/LLVM/19.1.3/build/Release/bin/llvm-lit.py
605607
606608
* ``FileCheck``:
607609

608610
**Linux**:
609611

610-
Copy from ``/usr/llvm/19.1.1/build/bin/`` to ``CMAKE_INSTALL_PREFIX/dist/bin``.
612+
Copy from ``/usr/llvm/19.1.3/build/bin/`` to ``CMAKE_INSTALL_PREFIX/dist/bin``.
611613

612614
**Windows**:
613615

614-
Copy from ``D:/LLVM/19.1.1/build/Release/bin`` to ``CMAKE_INSTALL_PREFIX/dist/bin``.
616+
Copy from ``D:/LLVM/19.1.3/build/Release/bin`` to ``CMAKE_INSTALL_PREFIX/dist/bin``.
615617

616618
Alternatively, specify the path to ``FileCheck`` in the ``CMAKE_INSTALL_PREFIX`` option.
617619

@@ -638,16 +640,16 @@ On Linux, the following configurations are tested:
638640

639641
* Ubuntu 14: LLVM 4.0.0 - 7.1.0, CUDA 7.0 - 9.0, cuDNN 5.0.5 - 7.6.5
640642
* Ubuntu 16-19: LLVM 8.0.0 - 14.0.6, CUDA 7.0 - 10.2, cuDNN 5.1.10 - 8.0.5
641-
* Ubuntu 20-21: LLVM 9.0.0 - 19.1.1, CUDA 7.0 - 12.6.1, cuDNN 5.1.10 - 9.5.0
642-
* Ubuntu 22-23: LLVM 13.0.0 - 19.1.1, CUDA 7.0 - 12.6.1, cuDNN 8.0.5 - 9.5.0
643+
* Ubuntu 20-21: LLVM 9.0.0 - 19.1.3, CUDA 7.0 - 12.6.2, cuDNN 5.1.10 - 9.5.1
644+
* Ubuntu 22-23: LLVM 13.0.0 - 19.1.3, CUDA 7.0 - 12.6.2, cuDNN 8.0.5 - 9.5.1
643645

644646
Minimum build system requirements for the above configurations:
645647

646648
* CMake 3.16.8, GNU C/C++ 9.2, Python 3.0.
647649

648650
Recommended build system requirements:
649651

650-
* CMake 3.30.4, GNU C/C++ 13.2, Python 3.12.7.
652+
* CMake 3.31.0, GNU C/C++ 13.2, Python 3.13.0.
651653

652654
Here's how to build ``hipify-clang`` with testing support on ``Ubuntu 23.10.01``:
653655

@@ -657,10 +659,10 @@ Here's how to build ``hipify-clang`` with testing support on ``Ubuntu 23.10.01``
657659
-DHIPIFY_CLANG_TESTS=ON \
658660
-DCMAKE_BUILD_TYPE=Release \
659661
-DCMAKE_INSTALL_PREFIX=../dist \
660-
-DCMAKE_PREFIX_PATH=/usr/llvm/19.1.1/dist \
661-
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.6.1 \
662-
-DCUDA_DNN_ROOT_DIR=/usr/local/cudnn-9.5.0 \
663-
-DLLVM_EXTERNAL_LIT=/usr/llvm/19.1.1/build/bin/llvm-lit \
662+
-DCMAKE_PREFIX_PATH=/usr/llvm/19.1.3/dist \
663+
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.6.2 \
664+
-DCUDA_DNN_ROOT_DIR=/usr/local/cudnn-9.5.1 \
665+
-DLLVM_EXTERNAL_LIT=/usr/llvm/19.1.3/build/bin/llvm-lit \
664666
../hipify
665667
666668
The corresponding successful output is:
@@ -684,30 +686,30 @@ The corresponding successful output is:
684686
-- - Test hipify-clang : ON
685687
-- - Is part of HIP SDK : OFF
686688
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.13")
687-
-- Found LLVM 19.1.1:
688-
-- - CMake module path : /usr/llvm/19.1.1/dist/lib/cmake/llvm
689-
-- - Clang include path : /usr/llvm/19.1.1/dist/include
690-
-- - LLVM Include path : /usr/llvm/19.1.1/dist/include
691-
-- - Binary path : /usr/llvm/19.1.1/dist/bin
689+
-- Found LLVM 19.1.3:
690+
-- - CMake module path : /usr/llvm/19.1.3/dist/lib/cmake/llvm
691+
-- - Clang include path : /usr/llvm/19.1.3/dist/include
692+
-- - LLVM Include path : /usr/llvm/19.1.3/dist/include
693+
-- - Binary path : /usr/llvm/19.1.3/dist/bin
692694
-- Linker detection: GNU ld
693695
-- ---- The below configuring for hipify-clang testing only ----
694-
-- Found Python: /usr/bin/python3.12 (found version "3.12.7") found components: Interpreter
696+
-- Found Python: /usr/bin/python3.13 (found version "3.13.0") found components: Interpreter
695697
-- Found lit: /usr/local/bin/lit
696698
-- Found FileCheck: /GIT/LLVM/trunk/dist/FileCheck
697699
-- Initial CUDA to configure:
698-
-- - CUDA Toolkit path : /usr/local/cuda-12.6.1
700+
-- - CUDA Toolkit path : /usr/local/cuda-12.6.2
699701
-- - CUDA Samples path :
700-
-- - cuDNN path : /usr/local/cudnn-9.5.0
702+
-- - cuDNN path : /usr/local/cudnn-9.5.1
701703
-- - CUB path :
702-
-- Found CUDAToolkit: /usr/local/cuda-12.6.1/targets/x86_64-linux/include (found version "12.6.68")
704+
-- Found CUDAToolkit: /usr/local/cuda-12.6.2/targets/x86_64-linux/include (found version "12.6.68")
703705
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
704706
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
705707
-- Found Threads: TRUE
706708
-- Found CUDA config:
707-
-- - CUDA Toolkit path : /usr/local/cuda-12.6.1
709+
-- - CUDA Toolkit path : /usr/local/cuda-12.6.2
708710
-- - CUDA Samples path : OFF
709-
-- - cuDNN path : /usr/local/cudnn-9.5.0
710-
-- - CUB path : /usr/local/cuda-12.6.1/include/cub
711+
-- - cuDNN path : /usr/local/cudnn-9.5.1
712+
-- - CUB path : /usr/local/cuda-12.6.2/include/cub
711713
-- Configuring done (0.5s)
712714
-- Generating done (0.0s)
713715
-- Build files have been written to: /usr/hipify/build
@@ -723,11 +725,11 @@ The corresponding successful output is:
723725
Running HIPify regression tests
724726
===============================================================
725727
CUDA 12.6.68 - will be used for testing
726-
LLVM 19.1.1 - will be used for testing
728+
LLVM 19.1.3 - will be used for testing
727729
x86_64 - Platform architecture
728730
Linux 6.5.0-15-generic - Platform OS
729731
64 - hipify-clang binary bitness
730-
64 - python 3.12.7 binary bitness
732+
64 - python 3.13.0 binary bitness
731733
===============================================================
732734
-- Testing: 106 tests, 12 threads --
733735
Testing Time: 6.91s
@@ -819,16 +821,16 @@ Tested configurations:
819821
- ``3.11.4``
820822
* - ``17.0.1`` :sup:`6` - ``18.1.8`` :sup:`7`
821823
- ``7.0 - 12.3.2``
822-
- ``8.0.5 - 9.5.0``
823-
- ``2019.16.11.40, 2022.17.11.4``
824-
- ``3.30.4``
825-
- ``3.12.7``
826-
* - ``19.1.1``
827-
- ``7.0 - 12.6.1``
828-
- ``8.0.5 - 9.5.0``
829-
- ``2019.16.11.40, 2022.17.11.4``
830-
- ``3.30.4``
831-
- ``3.12.7``
824+
- ``8.0.5 - 9.5.1``
825+
- ``2019.16.11.42, 2022.17.11.6``
826+
- ``3.31.0``
827+
- ``3.13.0``
828+
* - ``19.1.0 - 19.1.3``
829+
- ``7.0 - 12.6.2``
830+
- ``8.0.5 - 9.5.1``
831+
- ``2019.16.11.42, 2022.17.11.6``
832+
- ``3.31.0``
833+
- ``3.13.0``
832834

833835
:sup:`5` LLVM 14.x.x is the latest major release supporting Visual Studio 2017.
834836

@@ -853,11 +855,11 @@ Building with testing support using ``Visual Studio 17 2022`` on ``Windows 11``:
853855
-DHIPIFY_CLANG_TESTS=ON \
854856
-DCMAKE_BUILD_TYPE=Release \
855857
-DCMAKE_INSTALL_PREFIX=../dist \
856-
-DCMAKE_PREFIX_PATH=D:/LLVM/19.1.1/dist \
858+
-DCMAKE_PREFIX_PATH=D:/LLVM/19.1.3/dist \
857859
-DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6" \
858860
-DCUDA_SDK_ROOT_DIR="C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.5" \
859-
-DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.5.0 \
860-
-DLLVM_EXTERNAL_LIT=D:/LLVM/19.1.1/build/Release/bin/llvm-lit.py \
861+
-DCUDA_DNN_ROOT_DIR=D:/CUDA/cuDNN/9.5.1 \
862+
-DLLVM_EXTERNAL_LIT=D:/LLVM/19.1.3/build/Release/bin/llvm-lit.py \
861863
../hipify
862864
863865
The corresponding successful output is:
@@ -881,25 +883,25 @@ The corresponding successful output is:
881883
-- - Build hipify-clang : ON
882884
-- - Test hipify-clang : ON
883885
-- - Is part of HIP SDK : OFF
884-
-- Found LLVM 19.1.1:
885-
-- - CMake module path : D:/LLVM/19.1.1/dist/lib/cmake/llvm
886-
-- - Clang include path : D:/LLVM/19.1.1/dist/include
887-
-- - LLVM Include path : D:/LLVM/19.1.1/dist/include
888-
-- - Binary path : D:/LLVM/19.1.1/dist/bin
886+
-- Found LLVM 19.1.3:
887+
-- - CMake module path : D:/LLVM/19.1.3/dist/lib/cmake/llvm
888+
-- - Clang include path : D:/LLVM/19.1.3/dist/include
889+
-- - LLVM Include path : D:/LLVM/19.1.3/dist/include
890+
-- - Binary path : D:/LLVM/19.1.3/dist/bin
889891
-- ---- The below configuring for hipify-clang testing only ----
890-
-- Found Python: C:/Users/TT/AppData/Local/Programs/Python/Python312/python.exe (found version "3.12.7") found components: Interpreter
891-
-- Found lit: C:/Users/TT/AppData/Local/Programs/Python/Python312/Scripts/lit.exe
892-
-- Found FileCheck: D:/LLVM/19.1.1/dist/bin/FileCheck.exe
892+
-- Found Python: C:/Users/TT/AppData/Local/Programs/Python/Python313/python.exe (found version "3.13.0") found components: Interpreter
893+
-- Found lit: C:/Users/TT/AppData/Local/Programs/Python/Python313/Scripts/lit.exe
894+
-- Found FileCheck: D:/LLVM/19.1.3/dist/bin/FileCheck.exe
893895
-- Initial CUDA to configure:
894896
-- - CUDA Toolkit path : C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6
895897
-- - CUDA Samples path : C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.5
896-
-- - cuDNN path : D:/CUDA/cuDNN/9.5.0
898+
-- - cuDNN path : D:/CUDA/cuDNN/9.5.1
897899
-- - CUB path :
898900
-- Found CUDAToolkit: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6/include (found version "12.6.68")
899901
-- Found CUDA config:
900902
-- - CUDA Toolkit path : C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6
901903
-- - CUDA Samples path : C:/ProgramData/NVIDIA Corporation/CUDA Samples/v12.5
902-
-- - cuDNN path : D:/CUDA/cuDNN/9.5.0
904+
-- - cuDNN path : D:/CUDA/cuDNN/9.5.1
903905
-- - CUB path : C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6/include/cub
904906
-- Configuring done (2.1s)
905907
-- Generating done (0.1s)

docs/sphinx/requirements.in

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

docs/sphinx/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ requests==2.32.2
9292
# via
9393
# pygithub
9494
# sphinx
95-
rocm-docs-core==1.8.2
95+
rocm-docs-core==1.8.3
9696
# via -r requirements.in
9797
smmap==5.0.1
9898
# via gitdb

0 commit comments

Comments
 (0)