Skip to content

Commit

Permalink
fix build and install to $INSTALL_DIR, build and use amd llvm to buil…
Browse files Browse the repository at this point in the history
…d comgr
  • Loading branch information
pyYTn9 authored and pyYTn9 committed Jan 1, 2025
1 parent 520e839 commit 9e719de
Showing 1 changed file with 63 additions and 31 deletions.
94 changes: 63 additions & 31 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ jobs:
-DCMAKE_C_COMPILER=${CC} \
-DCMAKE_CXX_COMPILER=${CXX} \
-DLLVM_ENABLE_BENCHMARKS=OFF \
-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
-G Ninja
ninja || exit 1 # Exit if build fails
ninja install
Expand All @@ -83,10 +84,10 @@ jobs:
mkdir build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \
-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
-DLLVM_DIR=${LLVM_PATH}/lib/cmake/llvm \
-DCMAKE_PREFIX_PATH=${LLVM_PATH} \
-DROCM_DIR=$INSTALL_DIR \
-DROCM_DIR=${INSTALL_DIR} \
-DCMAKE_MODULE_PATH=${LLVM_PATH}/lib/cmake \
-G Ninja
ninja
Expand All @@ -107,7 +108,7 @@ jobs:
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH=${LLVM_PATH} \
-DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \
-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
-DCMAKE_CXX_FLAGS="-stdlib=libc++ -nostdinc++ -I${BREW_LLVM_PATH}/include/c++/v1 -I${BREW_LLVM_PATH}/lib/clang/17/include" \
-DCMAKE_EXE_LINKER_FLAGS="-L${BREW_LLVM_PATH}/lib -Wl,-rpath,${BREW_LLVM_PATH}/lib" \
-DCMAKE_SHARED_LINKER_FLAGS="-L${BREW_LLVM_PATH}/lib -Wl,-rpath,${BREW_LLVM_PATH}/lib" \
Expand All @@ -117,30 +118,56 @@ jobs:
cd ../../..
# Clone required repositories for CLR and HIP
# export ROCM_BRANCH=rocm-6.1.x
# git clone -b "$ROCM_BRANCH" https://github.com/ROCm/clr.git
# git clone -b "$ROCM_BRANCH" https://github.com/ROCm/hip.git
export ROCM_BRANCH=rocm-6.1.x
git clone -b "$ROCM_BRANCH" https://github.com/ROCm/clr.git
git clone -b "$ROCM_BRANCH" https://github.com/ROCm/hip.git
# export HIP_DIR=`pwd`/hip
export HIP_DIR=`pwd`/hip
# # Now build CLR
# cd clr
# mkdir -p build && cd build
# cmake .. \
# -DHIP_COMMON_DIR=$HIP_DIR \
# -DHIP_PLATFORM=amd \
# -DCMAKE_BUILD_TYPE=Release \
# -DCMAKE_PREFIX_PATH=${LLVM_PATH} \
# -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \
# -DHIP_CATCH_TEST=0 \
# -DCLR_BUILD_HIP=ON \
# -DCLR_BUILD_OCL=OFF \
# -DHIPCC_BIN_DIR=/usr/local/bin \
# -G Ninja
# ninja || exit 1
# ninja install
# cd ../..
# Clone and build HSA runtime
git clone --depth 1 https://github.com/ROCm/ROCR-Runtime.git
cd ROCR-Runtime
mkdir build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
-DCMAKE_PREFIX_PATH=${LLVM_PATH} \
-DWITH_NUMA=OFF \
-G Ninja
ninja
ninja install
cd ../../..
cd clr
mkdir -p build && cd build
cmake .. \
-DHIP_COMMON_DIR=$HIP_DIR \
-DHIP_PLATFORM=amd \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH=${LLVM_PATH} \
-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
-DHIP_CATCH_TEST=0 \
-DCLR_BUILD_HIP=ON \
-DCLR_BUILD_OCL=OFF \
-DHIPCC_BIN_DIR=/usr/local/bin \
-G Ninja
ninja || exit 1
ninja install
cd ../..
# Use AMD LLVM
echo "LLVM_PATH=${INSTALL_DIR}" >> $GITHUB_ENV
echo "LLVM_DIR=${INSTALL_DIR}/lib/cmake/llvm" >> $GITHUB_ENV
echo "CC=${LLVM_PATH}/bin/clang" >> $GITHUB_ENV
echo "CXX=${LLVM_PATH}/bin/clang++" >> $GITHUB_ENV
# for dev
export LLVM_PATH=${INSTALL_DIR}
export LLVM_DIR=${INSTALL_DIR}/lib/cmake/llvm
export CC=${LLVM_PATH}/bin/clang
export CXX=${LLVM_PATH}/bin/clang++
# Then build libamd_comgr (using the same LLVM project clone)
cd llvm-project
Expand All @@ -149,13 +176,18 @@ jobs:
mkdir build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS="-std=c++14" \
-DCMAKE_INSTALL_PREFIX=$INSTALL_DIR \
-DCMAKE_PREFIX_PATH=/usr/local \
-DCMAKE_EXE_LINKER_FLAGS="-L/usr/local/lib" \
-DCMAKE_SHARED_LINKER_FLAGS="-L/usr/local/lib" \
-DROCM_DIR=/usr/local \
-DCMAKE_C_FLAGS="-nogpuinc" \
-DCMAKE_CXX_FLAGS="-std=c++14 -nogpuinc" \
-DCMAKE_C_COMPILER=${CC} \
-DCMAKE_CXX_COMPILER=${CXX} \
-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
-DCMAKE_PREFIX_PATH=${LLVM_PATH} \
-DCMAKE_MODULE_PATH=${LLVM_PATH}/lib/cmake \
-DCMAKE_EXE_LINKER_FLAGS="-L${INSTALL_DIR}/lib" \
-DCMAKE_SHARED_LINKER_FLAGS="-L${INSTALL_DIR}/lib" \
-DROCM_DIR=${INSTALL_DIR} \
-DCOMGR_DISABLE_SPIRV=ON \
-DBUILD_TESTING=OFF \
-G Ninja
ninja || exit 1 # Exit if build fails
ninja install
Expand Down

0 comments on commit 9e719de

Please sign in to comment.