Changes
9 changed files (+327/-15)
-
-
@@ -1,11 +1,42 @@pkgbase = openmp-extras pkgdesc = OpenMP Extras provides openmp and flang libraries. pkgver = 3.9.0 pkgdesc = Radeon Open Compute - openmp-extras with flang (OpenMP AMD GPU Offloading) pkgver = 4.5.0 pkgrel = 1 url = https://rocmdocs.amd.com/en/latest/Programming_Guides/aomp.html#openmp-support url = https://github.com/ROCm-Developer-Tools/aomp arch = x86_64 depends = llvm-amdgpu depends = rocm-device-libs license = custom:Apache 2.0 with LLVM Exception makedepends = cmake makedepends = python makedepends = python-pip makedepends = python-wheel makedepends = ninja makedepends = gawk depends = hsa-rocr depends = rocm-llvm options = staticlibs source = llvm-amdgpu-4.5.0.tar.gz::https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-4.5.0.tar.gz source = aomp-4.5.0.tar.gz::https://github.com/ROCm-Developer-Tools/aomp/archive/rocm-4.5.0.tar.gz source = aomp-extras-4.5.0.tar.gz::https://github.com/ROCm-Developer-Tools/aomp-extras/archive/rocm-4.5.0.tar.gz source = aomp-device-libs-4.5.0.tar.gz::https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-4.5.0.tar.gz source = flang-4.5.0.tar.gz::https://github.com/ROCm-Developer-Tools/flang/archive/rocm-4.5.0.tar.gz source = aomp-gcc8-only-for-cuda.patch source = aomp-openmp-buildpath.patch source = aomp-openmp-llvm.patch source = aomp-flang-decouple-out-dir-and-rocm-install.patch source = aomp-flang-libomp-path.patch source = aomp-flang-remove-sha.patch source = aomp-extras-compiler-in-rocm-dir.patch sha256sums = e33d08c8ae42a3ba394dceb8938263cd14ba45e9603b18f3502c3344814ca296 sha256sums = 27a5794b5885c61dc6f63cec36673b37deb029754d3b2fd3e1b21239efffa96a sha256sums = 66d4d0cb4a1a05edb5f13599d8c06de4e10daf561201273cc56dc907139cb894 sha256sums = 78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77 sha256sums = 3d7277fd658e51e7e43272c4b319e733c18f5a6d11f739aaec0df758a720809e sha256sums = 705a7103c3aeff514e5645c130786172961c54673dfdd772caece3b5e7536088 sha256sums = f7ed1704ffb095bbe8512b1c567a111936685d35f64123c786194e4239277251 sha256sums = f673b6d5d2b7bd1a37cfc6e1015c75bc484504301de35a599c8a4034596d0740 sha256sums = e82a4f065cc259095bf96778b913b97fe39d7c207e4e25ccf59d8fa264014262 sha256sums = ff3c3e56bfc11c0c9a6ab5c5392168da06aed3b4a21cdfcf7a149d12a69e2906 sha256sums = 565af54e3079c130c87ebe036d91db21631e01ff0435f80bc54dbb55e8b02229 sha256sums = f8f57cdcc4ddf535323f4f84a4a4a4fa830fbad72b19c7ea45d74fa5579ee72f pkgname = openmp-extras
-
-
-
@@ -1,12 +1,96 @@# Maintainer: acxz <akashpatel2008 at yahoo dot com> pkgname=openmp-extras pkgver=3.9.0 pkgdesc='Radeon Open Compute - openmp-extras with flang (OpenMP AMD GPU Offloading)' pkgver=4.5.0 pkgrel=1 pkgdesc="OpenMP Extras provides openmp and flang libraries." arch=('x86_64') url="https://rocmdocs.amd.com/en/latest/Programming_Guides/aomp.html#openmp-support" license=() depends=('llvm-amdgpu' 'rocm-device-libs') makedepends=() source=() sha256sums=() url='https://github.com/ROCm-Developer-Tools/aomp' license=('custom:Apache 2.0 with LLVM Exception') depends=(hsa-rocr rocm-llvm) makedepends=(cmake python python-pip python-wheel ninja gawk) llvm_url='https://github.com/RadeonOpenCompute/llvm-project' dlibs_url='https://github.com/RadeonOpenCompute/ROCm-Device-Libs' flang_url='https://github.com/ROCm-Developer-Tools/flang' extras_url='https://github.com/ROCm-Developer-Tools/aomp-extras' source=("llvm-amdgpu-${pkgver}.tar.gz::$llvm_url/archive/rocm-$pkgver.tar.gz" "aomp-$pkgver.tar.gz::$url/archive/rocm-$pkgver.tar.gz" "aomp-extras-$pkgver.tar.gz::$extras_url/archive/rocm-$pkgver.tar.gz" "aomp-device-libs-$pkgver.tar.gz::$dlibs_url/archive/rocm-$pkgver.tar.gz" "flang-$pkgver.tar.gz::$flang_url/archive/rocm-$pkgver.tar.gz" "aomp-gcc8-only-for-cuda.patch" "aomp-openmp-buildpath.patch" "aomp-openmp-llvm.patch" "aomp-flang-decouple-out-dir-and-rocm-install.patch" "aomp-flang-libomp-path.patch" "aomp-flang-remove-sha.patch" "aomp-extras-compiler-in-rocm-dir.patch" ) sha256sums=('e33d08c8ae42a3ba394dceb8938263cd14ba45e9603b18f3502c3344814ca296' '27a5794b5885c61dc6f63cec36673b37deb029754d3b2fd3e1b21239efffa96a' '66d4d0cb4a1a05edb5f13599d8c06de4e10daf561201273cc56dc907139cb894' '78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77' '3d7277fd658e51e7e43272c4b319e733c18f5a6d11f739aaec0df758a720809e' '705a7103c3aeff514e5645c130786172961c54673dfdd772caece3b5e7536088' 'f7ed1704ffb095bbe8512b1c567a111936685d35f64123c786194e4239277251' 'f673b6d5d2b7bd1a37cfc6e1015c75bc484504301de35a599c8a4034596d0740' 'e82a4f065cc259095bf96778b913b97fe39d7c207e4e25ccf59d8fa264014262' 'ff3c3e56bfc11c0c9a6ab5c5392168da06aed3b4a21cdfcf7a149d12a69e2906' '565af54e3079c130c87ebe036d91db21631e01ff0435f80bc54dbb55e8b02229' 'f8f57cdcc4ddf535323f4f84a4a4a4fa830fbad72b19c7ea45d74fa5579ee72f' ) options=(staticlibs) prepare() { ln -f -s $srcdir/llvm-project-rocm-$pkgver $srcdir/llvm-project ln -f -s $srcdir/flang-rocm-$pkgver $srcdir/flang ln -f -s $srcdir/aomp-extras-rocm-$pkgver $srcdir/aomp-extras cd $srcdir/aomp-rocm-$pkgver patch -Np1 < $srcdir/aomp-gcc8-only-for-cuda.patch patch -Np1 < $srcdir/aomp-openmp-buildpath.patch patch -Np1 < $srcdir/aomp-openmp-llvm.patch patch -Np1 < $srcdir/aomp-flang-decouple-out-dir-and-rocm-install.patch patch -Np1 < $srcdir/aomp-flang-libomp-path.patch cd $srcdir/flang patch -Np1 < $srcdir/aomp-flang-remove-sha.patch cd $srcdir/aomp-extras patch -Np1 < $srcdir/aomp-extras-compiler-in-rocm-dir.patch } build() { export OMPEXTRA_DIR=$srcdir/out/openmp-extras export OUT_DIR=$OMPEXTRA_DIR export AOMP=$OUT_DIR/llvm export AOMP_STANDALONE_BUILD=0 export AOMP_REPOS=$srcdir export ROCM_DIR=/opt/rocm export DEVICELIBS_ROOT=$srcdir/ROCm-Device-Libs-rocm-$pkgver export LLVM_PROJECT_ROOT=$srcdir/llvm-project cd $srcdir/aomp-rocm-$pkgver/bin ./build_extras.sh ./build_extras.sh install ./build_openmp.sh ./build_openmp.sh install ./build_pgmath.sh ./build_pgmath.sh install ./build_flang.sh ./build_flang.sh install ./build_flang_runtime.sh ./build_flang_runtime.sh install } package() { mkdir -p $pkgdir/opt/rocm/ cp -r $srcdir/out/openmp-extras/* $pkgdir/opt/rocm/ }
-
-
-
@@ -0,0 +1,22 @@--- aomp-extras-rocm-4.5.0/aomp-device-libs/aompextras/CMakeLists.txt 2021-08-09 23:36:08.000000000 +0200 +++ aomp-extras-rocm-4.5.0-patched/aomp-device-libs/aompextras/CMakeLists.txt 2021-11-19 19:56:06.737469951 +0100 @@ -13,7 +13,7 @@ # Try to get LLVM_COMPILER from HIP, then AOMP , then default /usr/local/hip set(AOMP $ENV{AOMP}) if(AOMP) - set(LLVM_COMPILER ${AOMP}) + set(LLVM_COMPILER ${ROCM_DIR}/llvm) else() set(LLVM_COMPILER "$ENV{HOME}/rocm/aomp") endif() --- aomp-extras-rocm-4.5.0/utils/CMakeLists.txt 2021-08-09 23:36:08.000000000 +0200 +++ aomp-extras-rocm-4.5.0-patched/utils/CMakeLists.txt 2021-11-19 19:39:53.406512322 +0100 @@ -19,7 +19,7 @@ find_package(LLVM QUIET CONFIG PATHS - $ENV{AOMP} + $ENV{ROCM_DIR}/llvm ${LLVM_DIR} NO_DEFAULT_PATH )
-
-
-
@@ -0,0 +1,57 @@diff --color -urN aomp-rocm-4.5.0-unpatched/bin/build_flang_runtime.sh aomp-rocm-4.5.0/bin/build_flang_runtime.sh --- aomp-rocm-4.5.0-unpatched/bin/build_flang_runtime.sh 2021-11-16 16:50:07.010969269 +0100 +++ aomp-rocm-4.5.0/bin/build_flang_runtime.sh 2021-11-16 16:57:38.658874349 +0100 @@ -59,10 +59,10 @@ MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG \ -DLLVM_ENABLE_ASSERTIONS=ON \ --DLLVM_CONFIG=$OUT_DIR/llvm/bin/llvm-config \ --DCMAKE_CXX_COMPILER=$OUT_DIR/llvm/bin/clang++ \ --DCMAKE_C_COMPILER=$OUT_DIR/llvm/bin/clang \ --DCMAKE_Fortran_COMPILER=$OUT_DIR/llvm/bin/flang \ +-DLLVM_CONFIG=$ROCM_DIR/llvm/bin/llvm-config \ +-DCMAKE_CXX_COMPILER=$ROCM_DIR/llvm/bin/clang++ \ +-DCMAKE_C_COMPILER=$ROCM_DIR/llvm/bin/clang \ +-DCMAKE_Fortran_COMPILER=$ROCM_DIR/llvm/bin/flang \ -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD \ -DLLVM_INSTALL_RUNTIME=ON \ -DFLANG_BUILD_RUNTIME=ON \ diff --color -urN aomp-rocm-4.5.0-unpatched/bin/build_flang.sh aomp-rocm-4.5.0/bin/build_flang.sh --- aomp-rocm-4.5.0-unpatched/bin/build_flang.sh 2021-11-16 16:50:07.010969269 +0100 +++ aomp-rocm-4.5.0/bin/build_flang.sh 2021-11-16 16:55:45.538909397 +0100 @@ -50,9 +50,9 @@ MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG \ -DLLVM_ENABLE_ASSERTIONS=ON \ --DLLVM_CONFIG=$OUT_DIR/llvm/bin/llvm-config \ --DCMAKE_CXX_COMPILER=$OUT_DIR/llvm/bin/clang++ \ --DCMAKE_C_COMPILER=$OUT_DIR/llvm/bin/clang \ +-DLLVM_CONFIG=$ROCM_DIR/llvm/bin/llvm-config \ +-DCMAKE_CXX_COMPILER=$ROCM_DIR/llvm/bin/clang++ \ +-DCMAKE_C_COMPILER=$ROCM_DIR/llvm/bin/clang \ -DCMAKE_Fortran_COMPILER=gfortran \ -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD \ -DCMAKE_C_FLAGS=-I$COMP_INC_DIR \ diff --color -urN aomp-rocm-4.5.0-unpatched/bin/build_pgmath.sh aomp-rocm-4.5.0/bin/build_pgmath.sh --- aomp-rocm-4.5.0-unpatched/bin/build_pgmath.sh 2021-11-16 18:52:19.761286900 +0100 +++ aomp-rocm-4.5.0/bin/build_pgmath.sh 2021-11-16 18:53:21.787423127 +0100 @@ -41,7 +41,7 @@ fi fi -COMP_INC_DIR=$(ls -d $OUT_DIR/llvm/lib/clang/*/include ) +COMP_INC_DIR=$(ls -d $ROCM_DIR/llvm/lib/clang/*/include ) if [ "$AOMP_PROC" == "ppc64le" ] ; then MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG -DLLVM_ENABLE_ASSERTIONS=ON $AOMP_ORIGIN_RPATH -DCMAKE_Fortran_COMPILER=$AOMP_INSTALL_DIR/bin/flang -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD -DCMAKE_C_FLAGS=-I$COMP_INC_DIR -DCMAKE_CXX_FLAGS=-I$COMP_INC_DIR" @@ -51,8 +51,8 @@ -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG \ -DLLVM_ENABLE_ASSERTIONS=ON \ -DLLVM_CONFIG=$INSTALL_FLANG/bin/llvm-config \ - -DCMAKE_CXX_COMPILER=$OUT_DIR/llvm/bin/clang++ \ - -DCMAKE_C_COMPILER=$OUT_DIR/llvm/bin/clang \ + -DCMAKE_CXX_COMPILER=$ROCM_DIR/llvm/bin/clang++ \ + -DCMAKE_C_COMPILER=$ROCM_DIR/llvm/bin/clang \ -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD \ -DCMAKE_C_FLAGS=-I$COMP_INC_DIR \ -DCMAKE_CXX_FLAGS=-I$COMP_INC_DIR \
-
-
-
@@ -0,0 +1,11 @@diff --color -urN aomp-rocm-4.5.0-unpatched/bin/build_flang_runtime.sh aomp-rocm-4.5.0/bin/build_flang_runtime.sh --- aomp-rocm-4.5.0-unpatched/bin/build_flang_runtime.sh 2021-11-16 20:57:05.189706370 +0100 +++ aomp-rocm-4.5.0/bin/build_flang_runtime.sh 2021-11-16 20:58:20.012150723 +0100 @@ -66,6 +66,7 @@ -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD \ -DLLVM_INSTALL_RUNTIME=ON \ -DFLANG_BUILD_RUNTIME=ON \ +-DFLANG_LIBOMP=$OMPEXTRA_DIR/llvm/lib/libomp.so \ -DCMAKE_C_FLAGS=-I$COMP_INC_DIR \ -DCMAKE_CXX_FLAGS=-I$COMP_INC_DIR \ -DOPENMP_BUILD_DIR=$OPENMP_BUILD_DIR \
-
-
-
@@ -0,0 +1,22 @@*** flang-rocm-4.5.0/CMakeLists.txt.bak 2021-11-19 18:39:54.679976196 +0100 --- flang-rocm-4.5.0/CMakeLists.txt 2021-11-19 18:40:12.911889722 +0100 *************** *** 375,384 **** add_definitions( -DFLANG_VERSION_MAJOR="${FLANG_VERSION_MAJOR} " ) add_definitions( -DFLANG_VERSION_MINOR="${FLANG_VERSION_MINOR} " ) endif() ! execute_process(COMMAND git log -1 --format=format:%H WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE FLANG_SHA) ! string(STRIP ${FLANG_SHA} FLANG_SHA) ! message(STATUS "MY_VAR=${FLANG_SHA}") ! add_definitions( -DFLANG_SHA="Flang Sha ${FLANG_SHA} ") option(FLANG_INCLUDE_TESTS "Generate build targets for the Flang unit tests." --- 375,381 ---- add_definitions( -DFLANG_VERSION_MAJOR="${FLANG_VERSION_MAJOR} " ) add_definitions( -DFLANG_VERSION_MINOR="${FLANG_VERSION_MINOR} " ) endif() ! add_definitions( -DFLANG_SHA="Flang Sha None ") option(FLANG_INCLUDE_TESTS "Generate build targets for the Flang unit tests."
-
-
-
@@ -0,0 +1,42 @@diff --color -urN aomp-rocm-4.3.1/bin/build_openmp.sh aomp-rocm-4.3.1-patched/bin/build_openmp.sh --- aomp-rocm-4.3.1/bin/build_openmp.sh 2021-08-27 05:56:05.000000000 +0200 +++ aomp-rocm-4.3.1-patched/bin/build_openmp.sh 2021-10-29 19:43:56.338668126 +0200 @@ -99,21 +99,11 @@ GCCLOC=$(getgcc8orless) GXXLOC=$(getgxx8orless) -if [ "$GCCLOC" == "" ] ; then - echo "ERROR: NO ADEQUATE gcc" - echo " Please install gcc-5, gcc-7, or gcc-8" - exit 1 -fi -if [ "$GXXLOC" == "" ] ; then - echo "ERROR: NO ADEQUATE g++" - echo " Please install g++-5, g++-7, or g++-8" - exit 1 -fi GFXSEMICOLONS=`echo $GFXLIST | tr ' ' ';' ` #COMMON_CMAKE_OPTS="#-DOPENMP_TEST_C_COMPILER=$AOMP/bin/clang #-DOPENMP_TEST_CXX_COMPILER=$AOMP/bin/clang++ COMMON_CMAKE_OPTS="-DDEVICELIBS_ROOT=$DEVICELIBS_ROOT -DOPENMP_ENABLE_LIBOMPTARGET=1 -DOPENMP_ENABLE_LIBOMPTARGET_HSA=1 @@ -127,6 +119,16 @@ -DCMAKE_PREFIX_PATH=$ROCM_DIR;$ROCM_DIR/include/hsa" if [ "$AOMP_BUILD_CUDA" == 1 ] ; then + if [ "$GCCLOC" == "" ] ; then + echo "ERROR: NO ADEQUATE gcc" + echo " Please install gcc-5, gcc-7, or gcc-8" + exit 1 + fi + if [ "$GXXLOC" == "" ] ; then + echo "ERROR: NO ADEQUATE g++" + echo " Please install g++-5, g++-7, or g++-8" + exit 1 + fi COMMON_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DLIBOMPTARGET_NVPTX_ENABLE_BCLIB=ON -DLIBOMPTARGET_NVPTX_CUDA_COMPILER=$AOMP/bin/clang++
-
-
-
@@ -0,0 +1,23 @@diff --color -urN aomp-rocm-4.3.1/bin/build_openmp.sh aomp-rocm-4.3.1-patched/bin/build_openmp.sh --- aomp-rocm-4.3.1/bin/build_openmp.sh 2021-08-27 05:56:05.000000000 +0200 +++ aomp-rocm-4.3.1-patched/bin/build_openmp.sh 2021-10-29 19:43:56.338668126 +0200 @@ -166,7 +168,7 @@ env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS $BUILD_DIR/$AOMP_PROJECT_REPO_NAME/openmp else echo ${AOMP_CMAKE} $MYCMAKEOPTS $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp - env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS $AOMP_REPOS/../$AOMP_PROJECT_REPO_NAME/openmp + env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp fi if [ $? != 0 ] ; then echo "ERROR openmp cmake failed. Cmake flags" @@ -202,8 +202,8 @@ echo ${AOMP_CMAKE} $MYCMAKEOPTS $BUILD_DIR/$AOMP_PROJECT_REPO_NAME/openmp env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS $BUILD_DIR/$AOMP_PROJECT_REPO_NAME/openmp else - echo ${AOMP_CMAKE} $MYCMAKEOPTS $AOMP_REPOS/../$AOMP_PROJECT_REPO_NAME/openmp - env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS $AOMP_REPOS/../$AOMP_PROJECT_REPO_NAME/openmp + echo ${AOMP_CMAKE} $MYCMAKEOPTS $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp + env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp fi if [ $? != 0 ] ; then echo "ERROR openmp debug cmake failed. Cmake flags"
-
-
-
@@ -0,0 +1,20 @@*** aomp-rocm-4.5.0/bin/build_openmp.sh.bak 2021-11-20 12:12:42.802229426 +0100 --- aomp-rocm-4.5.0/bin/build_openmp.sh 2021-11-20 12:14:46.151777013 +0100 *************** *** 125,131 **** -DLLVM_INSTALL_PREFIX=$OUT_DIR/llvm -DLLVM_MAIN_INCLUDE_DIR=$LLVM_PROJECT_ROOT/llvm/include -DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$LLVM_PROJECT_ROOT/llvm/include ! -DCMAKE_PREFIX_PATH=$ROCM_DIR;$ROCM_DIR/include/hsa;$DEVICELIBS_BUILD_PATH;$OUT_DIR/build/devicelibs" if [ "$AOMP_BUILD_CUDA" == 1 ] ; then COMMON_CMAKE_OPTS="$COMMON_CMAKE_OPTS --- 125,132 ---- -DLLVM_INSTALL_PREFIX=$OUT_DIR/llvm -DLLVM_MAIN_INCLUDE_DIR=$LLVM_PROJECT_ROOT/llvm/include -DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$LLVM_PROJECT_ROOT/llvm/include ! -DCMAKE_PREFIX_PATH=$ROCM_DIR;$ROCM_DIR/include/hsa;$DEVICELIBS_BUILD_PATH;$OUT_DIR/build/devicelibs ! -DLLVM_INSTALL_PREFIX=/opt/rocm/llvm" if [ "$AOMP_BUILD_CUDA" == 1 ] ; then COMMON_CMAKE_OPTS="$COMMON_CMAKE_OPTS
-