diff --git a/README.md b/README.md index 388831df3..02b230c4d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -AOMP - V 11.9-1 +AOMP - V 11.11-0 ============== 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 11.9-1](https://github.com/ROCm-Developer-Tools/aomp/releases). -Currently AOMP 11.11-0 is under development. +The last [release is AOMP 11.11-0](https://github.com/ROCm-Developer-Tools/aomp/releases). +Currently AOMP 11.11-1 is under development. Attention Users! Please use this repository for [issues](https://github.com/ROCm-Developer-Tools/aomp/issues). diff --git a/bin/aomp_common_vars b/bin/aomp_common_vars index 10f86e329..9d3a69243 100644 --- a/bin/aomp_common_vars +++ b/bin/aomp_common_vars @@ -15,7 +15,7 @@ AOMP_COMPILER_NAME=${AOMP_COMPILER_NAME:-AOMP} # ROCM_VERSION may be set by Jenkins, if not guess a good number -ROCM_VERSION=${ROCM_VERSION:-3.10.0} +ROCM_VERSION=${ROCM_VERSION:-4.0.0} # Set the AOMP VERSION STRING and AOMP_PROJECT_REPO_BRANCH. AOMP_VERSION=${AOMP_VERSION:-"11.11"} @@ -150,11 +150,11 @@ if [ "$AOMP_VERSION" == "12.0" ] ; then else GITPROJECT=$GITROCDEV AOMP_PROJECT_REPO_NAME=${AOMP_PROJECT_REPO_NAME:-amd-llvm-project} - AOMP_PROJECT_REPO_BRANCH=${AOMP_PROJECT_REPO_BRANCH:-aomp11} + AOMP_PROJECT_REPO_BRANCH=${AOMP_PROJECT_REPO_BRANCH:-aomp_11.11-0} AOMP_EXTRAS_REPO_NAME=${AOMP_EXTRAS_REPO_NAME:-aomp-extras} - AOMP_EXTRAS_REPO_BRANCH=${AOMP_EXTRAS_REPO_BRANCH:-aomp11} + AOMP_EXTRAS_REPO_BRANCH=${AOMP_EXTRAS_REPO_BRANCH:-aomp_11.11-0} AOMP_FLANG_REPO_NAME=${AOMP_FLANG_REPO_NAME:-flang} - AOMP_FLANG_REPO_BRANCH=${AOMP_FLANG_REPO_BRANCH:-aomp11} + AOMP_FLANG_REPO_BRANCH=${AOMP_FLANG_REPO_BRANCH:-aomp_11.11-0} fi # FIXME: In the near future, we will remove the _BRANCH variables and use a # manifest file to determine which branch to build each component. @@ -172,7 +172,7 @@ fi # These aomp development repositories AOMP_REPO_NAME=${AOMP_REPO_NAME:-aomp} -AOMP_REPO_BRANCH=${AOMP_REPO_BRANCH:-amd-stg-openmp} +AOMP_REPO_BRANCH=${AOMP_REPO_BRANCH:-rel_11.11-0} # These extra repositories are needed but we cannot update them AOMP_ROCT_REPO_NAME=${AOMP_ROCT_REPO_NAME:-roct-thunk-interface} @@ -196,7 +196,7 @@ AOMP_COMGR_REPO_SHA=${AOMP_COMGR_REPO_SHA:-4b689d6} fi AOMP_RINFO_REPO_NAME=${AOMP_RINFO_REPO_NAME:-rocminfo} AOMP_RINFO_REPO_BRANCH=${AOMP_RINFO_REPO_BRANCH:-master} -#AOMP_RINFO_REPO_SHA=${AOMP_RINFO_REPO_SHA:-605b3a5} +AOMP_RINFO_REPO_SHA=${AOMP_RINFO_REPO_SHA:-605b3a5} # These are repos we will use when we switch to HIP VDI AOMP_VDI_REPO_NAME=${AOMP_VDI_REPO_NAME:-vdi} diff --git a/bin/debian/changelog b/bin/debian/changelog index 4ce3ef0ca..96c9d6960 100644 --- a/bin/debian/changelog +++ b/bin/debian/changelog @@ -1,4 +1,4 @@ -aomp (11.9-1) UNRELEASED; urgency=medium +aomp (11.11-0) UNRELEASED; urgency=medium * Initial release of aomp is 0.3-2 * Please see example in /usr/lib/aomp/examples/vmuldemo @@ -432,4 +432,52 @@ aomp (11.9-1) UNRELEASED; urgency=medium * empty libhostrpc.a. Rerun build_openmp.sh. * ROCgdb does not work on gfx803. * Barrier issue on gfx803 for generic kernels. - -- Greg Rodgers Thu, 08 Oct 2020 16:08:53 -0500 + * + * 11.11-0 + * Major fixes to internal clang math headers: + * This set of changes applies to clang internal headers to support OpenMP C, C++, + * and FORTRAN and for HIP C. This establishes consistency between NVPTX and AMDGCN + * offloading and between OpenMP, HIP, and CUDA. OpenMP uses function variants and header + * overlays to define device versions of functions. This causes clang LLVM IR codegen to + * mangled names of variants in both the definition and callsites of functions defined in + * the internal clang headers. These changes apply to headers found in the installation + * subdirectory lib/clang/11.0.0/include. + * These changes temporarily eliminates the use of the libm bitcode libraries for C and C++. + * Although math functions are now defined with internal clang headers, a bitcode library + * of the C functions defined in the headers is still built for FORTRAN toolchain linking + * because FORTRAN cannot use c math headers. This bitcode library is installed in + * lib/libdevice/libm-.bc. The source build of this bitcode library is done + * with the aomp-extras repository and the component built script build_extras.sh. + * In the future, we will introduce across the board changes to eliminate massive header files + * for math libraries and replace it with linking to bitcode libraries. + * Usability updates: + * Add support for -gpubnames in Flang Driver + * Performance updates: + * Runtime performance improvements for synchronous memory copy between host and device. + * Added a performant "integer to integer" pow function for c++ that does not convert to float. + * Bug fixes: + * Fixed hostrpc cmake race condition in the build of openmp + * Add a fatal error if missing -Xopenmp-target or -march options when -fopenmp-targets is specified. + * However, we do forgive this requirement for offloading to host when there is only a single + * target and that target is the host. + * Fix a bug in InstructionSimplify pass where a compare of two constants of different sizes found + * in the optimization pass. This fixes issue #182 which was causing kokkos build failure. + * Fix openmp error message output for no_rocm_device_lib, was asserting. + * New Feature: + * Added an example category for Kokkos. The Kokkos example makefile detects if Kokkos is installed + * and builds Kokkos from the web if not. See the script kokkos_build.sh in the bin directory + * for how we build Kokkos. Kokkos now builds cleanly with the OpenMP backend. However, + * only simple test cases are working. + * Development changes: + * Switch branch naming scheme to aomp11. It was amd-stg-openmp. This change applies to repos + * amd-llvm-project, aomp-extras, and flang. + * Add environment variables ROCM_LLD_ARGS ROCM_LINK_ARGS ROCM_SELECT_ARGS to test driver options + * without compiler rebuild. This is not an upstream change. + * Code reorganization in preparation for upstream: + * Rename libomptarget plugin from hsa to amdgpu following upstream. + * Merge hostrpc host and device library with libomptarget. + * Remove some memory management overhead in libomptarget plugin. + * Eliminate need for -lhostrpc during application link by merging with libomptarget. + * Remove multiple inessential differences from upstream across the toolchain. + + -- Greg Rodgers Fri, 30 Oct 2020 15:42:27 -0500 diff --git a/docs/NOROOTINSTALL.md b/docs/NOROOTINSTALL.md index d5d2d192d..45bd34f35 100644 --- a/docs/NOROOTINSTALL.md +++ b/docs/NOROOTINSTALL.md @@ -7,13 +7,13 @@ Once installed go to [TESTINSTALL](TESTINSTALL.md) for instructions on getting s To install the debian package without root access into your home directory, you can run these commands.
On Ubuntu 18.04 LTS (bionic beaver): ``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.9-1/aomp_Ubuntu1804_11.9-1_amd64.deb - dpkg -x aomp_Ubuntu1804_11.9-1_amd64.deb /tmp/temproot + wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.11-0/aomp_Ubuntu1804_11.11-0_amd64.deb + dpkg -x aomp_Ubuntu1804_11.11-0_amd64.deb /tmp/temproot ``` On Ubuntu 16.04: ``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.9-1/aomp_Ubuntu1604_11.9-1_amd64.deb - dpkg -x aomp_Ubuntu1604_11.9-1_amd64.deb /tmp/temproot + wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.11-0/aomp_Ubuntu1604_11.11-0_amd64.deb + dpkg -x aomp_Ubuntu1604_11.11-0_amd64.deb /tmp/temproot ``` Move to $HOME and set variables: ``` @@ -30,13 +30,13 @@ To install the rpm package without root access into your home directory, you can ``` For Red Hat: ``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.9-1/aomp_REDHAT_7-11.9-1.x86_64.rpm - rpm2cpio aomp_REDHAT_7-11.9-1.x86_64.rpm | cpio -idmv + wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.11-0/aomp_REDHAT_7-11.11-0.x86_64.rpm + rpm2cpio aomp_REDHAT_7-11.11-0.x86_64.rpm | cpio -idmv ``` For SLES15-SP1: ``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.9-1/aomp_SLES15_SP1-11.9-1.x86_64.rpm - rpm2cpio aomp_SLES15_SP1-11.9-1.x86_64.rpm | cpio -idmv + wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.11-0/aomp_SLES15_SP1-11.11-0.x86_64.rpm + rpm2cpio aomp_SLES15_SP1-11.11-0.x86_64.rpm | cpio -idmv ``` Move to $HOME and set variables: ``` diff --git a/docs/RELEASESOURCEINSTALL.md b/docs/RELEASESOURCEINSTALL.md index 3eec656ec..f01b0566c 100644 --- a/docs/RELEASESOURCEINSTALL.md +++ b/docs/RELEASESOURCEINSTALL.md @@ -14,8 +14,8 @@ To build AOMP from source you must: 1. Install certain distribution packages, 2. To build and install aomp from the release source tarball run these commands: ``` - wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.9-1/aomp-11.9-1.tar.gz - tar -xzf aomp-11.9-1.tar.gz + wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.11-0/aomp-11.11-0.tar.gz + tar -xzf aomp-11.11-0.tar.gz cd aomp nohup make & ``` @@ -30,9 +30,9 @@ 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_11.9-1 and create a symbolic link from $HOME/rocm/aomp to $HOME/rocm/aomp_11.9-1. +The build_aomp.sh script will install into $HOME/rocm/aomp_11.11-0 and create a symbolic link from $HOME/rocm/aomp to $HOME/rocm/aomp_11.11-0. 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_11.9-0. +To enable a backlevel version of AOMP, simply set AOMP to $HOME/rocm/aomp_11.9-1. ## Build AOMP with spack @@ -40,7 +40,7 @@ Assuming your have installed the [prerequisites](SOURCEINSTALL_PREREQUISITE.md), ``` wget https://github.com/ROCm-Developer-Tools/aomp/blob/master/bin/package.py - spack create -n aomp -t makefile --force https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.9-1/aomp-11.9-1.tar.gz + spack create -n aomp -t makefile --force https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.11-0/aomp-11.11-0.tar.gz spack edit aomp spack install aomp ``` diff --git a/docs/RHELINSTALL.md b/docs/RHELINSTALL.md index a4f390d1a..8f6bcf640 100644 --- a/docs/RHELINSTALL.md +++ b/docs/RHELINSTALL.md @@ -8,12 +8,12 @@ sudo yum install perl-Digest-MD5 ``` ### Download and Install ``` -wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.9-1/aomp_REDHAT_7-11.9-1.x86_64.rpm -sudo rpm -i aomp_REDHAT_7-11.9-1.x86_64.rpm +wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.11-0/aomp_REDHAT_7-11.11-0.x86_64.rpm +sudo rpm -i aomp_REDHAT_7-11.11-0.x86_64.rpm ``` If CUDA is not installed the installation may cancel, to bypass this: ``` -sudo rpm -i --nodeps aomp_REDHAT_7-11.9-1.x86_64.rpm +sudo rpm -i --nodeps aomp_REDHAT_7-11.11-0.x86_64.rpm ``` Confirm AOMP environment variable is set: ``` diff --git a/docs/SLES15INSTALL.md b/docs/SLES15INSTALL.md index 35ecd5874..ceae33247 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_11.9-1/aomp_SLES15_SP1-11.9-1.x86_64.rpm -sudo rpm -i aomp_SLES15_SP1-11.9-1.x86_64.rpm +wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.11-0/aomp_SLES15_SP1-11.11-0.x86_64.rpm +sudo rpm -i aomp_SLES15_SP1-11.11-0.x86_64.rpm ``` Confirm AOMP environment variable is set: ``` diff --git a/docs/SOURCEINSTALL.md b/docs/SOURCEINSTALL.md index 73d7889eb..d6b279255 100644 --- a/docs/SOURCEINSTALL.md +++ b/docs/SOURCEINSTALL.md @@ -1,4 +1,4 @@ -# Source Install V 11.11-0 (DEV) +# Source Install V 11.11-1 (DEV) Build and install from sources is possible. However, the source build for AOMP is complex for several reasons. - Many repos are required. The clone_aomp.sh script ensures you have all repos and the correct branch. @@ -19,7 +19,7 @@ To build AOMP from source you must: 1. Install certain distribution packages, 2. ``` Choose a Build Version (Development or Release) -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. If instead, you want to build from the sources of a previous release such as 11.9-1 that is possible as well. +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. If instead, you want to build from the sources of a previous release such as 11.11-0 that is possible as well. For the Development Branch: ``` @@ -29,7 +29,7 @@ The development version is the next version to be released. It is possible that For the Release Branch: ``` - git checkout rel_11.9-1 + git checkout rel_11.11-0 git pull export AOMP_CHECK_GIT_BRANCH=0 //Tags will be used to checkout various repos. This will ignore the detached head state to avoid build errors. ``` diff --git a/docs/UBUNTUINSTALL.md b/docs/UBUNTUINSTALL.md index 6d36649ce..0ac9fee68 100644 --- a/docs/UBUNTUINSTALL.md +++ b/docs/UBUNTUINSTALL.md @@ -3,14 +3,14 @@ AOMP will install to /usr/lib/aomp. The AOMP environment variable will automatic On Ubuntu 18.04 LTS (bionic beaver), run these commands: ``` -wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.9-1/aomp_Ubuntu1804_11.9-1_amd64.deb -sudo dpkg -i aomp_Ubuntu1804_11.9-1_amd64.deb +wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.11-0/aomp_Ubuntu1804_11.11-0_amd64.deb +sudo dpkg -i aomp_Ubuntu1804_11.11-0_amd64.deb ``` On Ubuntu 16.04, run these commands: ``` -wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.9-1/aomp_Ubuntu1604_11.9-1_amd64.deb -sudo dpkg -i aomp_Ubuntu1604_11.9-1_amd64.deb +wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_11.11-0/aomp_Ubuntu1604_11.11-0_amd64.deb +sudo dpkg -i aomp_Ubuntu1604_11.11-0_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.