Adding RCCL to ROCm docker.

PiperOrigin-RevId: 263192927
This commit is contained in:
Christian Sigg 2019-08-13 12:39:28 -07:00 committed by TensorFlower Gardener
parent dadbec4cab
commit 126598af7e
5 changed files with 40 additions and 8 deletions

View File

@ -16,7 +16,7 @@ RUN sh -c "echo deb [arch=amd64] $DEB_ROCM_REPO xenial main > /etc/apt/sources.
RUN apt-get update --allow-insecure-repositories && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated \
rocm-dev rocm-libs rocm-utils rocm-cmake \
rocfft miopen-hip miopengemm rocblas hipblas rocrand \
rocfft miopen-hip miopengemm rocblas hipblas rocrand rccl \
rocm-profiler cxlactivitylogger && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

View File

@ -58,7 +58,7 @@ RUN apt-get update --allow-insecure-repositories && DEBIAN_FRONTEND=noninteracti
RUN apt-get update --allow-insecure-repositories && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated \
rocm-dev rocm-libs rocm-utils rocm-cmake \
rocfft miopen-hip miopengemm rocblas hipblas rocrand \
rocfft miopen-hip miopengemm rocblas hipblas rocrand rccl \
rocm-profiler cxlactivitylogger && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

View File

@ -8,5 +8,5 @@ container_digests = {
"cuda10.0-cudnn7-centos6": "sha256:a1909ba09c703340ee0074ce63dd94fe8fea48035a25264677907a609e2375e0",
"cuda10.1-cudnn7-centos6": "sha256:454b899657e87893ee5e68dc0f87df59b6a0a7418ae09cafcc3dd65ac71feca9",
"cuda10.0-cudnn7-ubuntu16.04-manylinux2010": "sha256:76cdd3956ce714bedca4b0c5b34c08e77fda7e888b8814da973d95f45628761c",
"rocm-ubuntu16.04": "sha256:2df35a0b7f7513b4ca820a12792e98ecafafabd1076300ef26f89386277c10cc",
"rocm-ubuntu16.04": "sha256:ed6c04a1ec56eec6ef6276a55d69042261d5b1792845af3be06412c917d0ed51",
}

View File

