Kyle Roarty has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/30494 )

Change subject: sim-se, util: Update MIOpen version used in Docker
......................................................................

sim-se, util: Update MIOpen version used in Docker

The updated MIOpen version uses rocBLAS instead of MIOpenGEMM for
both convolution and rnn GEMM kernels, which provides a speedup in
simulation.

Set chmod to ignoreFunc as it caused crashes with this newer
MIOpen version.

Change-Id: I4b81f18e95d39fd79b22d0bf92563ede61e44e32
---
M src/arch/x86/linux/process.cc
M util/dockerfiles/gcn-gpu/Dockerfile
2 files changed, 26 insertions(+), 10 deletions(-)



diff --git a/src/arch/x86/linux/process.cc b/src/arch/x86/linux/process.cc
index 3a86b76..b0e87c0 100644
--- a/src/arch/x86/linux/process.cc
+++ b/src/arch/x86/linux/process.cc
@@ -347,7 +347,7 @@
     {  87, "unlink", unlinkFunc },
     {  88, "symlink", symlinkFunc },
     {  89, "readlink", readlinkFunc },
-    {  90, "chmod" },
+    {  90, "chmod", ignoreFunc },
     {  91, "fchmod" },
     {  92, "chown" },
     {  93, "fchown" },
diff --git a/util/dockerfiles/gcn-gpu/Dockerfile b/util/dockerfiles/gcn-gpu/Dockerfile
index 485a406..c499598 100644
--- a/util/dockerfiles/gcn-gpu/Dockerfile
+++ b/util/dockerfiles/gcn-gpu/Dockerfile
@@ -34,7 +34,7 @@
     libboost-system-dev \
     libboost-dev

-ARG gem5_dist=http://dist.gem5.org/dist/current
+ARG gem5_dist=http://dist.gem5.org/dist/develop

 # Install ROCm 1.6 binaries
 RUN wget -qO- ${gem5_dist}/apt_1.6.2.tar.bz2 \
@@ -61,14 +61,14 @@
 RUN mkdir -p /patch && cd /patch && \
     wget ${gem5_dist}/rocm_patches/hipBLAS.patch && \
     wget ${gem5_dist}/rocm_patches/hip.patch && \
-    wget ${gem5_dist}/rocm_patches/miopen.patch && \
+    wget ${gem5_dist}/rocm_patches/miopen-conv.patch && \
     wget ${gem5_dist}/rocm_patches/rocBLAS.patch

RUN git -C /HIP/ checkout 0e3d824e && git -C /HIP/ apply /patch/hip.patch && \ git -C /hipBLAS/ checkout ee57787e && git -C /hipBLAS/ apply /patch/hipBLAS.patch && \ git -C /rocBLAS/ checkout cbff4b4e && git -C /rocBLAS/ apply /patch/rocBLAS.patch && \
     git -C /MIOpenGEMM/ checkout 9547fb9e && \
- git -C /MIOpen/ checkout a9949e30 && git -C /MIOpen/ apply /patch/miopen.patch + git -C /MIOpen/ checkout 01d6ca55c && git -C /MIOpen/ apply /patch/miopen-conv.patch

 ENV ROCM_PATH /opt/rocm
 ENV HCC_HOME ${ROCM_PATH}/hcc
@@ -107,6 +107,16 @@
 # Should link this in as a volume if at all possible
 RUN mkdir -p /.cache/miopen && chmod 777 /.cache/miopen

+# Un-set default c++ version for MIOpen compilation
+# As MIOpen 1.7 requires c++14 or higher
+RUN sed -i 's/INTERFACE_COMPILE_OPTIONS "-std=c++amp;-fPIC;-gline-tables-only"/#&/' /opt/rocm/hcc-1.0/lib/cmake/hcc/hcc-targets.cmake && \ + sed -i 's/INTERFACE_COMPILE_OPTIONS "-hc"/#&/' /opt/rocm/hcc-1.0/lib/cmake/hcc/hcc-targets.cmake
+
+WORKDIR /MIOpen
+# Half is required; This is the version that MIOpen would download
+RUN wget https://github.com/pfultz2/half/archive/1.12.0.tar.gz && \
+    tar -xzf 1.12.0.tar.gz
+
 WORKDIR /MIOpen/build
 RUN CXX=/opt/rocm/hcc/bin/hcc cmake \
     -DCMAKE_BUILD_TYPE=Debug \
@@ -115,15 +125,21 @@
-DCMAKE_PREFIX_PATH="/opt/rocm/hip;/opt/rocm/hcc;/opt/rocm/rocdl;/opt/rocm/miopengemm;/opt/rocm/hsa" \
     -DMIOPEN_CACHE_DIR=/.cache/miopen \
     -DMIOPEN_AMDGCN_ASSEMBLER_PATH=/opt/rocm/opencl/bin \
+    -DHALF_INCLUDE_DIR=/MIOpen/half-1.12.0/include \
     -DCMAKE_CXX_FLAGS="-isystem /usr/include/x86_64-linux-gnu" .. && \
-    make -j$(nproc) && make install && rm -rf *
+    make && make install && rm -rf *

-# Create performance DB for gfx801. May need personal dbs still
+# Re-set defaults
+RUN sed -i 's/#\(INTERFACE_COMPILE_OPTIONS "-std=c++amp;-fPIC;-gline-tables-only"\)/\1/' /opt/rocm/hcc-1.0/lib/cmake/hcc/hcc-targets.cmake && \ + sed -i 's/#\(INTERFACE_COMPILE_OPTIONS "-hc"\)/\1/' /opt/rocm/hcc-1.0/lib/cmake/hcc/hcc-targets.cmake
+
+# Create performance DB for gfx801.
 WORKDIR /opt/rocm/miopen/share/miopen/db
-RUN ln -s gfx803_64.cd.pdb.txt gfx801_8.cd.pdb.txt && \
-    ln -s gfx803_64.cd.pdb.txt gfx801_16.cd.pdb.txt && \
-    ln -s gfx803_64.cd.pdb.txt gfx801_32.cd.pdb.txt && \
-    ln -s gfx803_64.cd.pdb.txt gfx801_64.cd.pdb.txt
+RUN cp gfx803_64.cd.pdb.txt gfx801_4.cd.pdb.txt && \
+    cp gfx803_64.cd.pdb.txt gfx801_8.cd.pdb.txt && \
+    cp gfx803_64.cd.pdb.txt gfx801_16.cd.pdb.txt && \
+    cp gfx803_64.cd.pdb.txt gfx801_32.cd.pdb.txt && \
+    cp gfx803_64.cd.pdb.txt gfx801_64.cd.pdb.txt

 # Install profiler from .deb file, works for 1.6.2
 WORKDIR /ROCm-Profiler

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/30494
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I4b81f18e95d39fd79b22d0bf92563ede61e44e32
Gerrit-Change-Number: 30494
Gerrit-PatchSet: 1
Gerrit-Owner: Kyle Roarty <kyleroarty1...@gmail.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to