Skip to content

Commit 3f7bcce

Browse files
authored
[ROCm] add hipMAGMA support (pytorch#630)
1 parent c8cb9a0 commit 3f7bcce

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

common/install_rocm.sh

+17-7
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,27 @@ yum update -y
2323
yum install -y \
2424
rocm-dev \
2525
rocm-utils \
26-
rocfft \
27-
miopen-hip \
28-
rocblas \
29-
hipsparse \
30-
rocrand \
26+
rocm-libs \
3127
rccl \
32-
hipcub \
33-
rocthrust \
3428
rocprofiler-dev \
3529
roctracer-dev
3630

31+
# "install" hipMAGMA into /opt/rocm/magma by copying after build
32+
git clone https://bitbucket.org/icl/magma.git -b hipMAGMA
33+
pushd magma
34+
cp make.inc-examples/make.inc.hip-mkl-gcc make.inc
35+
echo 'LIBDIR += -L$(MKLROOT)/lib' >> make.inc
36+
# overwrite original LIB, because it's wrong; it's missing start/end-group
37+
echo 'LIB = -Wl,--start-group -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -Wl,--end-group -lpthread -lstdc++ -lm -lgomp' >> make.inc
38+
echo 'LIB += -Wl,--enable-new-dtags -Wl,--rpath,/opt/rocm/lib -Wl,--rpath,$(MKLROOT)/lib -Wl,--rpath,/opt/rocm/magma/lib' >> make.inc
39+
echo 'DEVCCFLAGS += --amdgpu-target=gfx803 --amdgpu-target=gfx900 --amdgpu-target=gfx906 --amdgpu-target=gfx908' >> make.inc
40+
export PATH="${PATH}:/opt/rocm/bin"
41+
make -f make.gen.hipMAGMA -j $(nproc)
42+
make lib/libmagma.so -j $(nproc) MKLROOT=/opt/intel
43+
make testing/testing_dgemm -j $(nproc) MKLROOT=/opt/intel
44+
popd
45+
mv magma /opt/rocm
46+
3747
# Cleanup
3848
yum clean all
3949
rm -rf /var/cache/yum

manywheel/build_rocm.sh

+8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
set -ex
44

5+
export MAGMA_HOME=/opt/rocm/magma
6+
57
# TODO Are these all used/needed?
68
export TH_BINARY_BUILD=1
79
export USE_STATIC_CUDNN=1
@@ -109,16 +111,19 @@ fi;
109111
DEPS_LIST=(
110112
"/opt/rocm/miopen/lib/libMIOpen.so.1"
111113
"/opt/rocm/hip/lib/$LIBAMDHIP64"
114+
"/opt/rocm/hipblas/lib/libhipblas.so.0"
112115
"/opt/rocm/hiprand/lib/libhiprand.so.1"
113116
"/opt/rocm/hipsparse/lib/libhipsparse.so.0"
114117
"/opt/rocm/hsa/lib/libhsa-runtime64.so.1"
115118
"/opt/rocm/${COMGR_LIBDIR}/libamd_comgr.so.1"
116119
"/opt/rocm/lib64/libhsakmt.so.1"
120+
"/opt/rocm/magma/lib/libmagma.so"
117121
"/opt/rocm/rccl/lib/librccl.so.1"
118122
"/opt/rocm/rocblas/lib/librocblas.so.0"
119123
"/opt/rocm/rocfft/lib/librocfft-device.so.0"
120124
"/opt/rocm/rocfft/lib/librocfft.so.0"
121125
"/opt/rocm/rocrand/lib/librocrand.so.1"
126+
"/opt/rocm/rocsolver/lib/librocsolver.so.0"
122127
"/opt/rocm/rocsparse/lib/librocsparse.so.0"
123128
"/opt/rocm/roctracer/lib/libroctx64.so.1"
124129
"$LIBGOMP_PATH"
@@ -129,16 +134,19 @@ DEPS_LIST=(
129134
DEPS_SONAME=(
130135
"libMIOpen.so.1"
131136
"$LIBAMDHIP64"
137+
"libhipblas.so.0"
132138
"libhiprand.so.1"
133139
"libhipsparse.so.0"
134140
"libhsa-runtime64.so.1"
135141
"libamd_comgr.so.1"
136142
"libhsakmt.so.1"
143+
"libmagma.so"
137144
"librccl.so.1"
138145
"librocblas.so.0"
139146
"librocfft-device.so.0"
140147
"librocfft.so.0"
141148
"librocrand.so.1"
149+
"librocsolver.so.0"
142150
"librocsparse.so.0"
143151
"libroctx64.so.1"
144152
"libgomp.so.1"

0 commit comments

Comments
 (0)