diff --git a/bin/build_llvm-flang-rt-host-dev.sh b/bin/build_llvm-flang-rt-host-dev.sh index 1cc5db1a7..6d510053b 100755 --- a/bin/build_llvm-flang-rt-host-dev.sh +++ b/bin/build_llvm-flang-rt-host-dev.sh @@ -103,6 +103,7 @@ ${AOMP_CMAKE} "${AOMP_SET_NINJA_GEN[@]}" $CM_BUILD_TYPE \ -DCMAKE_CXX_COMPILER="$CMAKE_CXX_COMPILER" \ -DFLANG_RT_DEVICE_ARCHITECTURES="$ARCH_LIST" \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -DFLANG_RT_EMBED_GPU_LLVM_IR=OFF \ "$AOMP_REPOS/llvm-project/runtimes" $AOMP_NINJA_BIN --version diff --git a/bin/build_project.sh b/bin/build_project.sh index cd79e4318..9bbb8fb42 100755 --- a/bin/build_project.sh +++ b/bin/build_project.sh @@ -153,7 +153,7 @@ MYCMAKEOPTS=(-DCMAKE_BUILD_TYPE="$BUILD_TYPE" if [ -f "$AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp/device/CMakeLists.txt" ]; then MYCMAKEOPTS=("${MYCMAKEOPTS[@]}" -DLLVM_RUNTIME_TARGETS='default;amdgcn-amd-amdhsa' - -DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES='openmp' + -DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES='compiler-rt;libc;libcxx;libcxxabi;flang-rt;openmp' -DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON) fi @@ -167,7 +167,12 @@ MYCMAKEOPTS=("${MYCMAKEOPTS[@]}" -DCLANG_ENABLE_AMDCLANG=ON -DLLVM_ENABLE_RUNTIMES="$LLVM_RUNTIMES" -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXXABI_ENABLE_STATIC=ON) + -DLIBCXXABI_ENABLE_STATIC=ON + -DLLVM_RUNTIME_TARGETS="default;amdgcn-amd-amdhsa" + -DRUNTIMES_amdgcn-amd-amdhsa_FLANG_RT_LIBC_PROVIDER=llvm + -DRUNTIMES_amdgcn-amd-amdhsa_FLANG_RT_LIBCXX_PROVIDER=llvm + -DRUNTIMES_amdgcn-amd-amdhsa_CACHE_FILES="$AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/libcxx/cmake/caches/AMDGPU.cmake" + ) # Enable Compiler-rt Sanitizer Build if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then diff --git a/bin/build_supp.sh b/bin/build_supp.sh index 74b6c8532..f5eab99fd 100755 --- a/bin/build_supp.sh +++ b/bin/build_supp.sh @@ -415,7 +415,7 @@ function buildfftw(){ function buildcmake(){ _cname="cmake" - _version=3.25.2 + _version=4.1.2 _installdir=$AOMP_SUPP_INSTALL/$_cname-$_version _linkfrom=$AOMP_SUPP/$_cname _builddir=$AOMP_SUPP_BUILD/$_cname diff --git a/bin/run_genasis_flang_new.sh b/bin/run_genasis_flang_new.sh index d9c033bc0..205b6065b 100755 --- a/bin/run_genasis_flang_new.sh +++ b/bin/run_genasis_flang_new.sh @@ -113,7 +113,7 @@ fi export LD_LIBRARY_PATH=$AOMP/lib:$AOMPHIP/lib:$OPENMPI_DIR/lib:$LD_LIBRARY_PATH export FORTRAN_COMPILE="$AOMP/bin/$FLANG -c -fopenmp --offload-arch=$GPU_ID -fPIC -I$OPENMPI_DIR/lib -cpp $OMP_DEFINES -fstack-arrays" export CC_COMPILE="$AOMP/bin/clang -fPIC" -export FORTDEV_LIBS=${FORTDEV_LIBS:-"-lflang_rt.hostdevice"} +export FORTDEV_LIBS=${FORTDEV_LIBS} export FORTHOST_LIBS=${FORTHOST_LIBS:-"-lflang_rt.runtime"} export OTHER_LIBS="-lm -L$AOMP/lib $FORTHOST_LIBS $FORTDEV_LIBS -lomp -lomptarget -z muldefs " export FORTRAN_LINK="$AOMP/bin/clang $OTHER_LIBS" diff --git a/bin/run_umt.sh b/bin/run_umt.sh index c4c13d780..8a82676f8 100755 --- a/bin/run_umt.sh +++ b/bin/run_umt.sh @@ -162,7 +162,7 @@ if [ "$1" == "build_umt" ]; then -DUMPIRE_ROOT=$AOMP_REPOS_TEST/$UMPIRE_SRC_DIR/install \ -DCAMP_ROOT=$AOMP_REPOS_TEST/$CAMP_SRC_DIR/install \ -DCMAKE_C_COMPILER=$CC -DCMAKE_CXX_COMPILER=$CXX -DCMAKE_Fortran_COMPILER=$FC \ - -DCMAKE_FORTRAN_OFFLOAD_LIB=$AOMP/lib/libflang_rt.hostdevice.a \ + -DCMAKE_FORTRAN_OFFLOAD_LIB=$FLANG_GPU_LINK_FLAGS \ -DCMAKE_Fortran_LINKER_WRAPPER_FLAG="-Wl," \ -DENABLE_CUDA=OFF \ -DENABLE_OPENMP=ON -DOPENMP_HAS_FORTRAN_INTERFACE=ON \ diff --git a/test/smoke-fort-dev/device_aassign/Makefile b/test/smoke-fort-dev/device_aassign/Makefile index 24c45470b..737a4c788 100644 --- a/test/smoke-fort-dev/device_aassign/Makefile +++ b/test/smoke-fort-dev/device_aassign/Makefile @@ -6,7 +6,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-dev/device_intrinsics/Makefile b/test/smoke-fort-dev/device_intrinsics/Makefile index 69b8f2a0a..6bfa04f9d 100644 --- a/test/smoke-fort-dev/device_intrinsics/Makefile +++ b/test/smoke-fort-dev/device_intrinsics/Makefile @@ -11,7 +11,7 @@ TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) #-ccc-print-phases #"-\#\#\#" diff --git a/test/smoke-fort-dev/flang-315421/Makefile b/test/smoke-fort-dev/flang-315421/Makefile index 728d6c58e..afd87871c 100644 --- a/test/smoke-fort-dev/flang-315421/Makefile +++ b/test/smoke-fort-dev/flang-315421/Makefile @@ -8,7 +8,7 @@ TESTSRC_ALL = $(TESTSRC_AUX) $(TESTSRC_MAIN) FLANG ?= flang OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_FLAGS += -DFAIL include ../Makefile.rules diff --git a/test/smoke-fort-dev/flang-464660-2/Makefile b/test/smoke-fort-dev/flang-464660-2/Makefile index 763819037..04b080e2a 100644 --- a/test/smoke-fort-dev/flang-464660-2/Makefile +++ b/test/smoke-fort-dev/flang-464660-2/Makefile @@ -9,7 +9,7 @@ TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) -OMP_FLAGS += -lflang_rt.hostdevice +OMP_FLAGS += $(FLANG_GPU_LINK_FLAGS) #-ccc-print-phases #"-\#\#\#" diff --git a/test/smoke-fort-dev/flang-523626/Makefile b/test/smoke-fort-dev/flang-523626/Makefile index 917a141e3..858890d84 100644 --- a/test/smoke-fort-dev/flang-523626/Makefile +++ b/test/smoke-fort-dev/flang-523626/Makefile @@ -8,7 +8,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-dev/flang-529628/Makefile b/test/smoke-fort-dev/flang-529628/Makefile index cb15b1258..057d3d8d3 100644 --- a/test/smoke-fort-dev/flang-529628/Makefile +++ b/test/smoke-fort-dev/flang-529628/Makefile @@ -8,7 +8,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-dev/rocm-issue-201/Makefile b/test/smoke-fort-dev/rocm-issue-201/Makefile index 614425a1b..d9aa14594 100644 --- a/test/smoke-fort-dev/rocm-issue-201/Makefile +++ b/test/smoke-fort-dev/rocm-issue-201/Makefile @@ -9,7 +9,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-dev/target-cmplx4-div/Makefile b/test/smoke-fort-dev/target-cmplx4-div/Makefile index 2be17a799..993964ce1 100644 --- a/test/smoke-fort-dev/target-cmplx4-div/Makefile +++ b/test/smoke-fort-dev/target-cmplx4-div/Makefile @@ -9,7 +9,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG = flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-dev/target-cmplx8-div/Makefile b/test/smoke-fort-dev/target-cmplx8-div/Makefile index ad8af00b0..265cd1e58 100644 --- a/test/smoke-fort-dev/target-cmplx8-div/Makefile +++ b/test/smoke-fort-dev/target-cmplx8-div/Makefile @@ -9,10 +9,9 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG = flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) -CFLAGS = -lflang_rt.hostdevice #-ccc-print-phases #"-\#\#\#" diff --git a/test/smoke-fort-dev/tgt-abort-lhostdev/Makefile b/test/smoke-fort-dev/tgt-abort-lhostdev/Makefile index 5012481a6..77511f0af 100644 --- a/test/smoke-fort-dev/tgt-abort-lhostdev/Makefile +++ b/test/smoke-fort-dev/tgt-abort-lhostdev/Makefile @@ -8,7 +8,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-dev/tgt-firstprivate/Makefile b/test/smoke-fort-dev/tgt-firstprivate/Makefile index 2cc256e80..d4f708dc1 100644 --- a/test/smoke-fort-dev/tgt-firstprivate/Makefile +++ b/test/smoke-fort-dev/tgt-firstprivate/Makefile @@ -7,7 +7,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) FLANG ?= flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-dev/tgt-print-hello-lhostdev/Makefile b/test/smoke-fort-dev/tgt-print-hello-lhostdev/Makefile index 5012481a6..77511f0af 100644 --- a/test/smoke-fort-dev/tgt-print-hello-lhostdev/Makefile +++ b/test/smoke-fort-dev/tgt-print-hello-lhostdev/Makefile @@ -8,7 +8,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-dev/tgt-print-val-lhostdev/Makefile b/test/smoke-fort-dev/tgt-print-val-lhostdev/Makefile index 5012481a6..77511f0af 100644 --- a/test/smoke-fort-dev/tgt-print-val-lhostdev/Makefile +++ b/test/smoke-fort-dev/tgt-print-val-lhostdev/Makefile @@ -8,7 +8,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-dev/tgt-stop-lhostdev/Makefile b/test/smoke-fort-dev/tgt-stop-lhostdev/Makefile index 5012481a6..77511f0af 100644 --- a/test/smoke-fort-dev/tgt-stop-lhostdev/Makefile +++ b/test/smoke-fort-dev/tgt-stop-lhostdev/Makefile @@ -8,7 +8,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-dev/tgt-write-lhostdev/Makefile b/test/smoke-fort-dev/tgt-write-lhostdev/Makefile index 5012481a6..77511f0af 100644 --- a/test/smoke-fort-dev/tgt-write-lhostdev/Makefile +++ b/test/smoke-fort-dev/tgt-write-lhostdev/Makefile @@ -8,7 +8,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG ?= flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-fails/flang-535320/Makefile b/test/smoke-fort-fails/flang-535320/Makefile index dcf29a670..9310cb425 100644 --- a/test/smoke-fort-fails/flang-535320/Makefile +++ b/test/smoke-fort-fails/flang-535320/Makefile @@ -9,7 +9,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG = flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-fails/flang-535416-O0/Makefile b/test/smoke-fort-fails/flang-535416-O0/Makefile index 051d583d2..733e7e54c 100644 --- a/test/smoke-fort-fails/flang-535416-O0/Makefile +++ b/test/smoke-fort-fails/flang-535416-O0/Makefile @@ -9,7 +9,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG = flang -CFLAGS = -O0 -lflang_rt.hostdevice +CFLAGS = -O0 $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-fails/flang-535416-O2/Makefile b/test/smoke-fort-fails/flang-535416-O2/Makefile index 21683eca2..9202dd504 100644 --- a/test/smoke-fort-fails/flang-535416-O2/Makefile +++ b/test/smoke-fort-fails/flang-535416-O2/Makefile @@ -9,7 +9,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG = flang -CFLAGS = -O2 -lflang_rt.hostdevice +CFLAGS = -O2 $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases diff --git a/test/smoke-fort-fails/flang-537499/Makefile b/test/smoke-fort-fails/flang-537499/Makefile index c26c57de0..8fc489a5d 100644 --- a/test/smoke-fort-fails/flang-537499/Makefile +++ b/test/smoke-fort-fails/flang-537499/Makefile @@ -9,7 +9,7 @@ TESTSRC_AUX = TESTSRC_ALL = $(TESTSRC_MAIN) $(TESTSRC_AUX) FLANG = flang -CFLAGS = -lflang_rt.hostdevice +CFLAGS = $(FLANG_GPU_LINK_FLAGS) OMP_BIN = $(AOMP)/bin/$(FLANG) CC = $(OMP_BIN) $(VERBOSE) #-ccc-print-phases