From 04c644dddffa4cc8ab50f19bb8230963c39bac15 Mon Sep 17 00:00:00 2001 From: Jeff Daily Date: Fri, 27 Jan 2023 13:03:59 -0800 Subject: [PATCH 1/4] [ROCm] reduce disk space used in image --- common/install_miopen.sh | 19 ++++++++++--------- common/install_rocm_magma.sh | 5 ++++- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/common/install_miopen.sh b/common/install_miopen.sh index 92ffb35dc..a6866ffcc 100644 --- a/common/install_miopen.sh +++ b/common/install_miopen.sh @@ -88,7 +88,7 @@ fi git clone https://github.com/ROCmSoftwarePlatform/MIOpen -b ${MIOPEN_BRANCH} pushd MIOpen -# Don't build MLIR to save docker build time +# Don't build MLIR to save docker build time # since we are disabling MLIR backend for MIOpen anyway if [[ $ROCM_INT -ge 50400 ]] && [[ $ROCM_INT -lt 50500 ]]; then sed -i '/rocMLIR/d' requirements.txt @@ -97,6 +97,15 @@ elif [[ $ROCM_INT -ge 50200 ]] && [[ $ROCM_INT -lt 50400 ]]; then fi ## MIOpen minimum requirements cmake -P install_deps.cmake --minimum + +# clean up since CI runner was running out of disk space +rm -rf /usr/local/cget +rm -rf /tmp/* +yum clean all +rm -rf /var/cache/yum +rm -rf /var/lib/yum/yumdb +rm -rf /var/lib/yum/history + ## Build MIOpen mkdir -p build cd build @@ -107,14 +116,6 @@ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig CXX=${ROCM_INSTALL_PATH}/llvm/bin/clang make MIOpen -j $(nproc) make -j $(nproc) package -# clean up since CI runner was running out of disk space -rm -rf /usr/local/cget -rm -rf /tmp/* -yum clean all -rm -rf /var/cache/yum -rm -rf /var/lib/yum/yumdb -rm -rf /var/lib/yum/history - yum install -y miopen-*.rpm popd rm -rf MIOpen diff --git a/common/install_rocm_magma.sh b/common/install_rocm_magma.sh index c651a6e4e..00540fbec 100644 --- a/common/install_rocm_magma.sh +++ b/common/install_rocm_magma.sh @@ -37,5 +37,8 @@ make -f make.gen.hipMAGMA -j $(nproc) LANG=C.UTF-8 make lib/libmagma.so -j $(nproc) MKLROOT="${MKLROOT}" make testing/testing_dgemm -j $(nproc) MKLROOT="${MKLROOT}" popd -mv magma /opt/rocm +mkdir -p /opt/rocm/magma +mv magma/include /opt/rocm/magma +mv magma/lib /opt/rocm/magma +rm -rf magma From 41e572ad5a34e88ef0666197b1e7ea2b9675d1c6 Mon Sep 17 00:00:00 2001 From: Jeff Daily Date: Fri, 27 Jan 2023 13:17:11 -0800 Subject: [PATCH 2/4] don't remove cget until after package is built --- common/install_miopen.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/install_miopen.sh b/common/install_miopen.sh index a6866ffcc..9d9f8310e 100644 --- a/common/install_miopen.sh +++ b/common/install_miopen.sh @@ -99,7 +99,6 @@ fi cmake -P install_deps.cmake --minimum # clean up since CI runner was running out of disk space -rm -rf /usr/local/cget rm -rf /tmp/* yum clean all rm -rf /var/cache/yum @@ -114,8 +113,13 @@ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig CXX=${ROCM_INSTALL_PATH}/llvm/bin/clang ${MIOPEN_CMAKE_DB_FLAGS} \ -DCMAKE_PREFIX_PATH="${ROCM_INSTALL_PATH}/hip;${ROCM_INSTALL_PATH}" make MIOpen -j $(nproc) + +# Build MIOpen package make -j $(nproc) package +# clean up since CI runner was running out of disk space +rm -rf /usr/local/cget + yum install -y miopen-*.rpm popd rm -rf MIOpen From ba960f95249a0a9deaa0cb746f8fda083ec25bf3 Mon Sep 17 00:00:00 2001 From: Jeff Daily Date: Mon, 30 Jan 2023 14:21:44 -0800 Subject: [PATCH 3/4] do not make miopen package, only copy lib --- common/install_miopen.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/common/install_miopen.sh b/common/install_miopen.sh index 9d9f8310e..76df89867 100644 --- a/common/install_miopen.sh +++ b/common/install_miopen.sh @@ -33,8 +33,9 @@ if [[ $ROCM_INT -lt 40001 ]]; then exit 0 fi +# CHANGED: Do not uninstall. To avoid out of disk space issues, we will copy lib over existing. # Uninstall existing package, to avoid errors during later yum install indicating packages did not change. -yum remove -y miopen-hip +#yum remove -y miopen-hip # Function to retry functions that sometimes timeout or have flaky failures retry () { @@ -114,12 +115,18 @@ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig CXX=${ROCM_INSTALL_PATH}/llvm/bin/clang -DCMAKE_PREFIX_PATH="${ROCM_INSTALL_PATH}/hip;${ROCM_INSTALL_PATH}" make MIOpen -j $(nproc) +# CHANGED: Do not build package. # Build MIOpen package -make -j $(nproc) package +#make -j $(nproc) package # clean up since CI runner was running out of disk space rm -rf /usr/local/cget -yum install -y miopen-*.rpm +# CHANGED: Do not install package, just copy lib over existing. +#yum install -y miopen-*.rpm +dest=$(ls ${ROCM_INSTALL_PATH}/lib/libMIOpen.so.1.0.*) +rm -f ${dest} +cp lib/libMIOpen.so.1.0 ${dest} + popd rm -rf MIOpen From 4c6f1b1608295cdddd55656448c9327bb837170f Mon Sep 17 00:00:00 2001 From: Jeff Daily Date: Tue, 31 Jan 2023 08:15:15 -0800 Subject: [PATCH 4/4] remove .git after cloning miopen --- common/install_miopen.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/install_miopen.sh b/common/install_miopen.sh index 76df89867..b526cbe20 100644 --- a/common/install_miopen.sh +++ b/common/install_miopen.sh @@ -89,6 +89,8 @@ fi git clone https://github.com/ROCmSoftwarePlatform/MIOpen -b ${MIOPEN_BRANCH} pushd MIOpen +# remove .git to save disk space ince CI runner was running out +rm -rf .git # Don't build MLIR to save docker build time # since we are disabling MLIR backend for MIOpen anyway if [[ $ROCM_INT -ge 50400 ]] && [[ $ROCM_INT -lt 50500 ]]; then