From a76028a94ae511f8d9a4a2629d8f5f803eb00f37 Mon Sep 17 00:00:00 2001 From: gregrodgers Date: Mon, 29 Jul 2024 13:55:28 -0500 Subject: [PATCH] DO NOT MERGE! This is a first pass at moving the llvm install directory to $AOMP/lib/llvm. This mimics the ROCM install directory structure in /opt/rocm. Currently this is failing in build_offload.sh. --- bin/aomp_common_vars | 8 ++-- bin/build_amdsmi.sh | 8 ---- bin/build_comgr.sh | 2 +- bin/build_flang-legacy.sh | 6 +-- bin/build_flang.sh | 6 +-- bin/build_flang_runtime.sh | 10 ++--- bin/build_hipamd.sh | 2 +- bin/build_hipfort.sh | 2 +- bin/build_offload.sh | 55 ++++++++++++----------- bin/build_openmp.sh | 91 ++++++++++++++++++++------------------ bin/build_pgmath.sh | 6 +-- bin/build_project.sh | 31 +++++++------ bin/build_rocm_smi_lib.sh | 8 ---- bin/build_rocr.sh | 2 +- 14 files changed, 114 insertions(+), 123 deletions(-) diff --git a/bin/aomp_common_vars b/bin/aomp_common_vars index f8534a231..c1bbf529d 100644 --- a/bin/aomp_common_vars +++ b/bin/aomp_common_vars @@ -161,10 +161,10 @@ AOMP_CC_COMPILER=${AOMP_CC_COMPILER:-$GCC} AOMP_CXX_COMPILER=${AOMP_CXX_COMPILER:-$GCCXX} # Set specified clang and clang++ compilers with env vars AOMP_CLANG*_COMPILER. # Otherwise default to installed AOMP. If not yet installed, try rocm clang. -_clang_compiler=$AOMP/bin/clang -_clangxx_compiler=$AOMP/bin/clang++ -[ ! -f $_clang_compiler ] && _clang_compiler=/opt/rocm/llvm/bin/clang -[ ! -f $_clangxx_compiler ] && _clangxx_compiler=/opt/rocm/llvm/bin/clang++ +_clang_compiler=$AOMP/lib/llvm/bin/clang +_clangxx_compiler=$AOMP/lib/llvm/bin/clang++ +[ ! -f $_clang_compiler ] && _clang_compiler=/opt/rocm/lib/llvm/bin/clang +[ ! -f $_clangxx_compiler ] && _clangxx_compiler=/opt/rocm/lib/llvm/bin/clang++ AOMP_CLANG_COMPILER=${AOMP_CLANG_COMPILER:-$_clang_compiler} AOMP_CLANGXX_COMPILER=${AOMP_CLANGXX_COMPILER:-$_clangxx_compiler} diff --git a/bin/build_amdsmi.sh b/bin/build_amdsmi.sh index ea1db4b9e..42f0c942b 100755 --- a/bin/build_amdsmi.sh +++ b/bin/build_amdsmi.sh @@ -55,14 +55,6 @@ if [ ! -d $RSMILIB_REPO_DIR ] ; then exit 1 fi -if [ ! -f $AOMP/bin/clang ] ; then - echo "ERROR: Missing file $AOMP/bin/clang" - echo " Build the AOMP llvm compiler in $AOMP first" - echo " This is needed to build the device libraries" - echo " " - exit 1 -fi - # Make sure we can update the install directory if [ "$1" == "install" ] ; then $SUDO mkdir -p $AOMP_INSTALL_DIR diff --git a/bin/build_comgr.sh b/bin/build_comgr.sh index 3353ecde5..8984f9047 100755 --- a/bin/build_comgr.sh +++ b/bin/build_comgr.sh @@ -93,7 +93,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then mkdir -p $BUILD_AOMP/build/comgr/asan cd $BUILD_AOMP/build/comgr/asan echo " -----Running comgr-asan cmake ----- " - ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DCMAKE_C_COMPILER=$AOMP/bin/clang -DCMAKE_CXX_COMPILER=$AOMP/bin/clang++" + ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DCMAKE_C_COMPILER=$AOMP/lib/llvm/bin/clang -DCMAKE_CXX_COMPILER=$AOMP/lib/llvm/bin/clang++" echo ${AOMP_CMAKE} ${ASAN_CMAKE_OPTS} -DCMAKE_PREFIX_PATH="$AOMP/lib/asan/cmake;$COMMON_PREFIX_PATH:$AOMP/lib/cmake" -DCMAKE_INSTALL_LIBDIR=lib/asan $AOMP_ASAN_ORIGIN_RPATH -DCMAKE_C_FLAGS="'$ASAN_FLAGS'" -DCMAKE_CXX_FLAGS="'$ASAN_FLAGS'" $AOMP_ASAN_ORIGIN_RPATH $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/amd/$AOMP_COMGR_REPO_NAME ${AOMP_CMAKE} ${ASAN_CMAKE_OPTS} -DCMAKE_PREFIX_PATH="$AOMP/lib/asan/cmake;$COMMON_PREFIX_PATH;$AOMP/lib/cmake" -DCMAKE_INSTALL_LIBDIR=lib/asan $AOMP_ASAN_ORIGIN_RPATH -DCMAKE_C_FLAGS="'$ASAN_FLAGS'" -DCMAKE_CXX_FLAGS="'$ASAN_FLAGS'" $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/amd/$AOMP_COMGR_REPO_NAME if [ $? != 0 ] ; then diff --git a/bin/build_flang-legacy.sh b/bin/build_flang-legacy.sh index c9f765109..f70e409e7 100755 --- a/bin/build_flang-legacy.sh +++ b/bin/build_flang-legacy.sh @@ -89,11 +89,11 @@ $AOMP_SET_NINJA_GEN" MYCMAKEOPTS="\ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ --DCMAKE_C_COMPILER=$AOMP_INSTALL_DIR/bin/clang \ --DCMAKE_CXX_COMPILER=$AOMP_INSTALL_DIR/bin/clang++ \ +-DCMAKE_C_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/clang \ +-DCMAKE_CXX_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/clang++ \ $_cxx_flag \ -DCMAKE_CXX_STANDARD=17 \ --DCMAKE_INSTALL_PREFIX=$AOMP_INSTALL_DIR \ +-DCMAKE_INSTALL_PREFIX=$AOMP_INSTALL_DIR/lib/llvm \ $AOMP_SET_NINJA_GEN \ " diff --git a/bin/build_flang.sh b/bin/build_flang.sh index 649597079..4c72f6b9e 100755 --- a/bin/build_flang.sh +++ b/bin/build_flang.sh @@ -11,7 +11,7 @@ thisdir=`dirname $realpath` . $thisdir/aomp_common_vars # --- end standard header ---- -INSTALL_FLANG=${INSTALL_FLANG:-$AOMP_INSTALL_DIR} +INSTALL_FLANG=$AOMP_INSTALL_DIR/lib/llvm if [ "$AOMP_PROC" == "ppc64le" ] ; then TARGETS_TO_BUILD="AMDGPU;${AOMP_NVPTX_TARGET}PowerPC" @@ -30,8 +30,8 @@ MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG \ -DLLVM_ENABLE_ASSERTIONS=ON \ -DLLVM_CONFIG=$INSTALL_FLANG/bin/llvm-config \ - -DCMAKE_CXX_COMPILER=$AOMP_INSTALL_DIR/bin/clang++ \ - -DCMAKE_C_COMPILER=$AOMP_INSTALL_DIR/bin/clang \ + -DCMAKE_CXX_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/clang++ \ + -DCMAKE_C_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/clang \ -DCMAKE_Fortran_COMPILER=gfortran \ -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD \ -DFLANG_OPENMP_GPU_AMD=ON \ diff --git a/bin/build_flang_runtime.sh b/bin/build_flang_runtime.sh index a8f7d1d49..ba4628a59 100755 --- a/bin/build_flang_runtime.sh +++ b/bin/build_flang_runtime.sh @@ -11,7 +11,7 @@ thisdir=`dirname $realpath` . $thisdir/aomp_common_vars # --- end standard header ---- -INSTALL_FLANG=${INSTALL_FLANG:-$AOMP_INSTALL_DIR} +INSTALL_FLANG=$AOMP_INSTALL_DIR/lib/llvm if [ "$AOMP_PROC" == "ppc64le" ] ; then TARGETS_TO_BUILD="AMDGPU;${AOMP_NVPTX_TARGET}PowerPC" @@ -51,9 +51,9 @@ MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE \ -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG \ -DLLVM_ENABLE_ASSERTIONS=ON \ -DLLVM_CONFIG=$INSTALL_FLANG/bin/llvm-config \ - -DCMAKE_CXX_COMPILER=$AOMP_INSTALL_DIR/bin/clang++ \ - -DCMAKE_C_COMPILER=$AOMP_INSTALL_DIR/bin/clang \ - -DCMAKE_Fortran_COMPILER=$AOMP_INSTALL_DIR/bin/flang \ + -DCMAKE_CXX_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/clang++ \ + -DCMAKE_C_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/clang \ + -DCMAKE_Fortran_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/flang \ -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD \ -DLLVM_INSTALL_RUNTIME=ON \ -DFLANG_BUILD_RUNTIME=ON \ @@ -70,7 +70,7 @@ if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then ASAN_FLAGS="$ASAN_FLAGS -I$COMP_INC_DIR" ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DCMAKE_INSTALL_BINDIR=bin/asan -DCMAKE_INSTALL_LIBDIR=lib/asan" if [ "$AOMP_STANDALONE_BUILD" == 1 ]; then - ASAN_CMAKE_OPTS="$ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP/lib/asan/cmake $AOMP_ASAN_ORIGIN_RPATH" + ASAN_CMAKE_OPTS="$ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP/lib/llvm/lib/asan/cmake $AOMP_ASAN_ORIGIN_RPATH" else ASAN_CMAKE_OPTS="$ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH;$INSTALL_PREFIX/lib/asan/cmake" $OPENMP_EXTRAS_ORIGIN_RPATH -DOPENMP_EXTRAS_SHARED_LINKER_FLAGS=$OPENMP_EXTRAS_SHARED_LINKER_FLAGS" fi diff --git a/bin/build_hipamd.sh b/bin/build_hipamd.sh index 52f3dcc28..aec71271f 100755 --- a/bin/build_hipamd.sh +++ b/bin/build_hipamd.sh @@ -100,7 +100,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then ASAN_FLAGS="$ASAN_FLAGS -I$SANITIZER_COMGR_INCLUDE_PATH -Wno-error=deprecated-declarations" - ASAN_CMAKE_OPTS="$MYCMAKEOPTS $AOMP_ASAN_ORIGIN_RPATH -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/asan/cmake;$AOMP_INSTALL_DIR -DCMAKE_INSTALL_LIBDIR=lib/asan -DCMAKE_C_COMPILER=$AOMP/bin/clang -DCMAKE_CXX_COMPILER=$AOMP/bin/clang++" + ASAN_CMAKE_OPTS="$MYCMAKEOPTS $AOMP_ASAN_ORIGIN_RPATH -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/asan/cmake;$AOMP_INSTALL_DIR -DCMAKE_INSTALL_LIBDIR=lib/asan -DCMAKE_C_COMPILER=$AOMP/lib/llvm/bin/clang -DCMAKE_CXX_COMPILER=$AOMP/lib/llvm/bin/clang++" fi MYCMAKEOPTS="$MYCMAKEOPTS $AOMP_ORIGIN_RPATH -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_CXX_FLAGS=-I$AOMP_include/amd_comgr -DCMAKE_CXX_FLAGS=-Wno-error=deprecated-declarations -DCMAKE_C_FLAGS=-Wno-error=deprecated-declarations" diff --git a/bin/build_hipfort.sh b/bin/build_hipfort.sh index 7cfe1cc3d..cbd5acccd 100755 --- a/bin/build_hipfort.sh +++ b/bin/build_hipfort.sh @@ -84,7 +84,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then MYCMAKEOPTS=" \ -DCMAKE_INSTALL_PREFIX=$HIPFORT_INSTALL_DIR \ -DCMAKE_BUILD_TYPE=Release \ --DHIPFORT_COMPILER=$AOMP_INSTALL_DIR/bin/flang \ +-DHIPFORT_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/flang \ -DHIPFORT_COMPILER_FLAGS="-cpp" \ -DCMAKE_Fortran_FLAGS_DEBUG="" \ -DHIPFORT_AR=$AOMP_INSTALL_DIR/bin/llvm-ar \ diff --git a/bin/build_offload.sh b/bin/build_offload.sh index 86437ee3b..8819075a6 100755 --- a/bin/build_offload.sh +++ b/bin/build_offload.sh @@ -10,7 +10,7 @@ thisdir=`dirname $realpath` . $thisdir/aomp_common_vars # --- end standard header ---- -INSTALL_OPENMP=${INSTALL_OPENMP:-$AOMP_INSTALL_DIR} +INSTALL_OFFLOAD=$AOMP_INSTALL_DIR/lib/llvm if [ "$1" == "-h" ] || [ "$1" == "help" ] || [ "$1" == "-help" ] ; then help_build_aomp @@ -43,13 +43,13 @@ fi # Make sure we can update the install directory if [ "$1" == "install" ] ; then - $SUDO mkdir -p $INSTALL_OPENMP - $SUDO touch $INSTALL_OPENMP/testfile + $SUDO mkdir -p $INSTALL_OFFLOAD + $SUDO touch $INSTALL_OFFLOAD/testfile if [ $? != 0 ] ; then - echo "ERROR: No update access to $INSTALL_OPENMP" + echo "ERROR: No update access to $INSTALL_OFFLOAD" exit 1 fi - $SUDO rm $INSTALL_OPENMP/testfile + $SUDO rm $INSTALL_OFFLOAD/testfile fi if [ "$AOMP_BUILD_CUDA" == 1 ] ; then @@ -68,14 +68,15 @@ fi export LLVM_DIR=$AOMP_INSTALL_DIR GFXSEMICOLONS=`echo $GFXLIST | tr ' ' ';' ` ALTAOMP=${ALTAOMP:-$AOMP} -COMMON_CMAKE_OPTS="$AOMP_SET_NINJA_GEN -DOPENMP_ENABLE_LIBOMPTARGET=1 --DCMAKE_INSTALL_PREFIX=$INSTALL_OPENMP --DOPENMP_TEST_C_COMPILER=$AOMP/bin/clang --DOPENMP_TEST_CXX_COMPILER=$AOMP/bin/clang++ --DCMAKE_C_COMPILER=$ALTAOMP/bin/clang --DCMAKE_CXX_COMPILER=$ALTAOMP/bin/clang++ --DLIBOMPTARGET_AMDGCN_GFXLIST=$GFXSEMICOLONS --DLIBOMPTARGET_ENABLE_DEBUG=ON +COMMON_CMAKE_OPTS="$AOMP_SET_NINJA_GEN -DOPENMP_ENABLE_LIBOMPTARGET=1 \ +-DCMAKE_INSTALL_PREFIX=$INSTALL_OFFLOAD \ +-DOPENMP_TEST_C_COMPILER=$AOMP/lib/llvm/bin/clang \ +-DOPENMP_TEST_CXX_COMPILER=$AOMP/lib/llvm/bin/clang++ \ +-DCMAKE_C_COMPILER=$ALTAOMP/lib/llvm/bin/clang \ +-DCMAKE_CXX_COMPILER=$ALTAOMP/lib/llvm/bin/clang++ \ +-DLIBOMPTARGET_AMDGCN_GFXLIST=$GFXSEMICOLONS \ +-DLIBOMPTARGET_ENABLE_DEBUG=ON \ +-DOPENMP_LLVM_TOOLS_DIR=$AOMP_INSTALL_DIR/lib/llvm/bin \ -DLLVM_DIR=$LLVM_DIR" if [ "$AOMP_STANDALONE_BUILD" == 0 ]; then @@ -91,8 +92,8 @@ fi if [ "$AOMP_BUILD_CUDA" == 1 ] ; then COMMON_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DLIBOMPTARGET_NVPTX_ENABLE_BCLIB=ON --DLIBOMPTARGET_NVPTX_CUDA_COMPILER=$AOMP/bin/clang++ --DLIBOMPTARGET_NVPTX_BC_LINKER=$AOMP/bin/llvm-link +-DLIBOMPTARGET_NVPTX_CUDA_COMPILER=$AOMP/lib/llvm/bin/clang++ +-DLIBOMPTARGET_NVPTX_BC_LINKER=$AOMP/lib/llvm/bin/llvm-link -DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=$NVPTXGPUS" else # Need to force CUDA off this way in case cuda is installed in this system @@ -117,7 +118,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then echo rm -rf $BUILD_DIR/build/offload rm -rf $BUILD_DIR/build/offload if [ "$AOMP_STANDALONE_BUILD" == 1 ]; then - MYCMAKEOPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/cmake -DCMAKE_BUILD_TYPE=Release $AOMP_ORIGIN_RPATH" + MYCMAKEOPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/llvm/lib/cmake -DCMAKE_BUILD_TYPE=Release $AOMP_ORIGIN_RPATH" else MYCMAKEOPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$INSTALL_PREFIX/lib/cmake -DCMAKE_BUILD_TYPE=Release $OPENMP_EXTRAS_ORIGIN_RPATH" fi @@ -135,7 +136,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then fi if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then if [ "$AOMP_STANDALONE_BUILD" == 1 ]; then - ASAN_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/asan/cmake -DSANITIZER_AMDGPU=1 -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF $AOMP_ASAN_ORIGIN_RPATH" + ASAN_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/llvm/lib/asan/cmake;$AOMP_INSTALL_DIR/lib/llvm/lib/cmake -DSANITIZER_AMDGPU=1 -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF $AOMP_ASAN_ORIGIN_RPATH" else ASAN_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$ROCM_CMAKECONFIG_PATH;$INSTALL_PREFIX/lib/llvm/lib/asan -DSANITIZER_AMDGPU=1 -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF $OPENMP_EXTRAS_ORIGIN_RPATH" fi @@ -155,7 +156,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then if [ "$AOMP_BUILD_PERF" == "1" ]; then echo rm -rf $BUILD_DIR/build/offload_perf rm -rf $BUILD_DIR/build/offload_perf - MYCMAKEOPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/cmake -DLIBOMPTARGET_ENABLE_DEBUG=OFF -DCMAKE_BUILD_TYPE=Release -DLIBOMPTARGET_PERF=ON -DOFFLOAD_LIBDIR_SUFFIX=-perf" + MYCMAKEOPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/llvm/lib-perf/cmake;$AOMP_INSTALL_DIR/lib/llvm/lib/cmake -DLIBOMPTARGET_ENABLE_DEBUG=OFF -DCMAKE_BUILD_TYPE=Release -DLIBOMPTARGET_PERF=ON -DOFFLOAD_LIBDIR_SUFFIX=-perf" mkdir -p $BUILD_DIR/build/offload_perf cd $BUILD_DIR/build/offload_perf echo " -----Running offload cmake for perf ---- " @@ -167,7 +168,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then exit 1 fi if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then - ASAN_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/asan/cmake -DLIBOMPTARGET_ENABLE_DEBUG=OFF -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DLIBOMPTARGET_PERF=ON -DSANITIZER_AMDGPU=1 $AOMP_ASAN_ORIGIN_RPATH" + ASAN_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/llvm/lib/asan/cmake;$AOMP_INSTALL_DIR/lib/llvm/lib/cmake -DLIBOMPTARGET_ENABLE_DEBUG=OFF -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DLIBOMPTARGET_PERF=ON -DSANITIZER_AMDGPU=1 $AOMP_ASAN_ORIGIN_RPATH" echo " -----Running offload cmake for perf-asan ---- " mkdir -p $BUILD_DIR/build/offload_perf/asan cd $BUILD_DIR/build/offload_perf/asan @@ -221,7 +222,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then mkdir -p $BUILD_DIR/build/offload_debug cd $BUILD_DIR/build/offload_debug if [ "$AOMP_STANDALONE_BUILD" == 1 ]; then - PREFIX_PATH="-DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/cmake" + PREFIX_PATH="-DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/llvm/lib/cmake" MYCMAKEOPTS="$COMMON_CMAKE_OPTS $DEBUGCMAKEOPTS $AOMP_ORIGIN_RPATH" else PREFIX_PATH="-DCMAKE_PREFIX_PATH=$INSTALL_PREFIX/lib/cmake" @@ -239,7 +240,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then ASAN_CMAKE_OPTS="$COMMON_CMAKE_OPTS $DEBUGCMAKEOPTS -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DSANITIZER_AMDGPU=1" if [ "$AOMP_STANDALONE_BUILD" == 1 ]; then - ASAN_CMAKE_OPTS="$ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/asan/cmake $AOMP_ASAN_ORIGIN_RPATH" + ASAN_CMAKE_OPTS="$ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/llvm/lib/asan/cmake;$AOMP_INSTALL_DIR/lib/llvm/lib/cmake $AOMP_ASAN_ORIGIN_RPATH" else ASAN_CMAKE_OPTS="$ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$ROCM_CMAKECONFIG_PATH;$INSTALL_PREFIX/lib/llvm/lib/asan $OPENMP_EXTRAS_ORIGIN_RPATH" fi @@ -346,7 +347,7 @@ if [ "$1" == "install" ] ; then if [ "$AOMP_LEGACY_OPENMP" == "1" ] && [ "$SANITIZER" != 1 ] ; then cd $BUILD_DIR/build/offload echo - echo " -----Installing to $INSTALL_OPENMP/lib ----- " + echo " -----Installing to $INSTALL_OFFLOAD/lib ----- " $SUDO $AOMP_NINJA_BIN -j $AOMP_JOB_THREADS install if [ $? != 0 ] ; then echo "ERROR $AOMP_NINJA_BIN install failed " @@ -357,7 +358,7 @@ if [ "$1" == "install" ] ; then if [ "$AOMP_BUILD_SANITIZER" == 1 ] ; then cd $BUILD_DIR/build/offload/asan echo - echo " -----Installing to $INSTALL_OPENMP/lib/asan ----- " + echo " -----Installing to $INSTALL_OFFLOAD/lib/asan ----- " $SUDO $AOMP_NINJA_BIN -j $AOMP_JOB_THREADS install if [ $? != 0 ] ; then echo "ERROR $AOMP_NINJA_BIN install failed " @@ -368,7 +369,7 @@ if [ "$1" == "install" ] ; then if [ "$AOMP_BUILD_PERF" == "1" ]; then cd $BUILD_DIR/build/offload_perf echo - echo " -----Installing to $INSTALL_OPENMP/lib-perf ----- " + echo " -----Installing to $INSTALL_OFFLOAD/lib-perf ----- " $SUDO $AOMP_NINJA_BIN -j $AOMP_JOB_THREADS install if [ $? != 0 ] ; then echo "ERROR $AOMP_NINJA_BIN install failed " @@ -382,7 +383,7 @@ if [ "$1" == "install" ] ; then if [ "$AOMP_BUILD_SANITIZER" == 1 ] ; then cd $BUILD_DIR/build/offload_perf/asan echo - echo " ----- Installing to $INSTALL_OPENMP/lib-perf/asan ----- " + echo " ----- Installing to $INSTALL_OFFLOAD/lib-perf/asan ----- " $SUDO $AOMP_NINJA_BIN -j $AOMP_JOB_THREADS install if [ $? != 0 ] ; then echo "ERROR $AOMP_NINJA_BIN install failed " @@ -398,7 +399,7 @@ if [ "$1" == "install" ] ; then if [ "$SANITIZER" != 1 ] ; then cd $BUILD_DIR/build/offload_debug echo - echo " -----Installing to $INSTALL_OPENMP/lib-debug ---- " + echo " -----Installing to $INSTALL_OFFLOAD/lib-debug ---- " $SUDO $AOMP_NINJA_BIN -j $AOMP_JOB_THREADS install if [ $? != 0 ] ; then echo "ERROR $AOMP_NINJA_BIN install failed " @@ -411,7 +412,7 @@ if [ "$1" == "install" ] ; then fi if [ "$AOMP_BUILD_SANITIZER" == 1 ] ; then cd $BUILD_DIR/build/offload_debug/asan - echo " -----Installing to $INSTALL_OPENMP/lib-debug/asan ---- " + echo " -----Installing to $INSTALL_OFFLOAD/lib-debug/asan ---- " $SUDO $AOMP_NINJA_BIN -j $AOMP_JOB_THREADS install if [ $? != 0 ] ; then echo "ERROR $AOMP_NINJA_BIN install failed " diff --git a/bin/build_openmp.sh b/bin/build_openmp.sh index c783a714b..e7dc7665a 100755 --- a/bin/build_openmp.sh +++ b/bin/build_openmp.sh @@ -10,7 +10,7 @@ thisdir=`dirname $realpath` . $thisdir/aomp_common_vars # --- end standard header ---- -INSTALL_OPENMP=${INSTALL_OPENMP:-$AOMP_INSTALL_DIR} +INSTALL_OPENMP=$AOMP_INSTALL_DIR/lib/llvm if [ "$1" == "-h" ] || [ "$1" == "help" ] || [ "$1" == "-help" ] ; then help_build_aomp @@ -68,16 +68,17 @@ fi export LLVM_DIR=$AOMP_INSTALL_DIR GFXSEMICOLONS=`echo $GFXLIST | tr ' ' ';' ` ALTAOMP=${ALTAOMP:-$AOMP} -COMMON_CMAKE_OPTS="$AOMP_SET_NINJA_GEN -DOPENMP_ENABLE_LIBOMPTARGET=1 --DCMAKE_INSTALL_PREFIX=$INSTALL_OPENMP --DOPENMP_TEST_C_COMPILER=$AOMP/bin/clang --DOPENMP_TEST_CXX_COMPILER=$AOMP/bin/clang++ --DCMAKE_C_COMPILER=$ALTAOMP/bin/clang --DCMAKE_CXX_COMPILER=$ALTAOMP/bin/clang++ --DLIBOMPTARGET_AMDGCN_GFXLIST=$GFXSEMICOLONS --DDEVICELIBS_ROOT=$DEVICELIBS_ROOT --DLIBOMP_COPY_EXPORTS=OFF --DLIBOMPTARGET_ENABLE_DEBUG=ON +COMMON_CMAKE_OPTS="$AOMP_SET_NINJA_GEN -DOPENMP_ENABLE_LIBOMPTARGET=1 \ +-DCMAKE_INSTALL_PREFIX=$INSTALL_OPENMP \ +-DOPENMP_TEST_C_COMPILER=$AOMP/lib/llvm/bin/clang \ +-DOPENMP_TEST_CXX_COMPILER=$AOMP/lib/llvm/bin/clang++ \ +-DCMAKE_C_COMPILER=$ALTAOMP/lib/llvm/bin/clang \ +-DCMAKE_CXX_COMPILER=$ALTAOMP/lib/llvm/bin/clang++ \ +-DLIBOMPTARGET_AMDGCN_GFXLIST=$GFXSEMICOLONS \ +-DDEVICELIBS_ROOT=$DEVICELIBS_ROOT \ +-DLIBOMP_COPY_EXPORTS=OFF \ +-DLIBOMPTARGET_ENABLE_DEBUG=ON \ +-DOPENMP_LLVM_TOOLS_DIR=$AOMP_INSTALL_DIR/lib/llvm/bin \ -DLLVM_DIR=$LLVM_DIR" if [ "$AOMP_STANDALONE_BUILD" == 0 ]; then @@ -99,8 +100,8 @@ fi if [ "$AOMP_BUILD_CUDA" == 1 ] ; then COMMON_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DLIBOMPTARGET_NVPTX_ENABLE_BCLIB=ON --DLIBOMPTARGET_NVPTX_CUDA_COMPILER=$AOMP/bin/clang++ --DLIBOMPTARGET_NVPTX_BC_LINKER=$AOMP/bin/llvm-link +-DLIBOMPTARGET_NVPTX_CUDA_COMPILER=$AOMP/lib/llvm/bin/clang++ +-DLIBOMPTARGET_NVPTX_BC_LINKER=$AOMP/lib/llvm/bin/llvm-link -DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=$NVPTXGPUS" else # Need to force CUDA off this way in case cuda is installed in this system @@ -125,7 +126,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then echo rm -rf $BUILD_DIR/build/openmp rm -rf $BUILD_DIR/build/openmp if [ "$AOMP_STANDALONE_BUILD" == 1 ]; then - MYCMAKEOPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/cmake -DCMAKE_BUILD_TYPE=Release $AOMP_ORIGIN_RPATH" + MYCMAKEOPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/llvm/lib/cmake -DCMAKE_BUILD_TYPE=Release $AOMP_ORIGIN_RPATH" else MYCMAKEOPTS="$COMMON_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$INSTALL_PREFIX/lib/cmake -DCMAKE_BUILD_TYPE=Release $OPENMP_EXTRAS_ORIGIN_RPATH" fi @@ -144,7 +145,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then fi if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then if [ "$AOMP_STANDALONE_BUILD" == 1 ]; then - ASAN_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/asan/cmake -DSANITIZER_AMDGPU=1 -DCMAKE_BUILD_TYPE=Release $AOMP_ASAN_ORIGIN_RPATH" + ASAN_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/llvm/lib/asan/cmake -DSANITIZER_AMDGPU=1 -DCMAKE_BUILD_TYPE=Release $AOMP_ASAN_ORIGIN_RPATH" else ASAN_CMAKE_OPTS="$COMMON_CMAKE_OPTS -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DCMAKE_PREFIX_PATH=$ROCM_CMAKECONFIG_PATH -DSANITIZER_AMDGPU=1 -DCMAKE_BUILD_TYPE=Release $OPENMP_EXTRAS_ORIGIN_RPATH" fi @@ -168,7 +169,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then mkdir -p $BUILD_DIR/build/openmp_perf cd $BUILD_DIR/build/openmp_perf echo " -----Running openmp cmake for perf ---- " - echo ${AOMP_CMAKE} $MYCMAKEOPTS -DCMAKE_PREFIX_PATH="$AOMP_INSTALL_DIR/lib/cmake" $AOMP_ORIGIN_RPATH $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp + echo ${AOMP_CMAKE} $MYCMAKEOPTS -DCMAKE_PREFIX_PATH="$AOMP_INSTALL_DIR/lib/llvm/lib/cmake" $AOMP_ORIGIN_RPATH $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp ${AOMP_CMAKE} $MYCMAKEOPTS -DCMAKE_PREFIX_PATH="$AOMP_INSTALL_DIR/lib/cmake" $AOMP_ORIGIN_RPATH $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp if [ $? != 0 ] ; then echo "error openmp cmake failed. cmake flags" @@ -180,8 +181,8 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then echo " -----Running openmp cmake for perf-asan ---- " mkdir -p $BUILD_DIR/build/openmp_perf/asan cd $BUILD_DIR/build/openmp_perf/asan - echo ${AOMP_CMAKE} $ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH="$AOMP_INSTALL_DIR/lib/asan/cmake" $AOMP_ASAN_ORIGIN_RPATH -DCMAKE_C_FLAGS="'$ASAN_FLAGS'" -DCMAKE_CXX_FLAGS="'$ASAN_FLAGS'" -DLLVM_LIBDIR_SUFFIX="-perf/asan" $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp - ${AOMP_CMAKE} $ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH="$AOMP_INSTALL_DIR/lib/asan/cmake" $AOMP_ASAN_ORIGIN_RPATH -DCMAKE_C_FLAGS="'$ASAN_FLAGS'" -DCMAKE_CXX_FLAGS="'$ASAN_FLAGS'" -DLLVM_LIBDIR_SUFFIX="-perf/asan" $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp + echo ${AOMP_CMAKE} $ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH="$AOMP_INSTALL_DIR/lib/llvm/lib/asan/cmake" $AOMP_ASAN_ORIGIN_RPATH -DCMAKE_C_FLAGS="'$ASAN_FLAGS'" -DCMAKE_CXX_FLAGS="'$ASAN_FLAGS'" -DLLVM_LIBDIR_SUFFIX="-perf/asan" $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp + ${AOMP_CMAKE} $ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH="$AOMP_INSTALL_DIR/lib/llvm/lib/asan/cmake" $AOMP_ASAN_ORIGIN_RPATH -DCMAKE_C_FLAGS="'$ASAN_FLAGS'" -DCMAKE_CXX_FLAGS="'$ASAN_FLAGS'" -DLLVM_LIBDIR_SUFFIX="-perf/asan" $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp if [ $? != 0 ] ; then echo "error openmp cmake failed. cmake flags" echo " $ASAN_CMAKE_OPTS" @@ -191,9 +192,9 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then fi if [ "$AOMP_BUILD_DEBUG" == "1" ] ; then - _ompd_dir="$AOMP_INSTALL_DIR/lib-debug/ompd" + _ompd_dir="$AOMP_INSTALL_DIR/lib/llvm/lib-debug/ompd" # This is the new locationof the ompd directory - [[ ! -d $_ompd_dir ]] && _ompd_dir="$AOMP_INSTALL_DIR/share/gdb/python/ompd" + [[ ! -d $_ompd_dir ]] && _ompd_dir="$AOMP_INSTALL_DIR/lib/llvm/share/gdb/python/ompd" echo rm -rf $BUILD_DIR/build/openmp_debug rm -rf $BUILD_DIR/build/openmp_debug @@ -230,7 +231,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then mkdir -p $BUILD_DIR/build/openmp_debug cd $BUILD_DIR/build/openmp_debug if [ "$AOMP_STANDALONE_BUILD" == 1 ]; then - PREFIX_PATH="-DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/cmake" + PREFIX_PATH="-DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/llvm/lib/cmake" MYCMAKEOPTS="$COMMON_CMAKE_OPTS $DEBUGCMAKEOPTS $AOMP_ORIGIN_RPATH" else PREFIX_PATH="-DCMAKE_PREFIX_PATH=$INSTALL_PREFIX/lib/cmake" @@ -250,7 +251,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then mkdir -p $BUILD_DIR/build/openmp_debug/asan cd $BUILD_DIR/build/openmp_debug/asan if [ "$AOMP_STANDALONE_BUILD" == 1 ]; then - ASAN_CMAKE_OPTS="$ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/asan/cmake $AOMP_ASAN_ORIGIN_RPATH" + ASAN_CMAKE_OPTS="$ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$AOMP_INSTALL_DIR/lib/llvm/lib/asan/cmake $AOMP_ASAN_ORIGIN_RPATH" else ASAN_CMAKE_OPTS="$ASAN_CMAKE_OPTS -DCMAKE_PREFIX_PATH=$ROCM_CMAKECONFIG_PATH $OPENMP_EXTRAS_ORIGIN_RPATH" fi @@ -351,12 +352,12 @@ fi # ----------- Install only if asked ---------------------------- if [ "$1" == "install" ] ; then - clang_major=$("$AOMP_INSTALL_DIR"/bin/clang --version | grep -oP '(?<=clang version )[0-9]+') - llvm_dylib=$(readlink "$AOMP_INSTALL_DIR"/lib/libLLVM.so) + clang_major=$("$AOMP_INSTALL_DIR"/lib/llvm/bin/clang --version | grep -oP '(?<=clang version )[0-9]+') + llvm_dylib=$(readlink "$AOMP_INSTALL_DIR"/lib/llvm/lib/libLLVM.so) if [ "$AOMP_LEGACY_OPENMP" == "1" ] && [ "$SANITIZER" != 1 ] ; then cd $BUILD_DIR/build/openmp echo - echo " -----Installing to $INSTALL_OPENMP/lib ----- " + echo " -----Installing to $INSTALL_OPENMP/lib/llvm/lib ----- " $SUDO $AOMP_NINJA_BIN -j $AOMP_JOB_THREADS install if [ $? != 0 ] ; then echo "ERROR $AOMP_NINJA_BIN install failed " @@ -384,8 +385,8 @@ if [ "$1" == "install" ] ; then echo "ERROR $AOMP_NINJA_BIN install failed " exit 1 fi - if [ ! -h $AOMP_INSTALL_DIR/lib-perf/$llvm_dylib ] && [ "$llvm_dylib" != "" ]; then - cd $AOMP_INSTALL_DIR/lib-perf + if [ ! -h $AOMP_INSTALL_DIR/lib/llvm/lib-perf/$llvm_dylib ] && [ "$llvm_dylib" != "" ]; then + cd $AOMP_INSTALL_DIR/lib/llvm/lib-perf ln -s ../lib/$llvm_dylib $llvm_dylib fi @@ -404,9 +405,9 @@ if [ "$1" == "install" ] ; then if [ "$AOMP_BUILD_DEBUG" == "1" ] ; then if [ "$SANITIZER" != 1 ] ; then cd $BUILD_DIR/build/openmp_debug - _ompd_dir="$AOMP_INSTALL_DIR/lib-debug/ompd" + _ompd_dir="$AOMP_INSTALL_DIR/lib/llvm/lib-debug/ompd" # This is the new locationof the ompd directory - [[ ! -d $_ompd_dir ]] && _ompd_dir="$AOMP_INSTALL_DIR/share/gdb/python/ompd" + [[ ! -d $_ompd_dir ]] && _ompd_dir="$AOMP_INSTALL_DIR/lib/llvm/share/gdb/python/ompd" echo echo " -----Installing to $INSTALL_OPENMP/lib-debug ---- " $SUDO $AOMP_NINJA_BIN -j $AOMP_JOB_THREADS install @@ -414,8 +415,8 @@ if [ "$1" == "install" ] ; then echo "ERROR $AOMP_NINJA_BIN install failed " exit 1 fi - if [ ! -h $AOMP_INSTALL_DIR/lib-debug/$llvm_dylib ] && [ "$llvm_dylib" != "" ]; then - cd $AOMP_INSTALL_DIR/lib-debug + if [ ! -h $AOMP_INSTALL_DIR/lib/llvm/lib-debug/$llvm_dylib ] && [ "$llvm_dylib" != "" ]; then + cd $AOMP_INSTALL_DIR/lib/llvm/lib-debug ln -s ../lib/$llvm_dylib $llvm_dylib fi fi @@ -431,14 +432,16 @@ if [ "$1" == "install" ] ; then fi # Remove ompdModule.cpython...so , contains absolute runpath - _ompd_dir="$AOMP_INSTALL_DIR/lib-debug/ompd" - OMF=`find $_ompd_dir -name ompdModule.cpython\*` - echo found ompdModule $OMF - if [ -f "$OMF" ]; then - echo "==> Removing $OMF" - rm -f "$OMF" - fi - readelf -d $_ompd_dir/ompdModule.so |grep PATH + + ## DONT KNOW WHY WE HAVE THIS HERE, BUT IF FAILS + _ompd_dir="$AOMP_INSTALL_DIR/lib/llvm/lib-debug/ompd" + ## OMF=`find $_ompd_dir -name ompdModule.cpython\*` + ## echo found ompdModule $OMF + ## if [ -f "$OMF" ]; then + ## echo "==> Removing $OMF" + ## rm -f "$OMF" + ## fi + ## readelf -d $_ompd_dir/ompdModule.so |grep PATH if [[ "$DEVEL_PACKAGE" =~ "devel" ]]; then AOMP_INSTALL_DIR="$AOMP_INSTALL_DIR/""$DEVEL_PACKAGE" @@ -458,12 +461,12 @@ if [ "$1" == "install" ] ; then else # Copy selected debugable runtime sources into the installation lib-debug/src directory # to satisfy the above -fdebug-prefix-map. - $SUDO mkdir -p $AOMP_INSTALL_DIR/lib-debug/src/openmp/runtime/src - echo cp -rp $LLVM_PROJECT_ROOT/openmp/runtime/src $AOMP_INSTALL_DIR/lib-debug/src/openmp/runtime - $SUDO cp -rp $LLVM_PROJECT_ROOT/openmp/runtime/src $AOMP_INSTALL_DIR/lib-debug/src/openmp/runtime + $SUDO mkdir -p $AOMP_INSTALL_DIR/lib/llvm/lib-debug/src/openmp/runtime/src + echo cp -rp $LLVM_PROJECT_ROOT/openmp/runtime/src $AOMP_INSTALL_DIR/lib/llvm/lib-debug/src/openmp/runtime + $SUDO cp -rp $LLVM_PROJECT_ROOT/openmp/runtime/src $AOMP_INSTALL_DIR/lib/llvm/lib-debug/src/openmp/runtime - $SUDO mkdir -p $AOMP_INSTALL_DIR/lib-debug/src/openmp/libompd/src - $SUDO cp -rp $LLVM_PROJECT_ROOT/openmp/libompd/src $AOMP_INSTALL_DIR/lib-debug/src/openmp/libompd + $SUDO mkdir -p $AOMP_INSTALL_DIR/lib/llvm/lib-debug/src/openmp/libompd/src + $SUDO cp -rp $LLVM_PROJECT_ROOT/openmp/libompd/src $AOMP_INSTALL_DIR/lib/llvm/lib-debug/src/openmp/libompd fi fi fi diff --git a/bin/build_pgmath.sh b/bin/build_pgmath.sh index aadb4fd87..11f4cce68 100755 --- a/bin/build_pgmath.sh +++ b/bin/build_pgmath.sh @@ -11,7 +11,7 @@ thisdir=`dirname $realpath` . $thisdir/aomp_common_vars # --- end standard header ---- -INSTALL_FLANG=${INSTALL_FLANG:-$AOMP_INSTALL_DIR} +INSTALL_FLANG=$AOMP_INSTALL_DIR/lib/llvm if [ "$AOMP_PROC" == "ppc64le" ] ; then TARGETS_TO_BUILD="AMDGPU;${AOMP_NVPTX_TARGET}PowerPC" @@ -26,9 +26,9 @@ fi COMP_INC_DIR=$(ls -d $AOMP_INSTALL_DIR/lib/clang/*/include ) if [ "$AOMP_PROC" == "ppc64le" ] ; then - MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_Fortran_COMPILER=$AOMP_INSTALL_DIR/bin/flang -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD " + MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_Fortran_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/flang -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD " else - MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_CONFIG=$INSTALL_FLANG/bin/llvm-config -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD " + MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_CONFIG=$INSTALL_FLANG/bin/llvm-config -DCMAKE_CXX_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/clang++ -DCMAKE_C_COMPILER=$AOMP_INSTALL_DIR/lib/llvm/bin/clang -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD " fi if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then diff --git a/bin/build_project.sh b/bin/build_project.sh index 932b7b868..9ebb666b1 100755 --- a/bin/build_project.sh +++ b/bin/build_project.sh @@ -17,7 +17,9 @@ thisdir=`dirname $realpath` # --- end standard header ---- echo "LLVM PROJECTS TO BUILD:$AOMP_PROJECTS_LIST" -INSTALL_PROJECT=${INSTALL_PROJECT:-$AOMP_INSTALL_DIR} + +# This matches how ROCm installs the compiler +INSTALL_PROJECT=$AOMP_INSTALL_DIR/lib/llvm WEBSITE="http\:\/\/github.com\/ROCm-Developer-Tools\/aomp" @@ -251,36 +253,37 @@ if [ "$1" == "install" ] ; then fi if [ $AOMP_STANDALONE_BUILD == 1 ] ; then echo " " - echo "------ Linking $INSTALL_PROJECT to $AOMP -------" + echo "------ Linking $AOMP_INSTALL_DIR to $AOMP -------" if [ -L $AOMP ] ; then $SUDO rm $AOMP fi - $SUDO ln -sf $INSTALL_PROJECT $AOMP + $SUDO ln -sf $AOMP_INSTALL_DIR $AOMP echo "------ Linking llvm/bin -> bin for hipcc usage -------" # Add create AOMP/llvm directory and - if [ ! -d $INSTALL_PROJECT/llvm ]; then - mkdir -p $INSTALL_PROJECT/llvm + if [ ! -d $AOMP_INSTALL_DIR/llvm ]; then + mkdir -p $AOMP_INSTALL_DIR/llvm fi - if [ ! -h $INSTALL_PROJECT/llvm/bin ]; then - ln -s ../bin $INSTALL_PROJECT/llvm/bin + if [ ! -h $AOMP_INSTALL_DIR/llvm/bin ]; then + ln -s $INSTALL_PROJECT/bin $AOMP_INSTALL_DIR/llvm/bin fi + # we may also want to ln -s $INSTALL_PROJECT/lib $AOMP_INSTALL_DIR/llvm/lib fi # add executables forgot by make install but needed for testing - $SUDO cp -p $BUILD_DIR/build/$AOMP_PROJECT_REPO_NAME/bin/llvm-lit $AOMP/bin/llvm-lit + $SUDO cp -p $BUILD_DIR/build/$AOMP_PROJECT_REPO_NAME/bin/llvm-lit $AOMP/lib/llvm/bin/llvm-lit # update map_config and llvm_source_root paths in the copied llvm-lit file SED_AOMP_REPOS=`echo $AOMP_REPOS | sed -e 's/\//\\\\\//g' ` - sed -ie "s/..\/..\/..\//$SED_AOMP_REPOS\//g" $AOMP/bin/llvm-lit + sed -ie "s/..\/..\/..\//$SED_AOMP_REPOS\//g" $AOMP/lib/llvm/bin/llvm-lit - $SUDO cp -p $BUILD_DIR/build/$AOMP_PROJECT_REPO_NAME/bin/FileCheck $AOMP/bin/FileCheck - $SUDO cp -p $BUILD_DIR/build/$AOMP_PROJECT_REPO_NAME/bin/count $AOMP/bin/count - $SUDO cp -p $BUILD_DIR/build/$AOMP_PROJECT_REPO_NAME/bin/not $AOMP/bin/not - $SUDO cp -p $BUILD_DIR/build/$AOMP_PROJECT_REPO_NAME/bin/yaml-bench $AOMP/bin/yaml-bench + $SUDO cp -p $BUILD_DIR/build/$AOMP_PROJECT_REPO_NAME/bin/FileCheck $AOMP/lib/llvm/bin/FileCheck + $SUDO cp -p $BUILD_DIR/build/$AOMP_PROJECT_REPO_NAME/bin/count $AOMP/lib/llvm/bin/count + $SUDO cp -p $BUILD_DIR/build/$AOMP_PROJECT_REPO_NAME/bin/not $AOMP/lib/llvm/bin/not + $SUDO cp -p $BUILD_DIR/build/$AOMP_PROJECT_REPO_NAME/bin/yaml-bench $AOMP/lib/llvm/bin/yaml-bench cd $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME git checkout llvm/lib/Support/CommandLine.cpp echo - echo "SUCCESSFUL INSTALL to $INSTALL_PROJECT with link to $AOMP" + echo "SUCCESSFUL INSTALL to $INSTALL_PROJECT with $AOMP_INSTALL_DIR linked $AOMP" echo removepatch $REPO_DIR REPO_DIR=$AOMP_REPOS/$AOMP_ROCR_REPO_NAME diff --git a/bin/build_rocm_smi_lib.sh b/bin/build_rocm_smi_lib.sh index 50cfc43f7..8dbe20641 100755 --- a/bin/build_rocm_smi_lib.sh +++ b/bin/build_rocm_smi_lib.sh @@ -55,14 +55,6 @@ if [ ! -d $RSMILIB_REPO_DIR ] ; then exit 1 fi -if [ ! -f $AOMP/bin/clang ] ; then - echo "ERROR: Missing file $AOMP/bin/clang" - echo " Build the AOMP llvm compiler in $AOMP first" - echo " This is needed to build the device libraries" - echo " " - exit 1 -fi - # Make sure we can update the install directory if [ "$1" == "install" ] ; then $SUDO mkdir -p $AOMP_INSTALL_DIR diff --git a/bin/build_rocr.sh b/bin/build_rocr.sh index d5d6c5695..6669e7f2b 100755 --- a/bin/build_rocr.sh +++ b/bin/build_rocr.sh @@ -80,7 +80,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then fi if [ "$AOMP_BUILD_SANITIZER" == 1 ] ; then - ASAN_CMAKE_OPTS="-DCMAKE_C_COMPILER=${AOMP}/bin/clang -DCMAKE_CXX_COMPILER=${AOMP}/bin/clang++ -DCMAKE_INSTALL_PREFIX=$INSTALL_ROCM -DCMAKE_INSTALL_LIBDIR=$INSTALL_ROCM/lib/asan -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_PREFIX_PATH=$ROCM_DIR/lib/asan/cmake -DIMAGE_SUPPORT=OFF $AOMP_ASAN_ORIGIN_RPATH" + ASAN_CMAKE_OPTS="-DCMAKE_C_COMPILER=${AOMP}/lib/llvm/bin/clang -DCMAKE_CXX_COMPILER=${AOMP}/lib/llvm/bin/clang++ -DCMAKE_INSTALL_PREFIX=$INSTALL_ROCM -DCMAKE_INSTALL_LIBDIR=$INSTALL_ROCM/lib/asan -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_PREFIX_PATH=$ROCM_DIR/lib/asan/cmake -DIMAGE_SUPPORT=OFF $AOMP_ASAN_ORIGIN_RPATH" mkdir -p $BUILD_AOMP/build/rocr/asan cd $BUILD_AOMP/build/rocr/asan echo " ----Running rocr-asan cmake ----- "