diff --git a/Makefile b/Makefile index 10f752add..5c62bdc12 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,6 @@ AOMP ?= $(HOME)/rocm/aomp AOMP_REPOS = $(shell pwd) all: - AOMP=$(AOMP) AOMP_REPOS=$(AOMP_REPOS) AOMP_CHECK_GIT_BRANCH=0 AOMP_APPLY_ROCM_PATCHES=0 $(AOMP_REPOS)/aomp/bin/build_aomp.sh + AOMP=$(AOMP) AOMP_REPOS=$(AOMP_REPOS) AOMP_CHECK_GIT_BRANCH=0 AOMP_APPLY_ROCM_PATCHES=0 TARBALL_INSTALL=1 $(AOMP_REPOS)/aomp/bin/build_aomp.sh install: @echo "Installation complete to $(AOMP)" diff --git a/bin/debian/changelog b/bin/debian/changelog index 584bda723..03f975a3c 100644 --- a/bin/debian/changelog +++ b/bin/debian/changelog @@ -540,8 +540,14 @@ aomp (13.0-2) UNRELEASED; urgency=medium * * 13.0-2 * Rebase all changes to the current LLVM development trunk which is the development of LLVM 13. - * Known Issues: - * Regression with QMCPACK deterministic tests - * pow(double, int) is returning -inf + * Set the default number of teams to 4 times the number of computation units for improving GPU occupancy. + * Support for adjusting the number of threads in a team based on VGPR usage of a kernel + * Enhanced the kernel trace (when LIBOMPTARGET_KERNEL_TRACE is set) with register usage information. + This already includes the requested and actual number of teams and threads used for a kernel. + * Updated ROCm components to 4.1.x branches. + * Default Code Object v4. + * Known Issues: + * Regression with QMCPACK deterministic tests. + * pow(double, int) is returning -inf. - -- Greg Rodgers Sat, 10 Apr 2021 16:26:11 -0500 + -- Greg Rodgers Sun, 11 Apr 2021 12:43:14 -0500 diff --git a/bin/package.py b/bin/package.py index 4c0ce01f6..2cf1f8240 100644 --- a/bin/package.py +++ b/bin/package.py @@ -21,10 +21,14 @@ class Aomp(MakefilePackage): def edit(self, spec, prefix): makefile = FileFilter('Makefile') - filter_file('add_subdirectory(test)', '#add_subdirectory(test)','amd-llvm-project/compiler-rt/CMakeLists.txt', string=True) - filter_file('add_subdirectory(test)', '#add_subdirectory(test)','amd-llvm-project/llvm/CMakeLists.txt', string=True) + filter_file('add_subdirectory(test)', '#add_subdirectory(test)','llvm-project/compiler-rt/CMakeLists.txt', string=True) + filter_file('add_subdirectory(test)', '#add_subdirectory(test)','llvm-project/llvm/CMakeLists.txt', string=True) filter_file('add_subdirectory(test)', '#add_subdirectory(test)','flang/CMakeLists.txt', string=True) + # Add -w to suppress warnings, which spack thinks are errors + filter_file('-std=c11', '-std=c11 -w','flang/tools/flang1/flang1exe/CMakeLists.txt', string=True) + filter_file('PRIVATE -fPIC)', 'PRIVATE -fPIC PRIVATE -w)','flang/runtime/flang/CMakeLists.txt', string=True) + def install(self, spec, prefix): make() make("install") diff --git a/bin/patches/README.md b/bin/patches/README.md index 4593c78aa..b73c3c37a 100644 --- a/bin/patches/README.md +++ b/bin/patches/README.md @@ -10,7 +10,7 @@ If we created a mirror, we would not get maintenance unless we kept updating the The components that AOMP developers have direct control over are: - amd-llvm-project, aomp-extras, flang, aomp + llvm-project, aomp-extras, flang, aomp All other components are non-AOMP components that often require patching to work with AOMP. The AOMP build scripts for non-AOMP components use this patching process: @@ -79,22 +79,22 @@ to verify there are no changes to the non-AOMP component. Lets use build_roct.sh as an example to create a fresh patch for the roct component. Before starting, be sure you are on the development branch of aomp repo which is currently amd-stg-openmp. For this demo assume your aomp component repos -are stored at $HOME/git/aomp11. Run these commands: +are stored at $HOME/git/aomp13. Run these commands: ``` -$HOME/git/aomp11/bin/build_roct.sh -$HOME/git/aomp11/aomp/bin/build_roct.sh -cd $HOME/git/aomp11/roct-thunk-interface +$HOME/git/aomp13/bin/build_roct.sh +$HOME/git/aomp13/aomp/bin/build_roct.sh +cd $HOME/git/aomp13/roct-thunk-interface git status -git diff >$HOME/git/aomp11/aomp/bin/patches/roct-thunk-interface.patch -$HOME/git/aomp11/aomp/bin/build_roct.sh install +git diff >$HOME/git/aomp13/aomp/bin/patches/roct-thunk-interface.patch +$HOME/git/aomp13/aomp/bin/build_roct.sh install git status ``` Lastly, please push the updated patch into the aomp development branch for other developers to pick up with these commands: ``` -cd $HOME/git/aomp11/aomp +cd $HOME/git/aomp13/aomp git add bin/patches/roct-thunk-interface.patch git commit -m "freshen patch for roct" git push diff --git a/docs/RELEASESOURCEINSTALL.md b/docs/RELEASESOURCEINSTALL.md index 49b3f029f..d4cc66dc0 100644 --- a/docs/RELEASESOURCEINSTALL.md +++ b/docs/RELEASESOURCEINSTALL.md @@ -16,7 +16,7 @@ To build and install aomp from the release source tarball run these commands: ``` wget https://github.com/ROCm-Developer-Tools/aomp/releases/download/rel_13.0-2/aomp-13.0-2.tar.gz tar -xzf aomp-13.0-2.tar.gz - cd aomp + cd aomp13 nohup make & ``` Depending on your system, the last command could take a very long time. So it is recommended to use nohup and background the process. The simple Makefile that make will use runs build script "build_aomp.sh" and sets some flags to avoid git checks and applying ROCm patches. Here is that Makefile: