diff --git a/README.md b/README.md index b077503b3..ed23094af 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -AOMP - V 16.0-1 +AOMP - V 16.0-2 ============== This is README.md for https://github.com/ROCM-Developer-Tools/aomp. @@ -8,8 +8,8 @@ This is the base repository for AOMP. Use this github repository for documentation, and [examples](https://github.com/ROCm-Developer-Tools/aomp/tree/master/examples). -The last [release is AOMP 16.0-1](https://github.com/ROCm-Developer-Tools/aomp/releases). -Currently AOMP 16.0-2 is under development. +The last [release is AOMP 16.0-2](https://github.com/ROCm-Developer-Tools/aomp/releases). +Currently AOMP 16.0-3 is under development. Attention Users! Please use this repository for [issues](https://github.com/ROCm-Developer-Tools/aomp/issues). Do not put issues in any of the source code repositories. diff --git a/bin/README.md b/bin/README.md index fd1fdef69..6426ae0fc 100644 --- a/bin/README.md +++ b/bin/README.md @@ -60,7 +60,7 @@ These are some important environment variables and their default values. | AOMP_REPOS | $HOME/git/aomp16.0 | The base directory for all AOMP build repositories | AOMP_STANDALONE_BUILD | 1 | Build all components, do NOT use installed ROCm | AOMP_VERSION | 16.0 | Clang version. -| AOMP_VERSION_MOD | 2 | This implies the next release will be AOMP_16.0-2. +| AOMP_VERSION_MOD | 3 | This implies the next release will be AOMP_16.0-3. | AOMP_VERSION_STRING | $AOMP_VERSION-$AOMP_VERSION_MOD | | GFXLIST | gfx700 gfx701 gfx801 gfx803 | List of AMDGPU gpus to build for | | gfx900 gfx902 gfx906 gfx908 | @@ -246,17 +246,17 @@ The install location is defined by the $AOMP environment variable. The value of That is, the physical installation will be in directory name formed by concatonating the version string to the value of $AOMP. The "build_project.sh install" script will make a symbolic link from the physical directory to the symbolic directory $AOMP. The default value for AOMP is $HOME/rocm/aomp. -For example, when building AOMP version 16.0-1 the install scripts will put all files and directories -in $HOME/rocm/aomp_16.0-1 and create a symbolic link as follows: +For example, when building AOMP version 16.0-2 the install scripts will put all files and directories +in $HOME/rocm/aomp_16.0-2 and create a symbolic link as follows: ``` -ln -sf ${AOMP}_16.0-1 ${AOMP} +ln -sf ${AOMP}_16.0-2 ${AOMP} ``` All testing for AOMP uses the environment variable AOMP to locate the installation. This makes it easy to switch between versions of AOMP for testing by simply changing the environment variable AOMP. You do NOT need to change the symbolic link. -For example, if the aomp symbolic link currently points to aomp_16.0-1 and you want to test aomp_16.0-0, do this: +For example, if the aomp symbolic link currently points to aomp_16.0-2 and you want to test aomp_16.0-1, do this: ``` -export AOMP=$HOME/rocm/aomp_16.0-0 +export AOMP=$HOME/rocm/aomp_16.0-1 ``` The aomp package installs in /usr/lib/aomp_\ and symlinks /usr/lib/aomp to the versioned directory. To test the installed package, set AOMP to /usr/lib/aomp or /usr/lib/aomp_\. diff --git a/bin/build_aomp_docker_release.sh b/bin/build_aomp_docker_release.sh index 697cd3bae..c5332bb2b 100755 --- a/bin/build_aomp_docker_release.sh +++ b/bin/build_aomp_docker_release.sh @@ -9,7 +9,7 @@ ########################################################### set -e -AOMP_VERSION_STRING=${AOMP_VERSION_STRING:-16.0-1} +AOMP_VERSION_STRING=${AOMP_VERSION_STRING:-16.0-2} AOMP_VERSION=${AOMP_VERSION:-16.0} #DOCKERX_HOST=${DOCKERX_HOST:-$HOME/dockerx} DOCKERX_HOST=$HOME/dockerx diff --git a/bin/debian/changelog b/bin/debian/changelog index dfd56d27a..ae3f1db0c 100644 --- a/bin/debian/changelog +++ b/bin/debian/changelog @@ -1,4 +1,4 @@ -aomp (16.0-1) UNRELEASED; urgency=medium +aomp (16.0-2) UNRELEASED; urgency=medium * Initial release of aomp is 0.3-2 * Please see example in /usr/lib/aomp/examples/vmuldemo @@ -771,5 +771,15 @@ aomp (16.0-1) UNRELEASED; urgency=medium * Support atomic min/max on MI200. * Support for device new and delete. * Bumped cmake version to 3.18.5. + * + * 16.0-2 + * Fix for early USM failure - openfoam does not hang. + * Enhance xteam reductions (with codegen). Support for integer data types. + * Fix for double _Complex scalars in target region, + * test/smoke-fails/double_complex_scalar now works. This test will move to smoke in next release. + * Support for target teams loop directive. + * Force synchronous execution of regions controlled via OMPX_FORCE_SYNC_REGIONS. + * New environment variable GPU_MAX_HW_QUEUES controls number of HSA queues created, default is 4. + * This change actually occurred in 16.0-1 but was not listed in release notes. -- Greg Rodgers Thu, 19 May 2022 23:34:44 -0500 diff --git a/bin/package.py b/bin/package.py index ddd154809..c68335d13 100644 --- a/bin/package.py +++ b/bin/package.py @@ -12,10 +12,10 @@ class Aomp(MakefilePackage): """ llvm openmp compiler from AMD""" homepage = "https://github.com/ROCm-Developer-Tools/aomp" - url = "https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp-16.0-1.tar.gz" + url = "https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp-16.0-2.tar.gz" # Fixme: this will be adjusted when spack create is called. When copying over to your own package.py omit this line. - version('16.0-1', sha256='7ea4e218b171585441278f3562d97779006b12bc3b5dc201901f2d757226da84') + version('16.0-2', sha256='7ea4e218b171585441278f3562d97779006b12bc3b5dc201901f2d757226da84') family = 'compiler' diff --git a/docs/CENTOSINSTALL.md b/docs/CENTOSINSTALL.md index e8adbf760..8530f724c 100644 --- a/docs/CENTOSINSTALL.md +++ b/docs/CENTOSINSTALL.md @@ -5,13 +5,13 @@ AOMP will install to /usr/lib/aomp. The AOMP environment variable will automatic ### Download and Install (CentOS 8) ``` -wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_CENTOS_8-16.0-1.x86_64.rpm -sudo rpm -i aomp_CENTOS_8-16.0-1.x86_64.rpm +wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp_CENTOS_8-16.0-2.x86_64.rpm +sudo rpm -i aomp_CENTOS_8-16.0-2.x86_64.rpm ``` ### Download and Install (CentOS 7) ``` -wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_CENTOS_7-16.0-1.x86_64.rpm -sudo rpm -i aomp_CENTOS_7-16.0-1.x86_64.rpm +wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp_CENTOS_7-16.0-2.x86_64.rpm +sudo rpm -i aomp_CENTOS_7-16.0-2.x86_64.rpm ``` Confirm AOMP environment variable is set: ``` diff --git a/docs/NOROOTINSTALL.md b/docs/NOROOTINSTALL.md index fed978b67..de7a6b066 100644 --- a/docs/NOROOTINSTALL.md +++ b/docs/NOROOTINSTALL.md @@ -8,13 +8,8 @@ To install the debian package without root access into your home directory, you On Ubuntu 20.04: ``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_Ubuntu2004_16.0-1_amd64.deb - dpkg -x aomp_Ubuntu2004_16.0-1_amd64.deb /tmp/temproot -``` -On Ubuntu 18.04 LTS (bionic beaver): -``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_Ubuntu1804_16.0-1_amd64.deb - dpkg -x aomp_Ubuntu1804_16.0-1_amd64.deb /tmp/temproot + wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp_Ubuntu2004_16.0-2_amd64.deb + dpkg -x aomp_Ubuntu2004_16.0-2_amd64.deb /tmp/temproot ``` Move to $HOME and set variables: ``` @@ -31,18 +26,18 @@ To install the rpm package without root access into your home directory, you can ``` For SLES15-SP1: ``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_SLES15_SP1-16.0-1.x86_64.rpm - rpm2cpio aomp_SLES15_SP1-16.0-1.x86_64.rpm | cpio -idmv + wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp_SLES15_SP1-16.0-2.x86_64.rpm + rpm2cpio aomp_SLES15_SP1-16.0-2.x86_64.rpm | cpio -idmv ``` For CentOS/RHEL 7: ``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_CENTOS_7-16.0-1.x86_64.rpm - rpm2cpio aomp_CENTOS_7-16.0-1.x86_64.rpm | cpio -idmv + wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp_CENTOS_7-16.0-2.x86_64.rpm + rpm2cpio aomp_CENTOS_7-16.0-2.x86_64.rpm | cpio -idmv ``` For CentOS 8: ``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_CENTOS_8-16.0-1.x86_64.rpm - rpm2cpio aomp_CENTOS_8-16.0-1.x86_64.rpm | cpio -idmv + wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp_CENTOS_8-16.0-2.x86_64.rpm + rpm2cpio aomp_CENTOS_8-16.0-2.x86_64.rpm | cpio -idmv ``` Move to $HOME and set variables: ``` diff --git a/docs/RELEASESOURCEINSTALL.md b/docs/RELEASESOURCEINSTALL.md index fcad76c9c..30e9cf9f7 100644 --- a/docs/RELEASESOURCEINSTALL.md +++ b/docs/RELEASESOURCEINSTALL.md @@ -7,15 +7,15 @@ So if you are building from source either manually or building with spack, you m ## Source Build Prerequisites -To build AOMP from source you must: 1. Install certain distribution packages, 2. Build CMake 3.16.8 from source 3. ensure the KFD kernel module is installed and operating, 4. create the Unix video group, and 5. install spack if required. [This link](SOURCEINSTALL_PREREQUISITE.md) provides instructions to satisfy all the AOMP source build dependencies. +To build AOMP from source you must: 1. Install certain distribution packages, 2. Build CMake 3.18.5 from source 3. ensure the KFD kernel module is installed and operating, 4. create the Unix video group, and 5. install spack if required. [This link](SOURCEINSTALL_PREREQUISITE.md) provides instructions to satisfy all the AOMP source build dependencies. ## Build AOMP manually from release source tarball To build and install aomp from the release source tarball run these commands: ``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp-16.0-1.tar.gz - tar -xzf aomp-16.0-1.tar.gz + wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp-16.0-2.tar.gz + tar -xzf aomp-16.0-2.tar.gz cd aomp16.0 nohup make & ``` @@ -30,17 +30,17 @@ If you set the environment variable AOMP, the Makefile will install to that dire Otherwise, the Makefile will install into /usr/local. So you must have authorization to write into /usr/local if you do not set the environment variable AOMP. Let's assume you set the environment variable AOMP to "$HOME/rocm/aomp" in .bash_profile. -The build_aomp.sh script will install into $HOME/rocm/aomp_16.0-1 and create a symbolic link from $HOME/rocm/aomp to $HOME/rocm/aomp_16.0-1. +The build_aomp.sh script will install into $HOME/rocm/aomp_16.0-2 and create a symbolic link from $HOME/rocm/aomp to $HOME/rocm/aomp_16.0-2. This feature allows multiple versions of AOMP to be installed concurrently. -To enable a backlevel version of AOMP, simply set AOMP to $HOME/rocm/aomp_16.0-0. +To enable a backlevel version of AOMP, simply set AOMP to $HOME/rocm/aomp_16.0-1. ## Build AOMP with spack Assuming your have installed the [prerequisites](SOURCEINSTALL_PREREQUISITE.md), use these commands to fetch the source and build aomp. Currently the aomp configuration is not yet in the spack git hub so you must create the spack package first. ``` - wget https://github.com/ROCm-Developer-Tools/aomp/blob/aomp-16.0-1/bin/package.py - spack create -n aomp -t makefile --force https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp-16.0-1.tar.gz + wget https://github.com/ROCm-Developer-Tools/aomp/blob/aomp-16.0-2/bin/package.py + spack create -n aomp -t makefile --force https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp-16.0-2.tar.gz spack edit aomp spack install aomp ``` diff --git a/docs/RHELINSTALL.md b/docs/RHELINSTALL.md index b2ef483b6..6f01f06e6 100644 --- a/docs/RHELINSTALL.md +++ b/docs/RHELINSTALL.md @@ -8,12 +8,12 @@ sudo yum install perl-Digest-MD5 perl-URI-Encode ``` ### Download and Install ``` -wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_CENTOS_7-16.0-1.x86_64.rpm -sudo rpm -i aomp_CENTOS_7-16.0-1.x86_64.rpm +wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp_CENTOS_7-16.0-2.x86_64.rpm +sudo rpm -i aomp_CENTOS_7-16.0-2.x86_64.rpm ``` If CUDA is not installed the installation may cancel, to bypass this: ``` -sudo rpm -i --nodeps aomp_CENTOS_7-16.0-1.x86_64.rpm +sudo rpm -i --nodeps aomp_CENTOS_7-16.0-2.x86_64.rpm ``` Confirm AOMP environment variable is set: ``` diff --git a/docs/SLES15INSTALL.md b/docs/SLES15INSTALL.md index df0ad082f..84c4e8af8 100644 --- a/docs/SLES15INSTALL.md +++ b/docs/SLES15INSTALL.md @@ -1,8 +1,8 @@ # AOMP SUSE SLES-15-SP1 Install AOMP will install to /usr/lib/aomp. The AOMP environment variable will automatically be set to the install location. This may require a new terminal to be launched to see the change. ``` -wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_SLES15_SP1-16.0-1.x86_64.rpm -sudo rpm -i aomp_SLES15_SP1-16.0-1.x86_64.rpm +wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp_SLES15_SP1-16.0-2.x86_64.rpm +sudo rpm -i aomp_SLES15_SP1-16.0-2.x86_64.rpm ``` Confirm AOMP environment variable is set: ``` diff --git a/docs/SOURCEINSTALL.md b/docs/SOURCEINSTALL.md index 5f34294b4..4865d65d1 100644 --- a/docs/SOURCEINSTALL.md +++ b/docs/SOURCEINSTALL.md @@ -1,4 +1,4 @@ -# Source Install V 16.0-2 +# Source Install V 16.0-3 Build and install from sources is possible. However, the source build for AOMP is complex for several reasons. - Many repos are required. @@ -40,14 +40,14 @@ Here are the commands to do a source build of AOMP: ``` The development version is the next version to be released. It is possible that the development version is broken due to regressions that often occur during development. -These commands will build a previous release of AOMP such as aomp-16.0-1.
+These commands will build a previous release of AOMP such as aomp-16.0-2.
Release Branch: ``` export AOMP_VERSION=16.0 export AOMP_REPOS=$HOME/git/aomp${AOMP_VERSION} mkdir -p $AOMP_REPOS cd $AOMP_REPOS - git clone -b aomp-16.0-1 https://github.com/ROCm-Developer-Tools/aomp + git clone -b aomp-16.0-2 https://github.com/ROCm-Developer-Tools/aomp ``` Clone and build: ``` @@ -69,7 +69,7 @@ The above command will produce output like this showing you the location and bra MANIFEST FILE: ~/git/aomp16.0/aomp/bin/../manifests/aomp_16.0.xml Release Branch:
-MANIFEST FILE: ~/git/aomp16.0/aomp/bin/../manifests/aomp_16.0-1.xml +MANIFEST FILE: ~/git/aomp16.0/aomp/bin/../manifests/aomp_16.0-2.xml ``` repo src branch path repo name last hash updated commitor for author -------- ------ ---- --------- --------- ------- -------- ---------- diff --git a/docs/SOURCEINSTALL_PREREQUISITE.md b/docs/SOURCEINSTALL_PREREQUISITE.md index d0ca8b13b..072ad337c 100644 --- a/docs/SOURCEINSTALL_PREREQUISITE.md +++ b/docs/SOURCEINSTALL_PREREQUISITE.md @@ -96,10 +96,6 @@ These commands are for supported Debian-based systems and target only the amdgpu ``` wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add - ``` -Ubuntu 18.04: -``` -echo 'deb [arch=amd64] http://repo.radeon.com/amdgpu/latest/ubuntu bionic main' | sudo tee /etc/apt/sources.list.d/amdgpu.list -``` Ubuntu 20.04: ``` echo 'deb [arch=amd64] http://repo.radeon.com/amdgpu/latest/ubuntu focal main' | sudo tee /etc/apt/sources.list.d/amdgpu.list @@ -156,7 +152,7 @@ Install amdgpu-dkms: ### 6. Optional Install CUDA The Nvidia CUDA SDK is NOT required to build AOMP or install the AOMP package. -However, to build AOMP from source, you SHOULD have the Nvidia CUDA SDK version 10 installed because AOMP may be used to build applications for NVIDIA GPUs. The current default build list of Nvidia subarchs is "30,35,50,60,61,70". For example, the default list will support application builds with --offload-arch=sm_30 and --offload-arch=sm_60 etc. This build list can be changed with the NVPTXGPUS environment variable as shown above. +However, to build AOMP from source, you SHOULD have the Nvidia CUDA SDK version 10/11 installed because AOMP may be used to build applications for NVIDIA GPUs. The current default build list of Nvidia subarchs is "30,35,50,60,61,70". For example, the default list will support application builds with --offload-arch=sm_30 and --offload-arch=sm_60 etc. This build list can be changed with the NVPTXGPUS environment variable as shown above. ### 7. Optional Install of Spack diff --git a/docs/UBUNTUINSTALL.md b/docs/UBUNTUINSTALL.md index 0cf7bcc1b..319073942 100644 --- a/docs/UBUNTUINSTALL.md +++ b/docs/UBUNTUINSTALL.md @@ -3,14 +3,8 @@ AOMP will install to /usr/lib/aomp. The AOMP environment variable will automatic On Ubuntu 20.04, run these commands: ``` -wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_Ubuntu2004_16.0-1_amd64.deb -sudo dpkg -i aomp_Ubuntu2004_16.0-1_amd64.deb -``` - -On Ubuntu 18.04 LTS (bionic beaver), run these commands: -``` -wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-1/aomp_Ubuntu1804_16.0-1_amd64.deb -sudo dpkg -i aomp_Ubuntu1804_16.0-1_amd64.deb +wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_16.0-2/aomp_Ubuntu2004_16.0-2_amd64.deb +sudo dpkg -i aomp_Ubuntu2004_16.0-2_amd64.deb ``` The AOMP bin directory (which includes the standard clang and llvm binaries) is not intended to be in your PATH for typical operation. @@ -21,10 +15,6 @@ These commands are for supported Debian-based systems and target only the amdgpu ``` wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add - ``` -Ubuntu 18.04: -``` -echo 'deb [arch=amd64] http://repo.radeon.com/amdgpu/latest/ubuntu bionic main' | sudo tee /etc/apt/sources.list.d/admgpu.list -``` Ubuntu 20.04: ``` echo 'deb [arch=amd64] http://repo.radeon.com/amdgpu/latest/ubuntu focal main' | sudo tee /etc/apt/sources.list.d/amdgpu.list @@ -34,16 +24,18 @@ Update and Install: sudo apt update sudo apt install amdgpu-dkms sudo reboot -sudo usermod -a -G video $USER +sudo usermod -a -G render $USER ``` ### NVIDIA CUDA Driver The CUDA installation is optional. -Note these instructions reference the install for Ubuntu 18.04. -``` - wget https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64 - sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb - sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub - sudo apt-get update - sudo apt-get install cuda +Note these instructions reference the install for Ubuntu 20.04. +``` +wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin +sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 +wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda-repo-ubuntu2004-11-0-local_11.0.2-450.51.05-1_amd64.deb +sudo dpkg -i cuda-repo-ubuntu2004-11-0-local_11.0.2-450.51.05-1_amd64.deb +sudo apt-key add /var/cuda-repo-ubuntu2004-11-0-local/7fa2af80.pub +sudo apt-get update +sudo apt-get -y install cuda ``` Depending on your system the CUDA install could take a very long time.