Releases: ROCm/aomp
AOMP Release 11.9-1
THIS IS AN OLD RELEASE. DO NOT DOWNLOAD. PLEASE DOWNLOAD THE LATEST RELEASE.
The source code base for this release is the upstream LLVM 11 monorepo release/11.x sources as September 28, 2020 with hash value eb83b551d3eb08cf472fe6307fe3809a8005b2cc
The changes for this release of AOMP:
- Merge with stable LLVM 11
- Switch sources to ROCm 3.8.x branches, ROCr remained on 3.7.x as there were no source updates put in 3.8.
- Fixes for ompt lit tests
Known Issues
- Source Build: Race condition in the build of hostrpc in openmp, which may result in an empty libhostrpc.a. Rerun build_openmp.sh.
- ROCgdb does not work on gfx803.
- Barrier issue on gfx803 for generic kernels.
AOMP Release 11.9-0
THIS IS AN OLD RELEASE. DO NOT DOWNLOAD. PLEASE DOWNLOAD THE LATEST RELEASE.
The source code base for this release is the upstream LLVM 11 monorepo release/11.x sources as August 18, 2020 with hash value 1e6907f09030b636054b1c7b01de36f281a61fa2
. The llvm-project branch used to build this release is aomp11. In addition to complete source tarball, the artifacts of this release includes the file llvm-project.patch. This file shows the delta from the llvm-project upstream release/11.x. The size of this patch XXXX lines in XXX files. These changes include support for flang driver, OMPD support and the hsa libomptarget plugin. Our goal is to reduce this with continued upstreaming activity.
The changes for this release of AOMP:
- Fix compiler warnings for build_project.sh and build_openmp.sh.
- Fix: [flang] The AOMP 11.7-1 Fortran compiler claims to support the -isystem flag, but ignores it.
- Fix: [flang] producing internal compiler error when character is used with KIND.
- Fix: [flang] openmp map clause on complex allocatable expressions !$omp target data map( chunk%tiles(1)%field%density0).
- DeviceRTL memory footprint has been reduced from ~2.3GB to ~770MB for AMDGCN target.
- Switch sources to ROCm 3.7.x branches.
- Fixed hash for raja to avoid build error in example.
- Workaround for red_bug_51 failing on gfx908.
- Switch to python3 for ompd and rocgdb.
- ROCdbgapi requires g++7 as a minimum.
- 16.04 build does not have the rocgdb debugger as the system only supports g++5.
- Now require cmake 3.13.4 to compile from source .
- Fix aompcc to accept file type cxx.
Known Issues
- ROCgdb does not work on gfx803.
- Barrier issue on gfx803 for generic kernels.
AOMP Release 11.8-0
THIS IS AN OLD RELEASE. DO NOT DOWNLOAD. PLEASE DOWNLOAD THE LATEST RELEASE.
The source code base for this release is the upstream LLVM 11 monorepo release/11.x sources as August 18, 2020 with hash value
aabff0f7d564b22600b33731e0d78d2e70d060b4. The amd-llvm-project branch used to build this release is amd-stg-openmp. In addition to complete source tarball, the artifacts of this release includes the file llvm-project.patch. This file shows the delta from the llvm-project upstream release/11.x which is currently at 32715 lines in 240 files. These changes include support for flang driver, OMPD support and the hsa libomptarget plugin. Our goal is to reduce this with continued upstreaming activity.
These are the major changes for this release of AOMP:
- Switch to the LLVM 11.x stable code base.
- OMPD updates for flang.
- To support debugging OpenMP, selected OpenMP runtime sources are included in lib-debug/src/openmp. The ROCgdb debugger will find these automatically.
- Threadsafe hsa plugin for libomptarget.
- Updates to support device libraries.
- Openmpi configure issue with real16 resolved.
- DeviceRTL memory use is now independent of number of openmp binaries.
- Startup latency on first kernel launch reduced by order of magnitude.
These are the known issues with this release
- Further reductions in memory use by DeviceRTL required
AOMP Release 11.7-1
THIS IS AN OLD RELEASE. DO NOT DOWNLOAD. PLEASE DOWNLOAD THE LATEST RELEASE.
This release has new package dependencies when building from source. Please check
https://github.com/ROCm-Developer-Tools/aomp/blob/amd-stg-openmp/docs/SOURCEINSTALL.md
The source code base for this release is the upstream LLVM 11 monorepo development sources as July 10, 2020 with hash valued 979c5023d3f0656cf51bd645936f52acd62b0333 The amd-llvm-project branch used to build this release is amd-stg-openmp. In addition to complete source tarball, the artifacts of this release includes the file llvm-project.patch. This file shows the delta from the llvm-project upstream trunk which is currently at 34121 lines in 277 files. Our goal is to reduce this with continued upstreaming activity.
- Inclusion of OMPD support which is not yet upstream
- Build of ROCgdb
- Host runtime optimisation. GPU image information is now mostly read on the host instead of from the GPU.
- Fixed the source build scripts so that building from the source tarball does not fail because of missing test directories. This fixes issue #116.
Known Issues:
- Hip example device_lib fails to compile
AOMP Release 11.7-0
THIS IS AN OLD RELEASE. DO NOT DOWNLOAD. PLEASE DOWNLOAD THE LATEST RELEASE.
The source code base for this release is the upstream LLVM 11 monorepo development sources as June 25, 2020 with hash valued 4c6548222b3c41d024581d28f42b3f02510bcfe3. The amd-llvm-project branch used to build this release is amd-stg-openmp. In addition to complete source tarball, the artifacts of this release includes the file llvm-project.patch. This file shows the delta from the llvm-project upstream trunk which is currently at 33409 lines in 303 files. Our goal is to reduce this with continued upstreaming activity.
- Switched to default OpenMP 5.0
- Merge of llvm trunk as of June 25
- Dropped support for 16.04 due to ROCm components requiring a newer gcc that is not supported.
- Known Issues:
-Hip example device_lib fails to compile
AOMP Release 11.6-2
THIS IS AN OLD RELEASE. DO NOT DOWNLOAD. PLEASE DOWNLOAD THE LATEST RELEASE.
The source code base for this release is the upstream LLVM 11 monorepo development sources as June 5, 2020 with hash valued e429cffd4f228f70c1d9df0e5d77c08590dd9766 . The amd-llvm-project branch used to build this release is amd-stg-openmp. In addition to complete source tarball, the artifacts of this release includes the file llvm-project.patch. This file shows the delta from the llvm-project upstream trunk which is currently at 33755 lines in 283 files. Our goal is to reduce this with continued upstreaming activity.
These are the changes since AOMP 11.6-1
- Enabled OpenMP 5.0 by default, use -fopenmp-version=45 to enable OpenMP 4.5 compliance.
- Restructuring to prepare for upstream and inclusion to ROCm compiler
- Fix issue #114 fix bitcode search path using hip policy HIP_DEVICE_LIB_PATH and hip-devic-lib command line option
turn on global_free for kmpc_impl_free - Significant cleanup and restructuring of hostrpc including:
Get rid of hostcall register functions. Replace with handlePayload(service, payload). handlPayload has a simple switch to call the correct service handler function.
Get rid of WITH_HSA macro. It is always on.
Move the hostrpc stubs and host fallback functions into a single library and include file. It also makes the stubs openmp cpp source instead of hip and reorganizes everything in the directory openmp/libomptarget/hostrpc.
Move hostrpc_invoke.cl into DeviceRTLs/amdgcn because it is arch specific.
Generalize the vargs processing in printf to work for any vargs function that we want to execute on the host, including a vargs function that uses a function pointer.
Reorganize files, add global_allocate and global_free, and fix some compile warnings.
Fix llvm TypeID enum to match current upstream llvm TypeID. - Moved strlen_max function inside the declare target #ifdef _DEVICE_GPU in hostrpc.cpp to resolve linker failure seen in pfspecifier_str smoke test.
- Fixed AOMP_GIT_CHECK_BRANCH in aomp_common_vars to not block builds in Red Hat if repo is on a specific commit hash.
- Simplify and reduce size of openmp host runtime
Author: jsjodin [email protected]
Date: Mon Jun 29 14:17:33 2020 -0400
Skip empty modules to avoid linker warning. (#89)
Author: jsjodin [email protected]
Date: Mon Jun 29 13:04:24 2020 -0400
Merge pull request #88 from ROCm-Developer-Tools/jsjodin_ob
Merge unbundle archive code into offload bundler.
Author: jsjodin [email protected]
Date: Mon Jun 29 12:48:42 2020 -0400
Merge pull request #87 from ROCm-Developer-Tools/jsjodin_llvm_link1
Cleanup done for upstreaming.
Author: Jan Sjodin [email protected]
Date: Thu Jun 25 14:47:51 2020 -0400
Merge unbundle archive code into offload bundler.
Author: Jan Sjodin [email protected]
Date: Thu Jun 25 13:39:34 2020 -0400
Cleanup done for upstreaming.
Author: Jon Chesterfield [email protected]
Date: Wed Jun 24 02:49:39 2020 +0100
Remove most of cpu task and some other unused code
Author: Jon Chesterfield [email protected]
Date: Tue Jun 23 17:27:55 2020 +0100
Ignore environment variable ATMI_DEPENDENCY_SYNC_TYPE, unused by openmp
Author: Jon Chesterfield [email protected]
Date: Tue Jun 23 17:18:39 2020 +0100
Delete unused DataTask
AOMP Release 11.6-1
THIS IS AN OLD RELEASE. DO NOT DOWNLOAD. PLEASE DOWNLOAD THE LATEST RELEASE.
The source code base for this release is the upstream LLVM 11 monorepo development sources as May 5, 2020 with hash valued db157d27337fcd13017051d125bf6e1439138da1. The amd-llvm-project branch used to build this release is amd-stg-openmp. In addition to complete source tarball, the artifacts of this release includes the file llvm-project.patch. This file shows the delta from the llvm-project upstream trunk which is currently at XXX lines in YYY files. Our goal is to reduce this with continued upstreaming activity.
These are the major changes in this release since AOMP 11.5-0
- Upgraded to ROCm 3.5 HIP/ROCclr
- Upgraded ROCt ROCr to 3.5 sources
AOMP Release 11.5-0
THIS IS AN OLD RELEASE. DO NOT DOWNLOAD. PLEASE DOWNLOAD THE LATEST RELEASE.
The source code base for this release is the upstream LLVM 11 monorepo development sources as of April 26, 2020 with hash value 1956a8a7cb79e94dbe073e36eba2d6b003f91046 . The amd-llvm-project branch used to build this release is amd-stg-openmp. In addition to complete source tarball, the artifacts of this release includes the file llvm-project.patch. This file shows the delta from the llvm-project upstream trunk which is currently at 30654 lines in 222 files. Our goal is to reduce this with continued upstreaming activity.
These are the major changes in this release since AOMP 11.0-1.
- Start using month in the release number consistent with ROCM numbering. However the version will continue to use the LLVM version number.
- merge a fork of atmi and hostcall into the libomptarget hsa plugin. This removes dependencies on these two external components and allows us to streamline the code for the openmp device plugin. Merging this code caused the trunk delta to go up significantly as we prepare to submit this plugin upstream.
- improved solvv coverage 9/201 fails, 95% passing rate on amdgcn
- AOMP supports -g compilation of C/C++ codes and will allow on target debugging. This is initial functionality.
- hipcc now uses AOMP env variable to support installs not located in /usr/lib/aomp
AOMP Release 11.0-1
THIS IS AN OLD RELEASE. DO NOT DOWNLOAD. PLEASE DOWNLOAD THE LATEST RELEASE.
The source code base for this release is the upstream llvm monorepo development sources as of March 29, 2020 with hash value 4e0d9925d6a3561449bdd8def27fd3f3f1b3fb9f. The amd-llvm-project branch used to build this release is amd-stg-openmp. In addition to complete source tarball, the artifacts of this release includes the file llvm-project.patch. This file shows the delta from the llvm-project upstream trunk which is currently at 21602 lines in 182 files. Our goal is to reduce this with continued upstreaming activity.
There are significant changes since the last aomp release because this released is based off LLVM 11. AOMP will start using release numbers to coincide with LLVM release numbers.
The SLES-15-SP1 package is pending due to limited office access.
These are the major changes in this release
- Rebase to LLVM 11 development trunk as the code base.
- Switch from hip runtime built with hcc to new hip runtime built on top of ROCMclr.
Known issues
- aompExtractRegion is not able to process executables built with this release due to the change in how offloaded images are embedded in the executable. Should be fixed in next release.
- Issue #89 Linker error (The file was not recognized as a valid object file) when trying to link archive file on command line
- Issue #92 hipcc fails when AOMP is not installed in /usr/lib/aomp
- hipcc fails if ROCm is not installed, will be fixed next release
AOMP Release 0.7-7
THIS IS AN OLD RELEASE. DO NOT DOWNLOAD. PLEASE DOWNLOAD THE LATEST RELEASE.
The source code base for this release of AOMP is the clang/llvm 9.0 stable sources as of Oct 29, 2019. The llvm-project branch used to build this release is AOMP-200107. In addition to a complete source tarball, the artifacts of this release include the 2 patches. The file llvm-project.patch shows the delta from the stable branch release/9.x of llvm-project. The file flang.patch are the changes we made to the flang repository.
- Additional updates to flang for offloading
- Forced RPATH with --disable-new-dtags, added additional $ORIGIN/../lib to resolve lib-debug libraries in ROCm
- ATMI hostcall optimization
- Additional device runtime library cleanup in llvm-project
- Implementation of omp_get_max_threads() now correctly returns the max number of threads for both SPMD and non-SPMD kernels
- Added workaround in ATMI for certain processors with multiple numa nodes choosing the wrong pool number
- Enabled fotran testing in run_sollve.sh
- Added changes from rocmaster into master branch
- Switch to ROCm 3.1 sources