@@ -16,7 +16,7 @@ case "$ID" in
1616 ubuntu)
1717 IS_UBUNTU=1
1818 ;;
19- centos)
19+ centos|almalinux )
2020 IS_UBUNTU=0
2121 ;;
2222 * )
4343fi
4444ROCM_INT=$(( $ROCM_VERSION_MAJOR * 10000 + $ROCM_VERSION_MINOR * 100 + $ROCM_VERSION_PATCH ))
4545
46- # Install custom MIOpen + COMgr for ROCm >= 4.0.1
47- if [[ $ROCM_INT -lt 40001 ]]; then
48- echo " ROCm version < 4.0.1; will not install custom MIOpen"
49- exit 0
50- fi
51-
5246# Function to retry functions that sometimes timeout or have flaky failures
5347retry () {
5448 $* || (sleep 1 && $* ) || (sleep 2 && $* ) || (sleep 4 && $* ) || (sleep 8 && $* )
6660 ROCM_INSTALL_PATH=" /opt/rocm-${ROCM_VERSION} "
6761fi
6862
69- # MIOPEN_USE_HIP_KERNELS is a Workaround for COMgr issues
7063MIOPEN_CMAKE_COMMON_FLAGS="
7164-DMIOPEN_USE_COMGR=ON
7265-DMIOPEN_BUILD_DRIVER=OFF
7366"
74- # Pull MIOpen repo and set DMIOPEN_EMBED_DB based on ROCm version
75- if [[ $ROCM_INT -ge 60300 ]]; then
76- echo " ROCm 6.3+ MIOpen does not need any patches, do not build from source"
77- exit 0
78- elif [[ $ROCM_INT -ge 60204 ]] && [[ $ROCM_INT -lt 60300 ]]; then
79- echo " ROCm 6.2.4+ MIOpen does not need any patches, do not build from source"
80- exit 0
81- elif [[ $ROCM_INT -ge 60200 ]] && [[ $ROCM_INT -lt 60204 ]]; then
67+ if [[ $ROCM_INT -ge 60200 ]] && [[ $ROCM_INT -lt 60204 ]]; then
8268 MIOPEN_BRANCH=" release/rocm-rel-6.2-staging"
83- elif [[ $ROCM_INT -ge 60100 ]] && [[ $ROCM_INT -lt 60200 ]]; then
84- echo " ROCm 6.1 MIOpen does not need any patches, do not build from source"
85- exit 0
86- elif [[ $ROCM_INT -ge 60000 ]] && [[ $ROCM_INT -lt 60100 ]]; then
87- echo " ROCm 6.0 MIOpen does not need any patches, do not build from source"
88- exit 0
89- elif [[ $ROCM_INT -ge 50700 ]] && [[ $ROCM_INT -lt 60000 ]]; then
90- echo " ROCm 5.7 MIOpen does not need any patches, do not build from source"
91- exit 0
92- elif [[ $ROCM_INT -ge 50600 ]] && [[ $ROCM_INT -lt 50700 ]]; then
93- MIOPEN_BRANCH=" release/rocm-rel-5.6-staging"
94- elif [[ $ROCM_INT -ge 50500 ]] && [[ $ROCM_INT -lt 50600 ]]; then
95- MIOPEN_BRANCH=" release/rocm-rel-5.5-gfx11"
96- elif [[ $ROCM_INT -ge 50400 ]] && [[ $ROCM_INT -lt 50500 ]]; then
97- MIOPEN_CMAKE_DB_FLAGS=" -DMIOPEN_EMBED_DB=gfx900_56;gfx906_60;gfx90878;gfx90a6e;gfx1030_36 -DMIOPEN_USE_MLIR=Off"
98- MIOPEN_BRANCH=" release/rocm-rel-5.4-staging"
99- elif [[ $ROCM_INT -ge 50300 ]] && [[ $ROCM_INT -lt 50400 ]]; then
100- MIOPEN_CMAKE_DB_FLAGS=" -DMIOPEN_EMBED_DB=gfx900_56;gfx906_60;gfx90878;gfx90a6e;gfx1030_36 -DMIOPEN_USE_MLIR=Off"
101- MIOPEN_BRANCH=" release/rocm-rel-5.3-staging"
102- elif [[ $ROCM_INT -ge 50200 ]] && [[ $ROCM_INT -lt 50300 ]]; then
103- MIOPEN_CMAKE_DB_FLAGS=" -DMIOPEN_EMBED_DB=gfx900_56;gfx906_60;gfx90878;gfx90a6e;gfx1030_36 -DMIOPEN_USE_MLIR=Off"
104- MIOPEN_BRANCH=" release/rocm-rel-5.2-staging"
105- elif [[ $ROCM_INT -ge 50100 ]] && [[ $ROCM_INT -lt 50200 ]]; then
106- MIOPEN_CMAKE_DB_FLAGS=" -DMIOPEN_EMBED_DB=gfx900_56;gfx906_60;gfx90878;gfx90a6e;gfx1030_36"
107- MIOPEN_BRANCH=" release/rocm-rel-5.1-staging"
108- elif [[ $ROCM_INT -ge 50000 ]] && [[ $ROCM_INT -lt 50100 ]]; then
109- MIOPEN_CMAKE_DB_FLAGS=" -DMIOPEN_EMBED_DB=gfx900_56;gfx906_60;gfx90878;gfx90a6e;gfx1030_36"
110- MIOPEN_BRANCH=" release/rocm-rel-5.0-staging"
11169else
112- echo " Unhandled ROCM_VERSION ${ROCM_VERSION} "
113- exit 1
70+ echo " ROCm ${ROCM_VERSION} does not need any patches, do not build from source "
71+ exit 0
11472fi
11573
11674
11775if [[ ${IS_UBUNTU} == 1 ]]; then
11876 apt-get remove -y miopen-hip
11977else
120- yum remove -y miopen-hip
78+ # Workaround since almalinux manylinux image already has this and cget doesn't like that
79+ rm -rf /usr/local/lib/pkgconfig/sqlite3.pc
80+
81+ # Versioned package name needs regex match
82+ # Use --noautoremove to prevent other rocm packages from being uninstalled
83+ yum remove -y miopen-hip* --noautoremove
12184fi
12285
12386git clone https://github.com/ROCm/MIOpen -b ${MIOPEN_BRANCH}
12487pushd MIOpen
12588# remove .git to save disk space since CI runner was running out
12689rm -rf .git
12790# Don't build CK to save docker build time
128- if [[ $ROCM_INT -ge 60200 ]]; then
129- sed -i ' /composable_kernel/d' requirements.txt
130- fi
131- # Don't build MLIR to save docker build time
132- # since we are disabling MLIR backend for MIOpen anyway
133- if [[ $ROCM_INT -ge 50400 ]] && [[ $ROCM_INT -lt 50500 ]]; then
134- sed -i ' /rocMLIR/d' requirements.txt
135- elif [[ $ROCM_INT -ge 50200 ]] && [[ $ROCM_INT -lt 50400 ]]; then
136- sed -i ' /llvm-project-mlir/d' requirements.txt
137- fi
91+ sed -i ' /composable_kernel/d' requirements.txt
13892# # MIOpen minimum requirements
13993cmake -P install_deps.cmake --minimum
14094
@@ -156,7 +110,7 @@ cd build
156110PKG_CONFIG_PATH=/usr/local/lib/pkgconfig CXX=${ROCM_INSTALL_PATH} /llvm/bin/clang++ cmake .. \
157111 ${MIOPEN_CMAKE_COMMON_FLAGS} \
158112 ${MIOPEN_CMAKE_DB_FLAGS} \
159- -DCMAKE_PREFIX_PATH=" ${ROCM_INSTALL_PATH} /hip; ${ROCM_INSTALL_PATH} "
113+ -DCMAKE_PREFIX_PATH=" ${ROCM_INSTALL_PATH} "
160114make MIOpen -j $( nproc)
161115
162116# Build MIOpen package
0 commit comments