@ -77,6 +77,7 @@ cc_toolchain_config(
"/opt/rocm/rocfft/include",
"/opt/rocm/rocblas/include",
"/opt/rocm/miopen/include",
"/opt/rocm/rccl/include",
"/opt/rocm/hcc/include",
"/opt/rocm/hcc/compiler/lib/clang/7.0.0/include/",
"/opt/rocm/hcc/lib/clang/7.0.0/include",
@ -137,6 +138,7 @@ cc_toolchain_config(
"/opt/rocm/rocfft/include",
"/opt/rocm/rocblas/include",
"/opt/rocm/miopen/include",
"/opt/rocm/rccl/include",
"/opt/rocm/hcc/include",
"/opt/rocm/hcc/compiler/lib/clang/7.0.0/include/",
"/opt/rocm/hcc/lib/clang/7.0.0/include",
@ -197,6 +199,7 @@ cc_toolchain_config(
"/opt/rocm/rocfft/include",
"/opt/rocm/rocblas/include",
"/opt/rocm/miopen/include",
"/opt/rocm/rccl/include",
"/opt/rocm/hcc/include",
"/opt/rocm/hcc/compiler/lib/clang/7.0.0/include/",
"/opt/rocm/hcc/lib/clang/7.0.0/include",

View File

@ -14,6 +14,7 @@ cc_library(
hdrs = [
"rocm/rocm_config.h",
":miopen-include",
":rccl-include",
":rocblas-include",
":rocfft-include",
":rocm-include",
@ -87,6 +88,18 @@ cc_library(
visibility = ["//visibility:public"],
)
cc_library(
name = "rccl",
srcs = ["rocm/lib/librccl.so"],
data = ["rocm/lib/librccl.so"],
includes = [
".",
"rocm/include",
],
linkstatic = 1,
visibility = ["//visibility:public"],
)
cc_library(
name = "rocm",
visibility = ["//visibility:public"],
@ -218,13 +231,13 @@ genrule(
"rocm/include/hip/hcc_detail/hip_fp16_math_fwd.h",
"rocm/include/hip/hcc_detail/hip_ldg.h",
"rocm/include/hip/hcc_detail/hip_memory.h",
"rocm/include/hip/hcc_detail/hip_prof_api.h",
"rocm/include/hip/hcc_detail/hip_prof_str.h",
"rocm/include/hip/hcc_detail/hip_runtime.h",
"rocm/include/hip/hcc_detail/hip_runtime_api.h",
"rocm/include/hip/hcc_detail/hip_surface_types.h",
"rocm/include/hip/hcc_detail/hip_texture_types.h",
"rocm/include/hip/hcc_detail/hip_vector_types.h",
"rocm/include/hip/hcc_detail/hiprtc.h",
"rocm/include/hip/hcc_detail/host_defines.h",
"rocm/include/hip/hcc_detail/hsa_helpers.hpp",
"rocm/include/hip/hcc_detail/llvm_intrinsics.h",
@ -244,6 +257,7 @@ genrule(
"rocm/include/hip/hip_runtime_api.h",
"rocm/include/hip/hip_texture_types.h",
"rocm/include/hip/hip_vector_types.h",
"rocm/include/hip/hiprtc.h",
"rocm/include/hip/math_functions.h",
"rocm/include/hip/nvcc_detail/channel_descriptor.h",
"rocm/include/hip/nvcc_detail/hip_complex.h",
@ -288,6 +302,7 @@ genrule(
"rocm/include/miopen/export.h",
"rocm/include/miopen/miopen.h",
"rocm/include/miopen/version.h",
"rocm/include/miopen_kernel_includes.h",
"rocm/include/miopen_kernels.h",
"rocm/include/miopengemm/accuracytests.hpp",
"rocm/include/miopengemm/alphagenerator.hpp",
@ -340,12 +355,14 @@ genrule(
"rocm/include/opencl1.2-c.pch",
"rocm/include/opencl2.0-c.pch",
"rocm/include/profiler/CXLActivityLogger/CXLActivityLogger.h",
"rocm/include/rccl.h",
"rocm/include/rocblas-auxiliary.h",
"rocm/include/rocblas-export.h",
"rocm/include/rocblas-functions.h",
"rocm/include/rocblas-types.h",
"rocm/include/rocblas-version.h",
"rocm/include/rocblas.h",
"rocm/include/rocblas_bfloat16.h",
"rocm/include/rocfft-export.h",
"rocm/include/rocfft-version.h",
"rocm/include/rocfft.h",
@ -394,6 +411,7 @@ genrule(
"rocm/include/rocblas/rocblas-types.h",
"rocm/include/rocblas/rocblas-version.h",
"rocm/include/rocblas/rocblas.h",
"rocm/include/rocblas/rocblas_bfloat16.h",
],
cmd = """cp -rLf "/opt/rocm/rocblas/include/." "$(@D)/rocm/include/rocblas/" """,
)
@ -405,11 +423,20 @@ genrule(
"rocm/include/miopen/miopen/export.h",
"rocm/include/miopen/miopen/miopen.h",
"rocm/include/miopen/miopen/version.h",
"rocm/include/miopen/miopen_kernel_includes.h",
"rocm/include/miopen/miopen_kernels.h",
],
cmd = """cp -rLf "/opt/rocm/miopen/include/." "$(@D)/rocm/include/miopen/" """,
)
genrule(
name = "rccl-include",
outs = [
"rocm/include/rccl/rccl.h",
],
cmd = """cp -rLf "/opt/rocm/rccl/include/." "$(@D)/" """,
)
genrule(
name = "rocm-lib",
outs = [
@ -418,10 +445,12 @@ genrule(
"rocm/lib/librocfft.so",
"rocm/lib/libhiprand.so",
"rocm/lib/libMIOpen.so",
"rocm/lib/librccl.so",
],
cmd = """cp -f "/opt/rocm/hip/lib/libhip_hcc.so" "$(location rocm/lib/libhip_hcc.so)" && \
cp -f "/opt/rocm/rocblas/lib/librocblas.so.2.2.6.0" "$(location rocm/lib/librocblas.so)" && \
cp -f "/opt/rocm/rocfft/lib/librocfft.so.0.9.3.0" "$(location rocm/lib/librocfft.so)" && \
cp -f "/opt/rocm/hiprand/lib/libhiprand.so.1.8.2" "$(location rocm/lib/libhiprand.so)" && \
cp -f "/opt/rocm/miopen/lib/libMIOpen.so.1" "$(location rocm/lib/libMIOpen.so)" """,
cp -f "/opt/rocm/rocblas/lib/librocblas.so.2.2.11.0" "$(location rocm/lib/librocblas.so)" && \
cp -f "/opt/rocm/rocfft/lib/librocfft.so.0.9.4.0" "$(location rocm/lib/librocfft.so)" && \
cp -f "/opt/rocm/hiprand/lib/libhiprand.so.2.6.0" "$(location rocm/lib/libhiprand.so)" && \
cp -f "/opt/rocm/miopen/lib/libMIOpen.so.1" "$(location rocm/lib/libMIOpen.so)" && \
cp -f "/opt/rocm/rccl/lib/librccl.so" "$(location rocm/lib/librccl.so)" """,
)