diff --git a/bin/aomp_common_vars b/bin/aomp_common_vars index 38ecabe4d..c025c38c3 100644 --- a/bin/aomp_common_vars +++ b/bin/aomp_common_vars @@ -28,8 +28,8 @@ AOMP_COMPILER_NAME=${AOMP_COMPILER_NAME:-AOMP} ROCM_VERSION=${ROCM_VERSION:-6.4.0} # Set the AOMP VERSION STRING -AOMP_VERSION=${AOMP_VERSION:-"23.0"} -AOMP_VERSION_MOD=${AOMP_VERSION_MOD:-"1"} +AOMP_VERSION=${AOMP_VERSION:-"24.0"} +AOMP_VERSION_MOD=${AOMP_VERSION_MOD:-"0"} AOMP_VERSION_STRING=${AOMP_VERSION_STRING:-"$AOMP_VERSION-$AOMP_VERSION_MOD"} ROCM_EXPECTED_MODVERSION=${ROCM_EXPECTED_MODVERSION:-6.2.4} export AOMP_VERSION_STRING AOMP_VERSION AOMP_VERSION_MOD ROCM_VERSION ROCM_EXPECTED_MODVERSION diff --git a/bin/patches/patch-control-file_24.0.txt b/bin/patches/patch-control-file_24.0.txt new file mode 100644 index 000000000..af86aeb4f --- /dev/null +++ b/bin/patches/patch-control-file_24.0.txt @@ -0,0 +1,15 @@ +openlibm: openlibm.patch +RAJA: raja.patch +RAJAPerf: rajaperf.patch +GenASis: genasis.patch +GenASiS_Basics: genasis_basics.patch +hipamd: +bolt: bolt.patch +rocr-runtime: rocr-runtime-numa.patch +clr: +rocprofiler: +rocprofiler-sdk: +babelstream: babelstream-usm.patch +llvm-project: ATD_ASO_full.patch +UMT: umt.patch +rocm-xio: xio.patch diff --git a/manifests/aomp_24.0.xml b/manifests/aomp_24.0.xml new file mode 100644 index 000000000..fa4d06c57 --- /dev/null +++ b/manifests/aomp_24.0.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/manifests/test_24.0.xml b/manifests/test_24.0.xml new file mode 100644 index 000000000..8cde6f072 --- /dev/null +++ b/manifests/test_24.0.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/srock-bin/patches/amd-staging/_TheRock_00_compiler-srock.patch b/srock-bin/patches/amd-staging/_TheRock_00_compiler-srock.patch index d2c849e15..c19c95e65 100644 --- a/srock-bin/patches/amd-staging/_TheRock_00_compiler-srock.patch +++ b/srock-bin/patches/amd-staging/_TheRock_00_compiler-srock.patch @@ -1,10 +1,10 @@ diff --git a/compiler/CMakeLists.txt b/compiler/CMakeLists.txt -index bf625919..cdc6c493 100644 +index 7279cdbb3..103eb2332 100644 --- a/compiler/CMakeLists.txt +++ b/compiler/CMakeLists.txt -@@ -13,6 +13,10 @@ if(THEROCK_ENABLE_COMPILER) - if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - list(APPEND _extra_llvm_cmake_args "-DLLVM_ENABLE_PEDANTIC=OFF") +@@ -22,6 +22,10 @@ if(THEROCK_ENABLE_COMPILER) + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + list(APPEND _extra_llvm_cmake_args "-DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON") endif() + if (DEFINED ENV{SROCK_VERSION_MOD}) + list(APPEND _extra_llvm_cmake_args "-DLLVM_VERSION_SUFFIX=_SROCK") diff --git a/srock-bin/srock_common_vars b/srock-bin/srock_common_vars index c5b97072f..d53195596 100644 --- a/srock-bin/srock_common_vars +++ b/srock-bin/srock_common_vars @@ -77,14 +77,15 @@ if [ ! -d "$SROCK_REPOS" ] ; then fi fi -SROCK_VERSION=${SROCK_VERSION:-"7.13"} +SROCK_VERSION=${SROCK_VERSION:-"7.15"} SROCK_VERSION_MOD=${SROCK_VERSION_MOD:-"0"} SROCK_VERSION_STRING=${SROCK_VERSION_STRING:-"$SROCK_VERSION-$SROCK_VERSION_MOD"} SROCK_MAJOR_VERSION=${SROCK_VERSION%.*} # Set SROCK_COMPILER_BRANCH to develop to get a native TheRock build SROCK_COMPILER_BRANCH=${SROCK_COMPILER_BRANCH:-amd-staging} -SROCK_THEROCK_BRANCH=${SROCK_THEROCK_BRANCH:-compiler/amd-staging} +#SROCK_THEROCK_BRANCH=${SROCK_THEROCK_BRANCH:-compiler/amd-staging} +SROCK_THEROCK_BRANCH=${SROCK_THEROCK_BRANCH:-main} SROCK_CONFIG=${SROCK_CONFIG:-minimal} # Set default value for ROCm install directory SROCK_INSTALL_DIR. diff --git a/test/smoke-fort-dev/device_intrinsics_map/Makefile b/test/smoke-fort-dev/device_intrinsics_map/Makefile new file mode 100644 index 000000000..baf06b793 --- /dev/null +++ b/test/smoke-fort-dev/device_intrinsics_map/Makefile @@ -0,0 +1,18 @@ +#NOOPT = 1 +#NOOMP = 1 +#OMP_FLAGS = -fopenmp +include ../../Makefile.defs + +TESTNAME = device_intrinsics_map +TESTSRC_MAIN = device_intrinsics_map.f90 +TESTSRC_AUX = +TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) + +FLANG ?= flang +OMP_BIN = $(AOMP)/bin/$(FLANG) +CC = $(OMP_BIN) $(VERBOSE) +CFLAGS = $(FLANG_GPU_LINK_FLAGS) +#-ccc-print-phases +#"-\#\#\#" + +include ../Makefile.rules diff --git a/test/smoke-fort-dev/device_intrinsics_map/device_intrinsics_map.f90 b/test/smoke-fort-dev/device_intrinsics_map/device_intrinsics_map.f90 new file mode 100644 index 000000000..61c494744 --- /dev/null +++ b/test/smoke-fort-dev/device_intrinsics_map/device_intrinsics_map.f90 @@ -0,0 +1,48 @@ +! +!Copyright © Advanced Micro Devices, Inc., or its affiliates. +! +!SPDX-License-Identifier: MIT +! +module mod + implicit none +contains + subroutine assgn(a, ma, mi, ms) + implicit none + real, dimension(:), allocatable :: a + real :: ma, mi, ms + !$omp target map(tofrom: a,ma,mi,ms) + ma = maxval(a) + mi = minval(a) + ms = sum(a) + !$omp end target + end subroutine assgn +end module mod + +program device_intrinsics + use mod + implicit none + + integer, parameter :: n = 1024 + integer :: i + real, dimension(:), allocatable :: a + real, dimension(:), allocatable :: b + real :: ma, mi, ms + + allocate(a(n)) + allocate(b(n)) + + a = [( real(i),i=1,n )] + b = [( real(i),i=1,n )] + + !$omp target enter data map(to:a) map(alloc:ma,mi,ms) + call assgn(a, ma, mi, ms) + !$omp target exit data map(delete:a) map(from:ma,mi,ms) + + if (mi /= minval(b) .or. ma /= maxval(b) .or. ms /= sum(b)) then + print '(a)', 'ERROR' + stop 1 + end if + print '(a)', 'SUCCESS' + + deallocate(a) +end program device_intrinsics diff --git a/trunk/README.md b/trunk/README.md index f2c72d10f..5538c2c1f 100644 --- a/trunk/README.md +++ b/trunk/README.md @@ -1,9 +1,9 @@ -# How to Build the _trunk23_ Compiler +# How to Build the _trunk24_ Compiler Add the following to your environment in either `.bash_profile` or `.bashrc`: ``` bash -export TRUNK_REPOS=$HOME/git/trunk23.0 +export TRUNK_REPOS=$HOME/git/trunk24.0 ``` Or set `TRUNK_REPOS` to a location with a fast file system. Then log in again @@ -32,17 +32,17 @@ override. ## TRUNK_REPOS -See the discussion above for building _trunk23_ on the use of `TRUNK_REPOS`. +See the discussion above for building _trunk24_ on the use of `TRUNK_REPOS`. ## TRUNK_LINK The default value for `TRUNK_LINK` is `"$HOME/rocm/trunk"`. The `build_trunk.sh` -script will install into directory `${TRUNK_LINK}_23.0-0`. +script will install into directory `${TRUNK_LINK}_24.0-0`. Furthermore, it creates a symbolic link from `$TRUNK_LINK` to the install dir. So `$TRUNK_LINK` **MUST NOT** be a physical directory. This symbolic link makes -it easy to switch between future qualifed releases of _trunk23_. If you are on a +it easy to switch between future qualifed releases of _trunk24_. If you are on a system where `$HOME` is in a slow filesystem, set `TRUNK_LINK` to where you want the install directory to be. For example set the following in your `.bash_profile` or `.bashrc` then relogin: @@ -51,7 +51,7 @@ the install directory to be. For example set the following in your export TRUNK_LINK=/work/$USER/rocm/trunk ``` -Then the install scripts will install into `/work/$USER/rocm/trunk_23.0-0` and +Then the install scripts will install into `/work/$USER/rocm/trunk_24.0-0` and a symlink will be created from `$TRUNK_LINK`. @@ -160,16 +160,16 @@ The default for `BUILD_TYPE` is "Release". This sets the value for `CMAKE_BUILD_TYPE`. See CMake documentation for different possible values. -# Releases of _trunk23_ +# Releases of _trunk24_ -At various development check points we will qualify releases of _trunk23_ and +At various development check points we will qualify releases of _trunk24_ and increment the development version in `trunk_common_vars`. For example, after the -release of `trunk_23.0-0`, development will move to `trunk_23.0-1`. The build -scripts will then install into directory `$HOME/rocm/trunk_23.0-1`. The symbolic +release of `trunk_24.0-0`, development will move to `trunk_24.0-1`. The build +scripts will then install into directory `$HOME/rocm/trunk_24.0-1`. The symbolic link from `$HOME/rocm/trunk` will also change to the new install directory. -After a _trunk23_ release, a static release branch will be created. such as -`trunk_23.0-0`. This branch will be created by interactive rebasing all the +After a _trunk24_ release, a static release branch will be created. such as +`trunk_24.0-0`. This branch will be created by interactive rebasing all the local commits in `amd-trunk-dev`. Development will continue in the branch `amd-trunk-dev`. @@ -183,7 +183,7 @@ similar to the `clone_aomp.sh` script used for AOMP. For now, simply run merges from main. -# Testing _trunk23_ +# Testing _trunk24_ To use the various AOMP testing infrastructure in `$TRUNK_REPOS/aomp/test`: diff --git a/trunk/trunk_common_vars b/trunk/trunk_common_vars index 669e56fc4..3145ebe80 100644 --- a/trunk/trunk_common_vars +++ b/trunk/trunk_common_vars @@ -8,7 +8,7 @@ # set environment variables defined in this file. # # Set the TRUNK VERSION STRING and TRUNK_PROJECT_REPO_BRANCH. -TRUNK_VERSION=${TRUNK_VERSION:-"23.0"} +TRUNK_VERSION=${TRUNK_VERSION:-"24.0"} TRUNK_VERSION_MOD=${TRUNK_VERSION_MOD:-"0"} TRUNK_VERSION_STRING=${TRUNK_VERSION_STRING:-"$TRUNK_VERSION-$TRUNK_VERSION_MOD"} export TRUNK_VERSION_STRING TRUNK_VERSION TRUNK_VERSION_MOD