Skip to content

Commit df140b3

Browse files
committed
Add NS via cusolvermp to wheel build
Signed-off-by: Kirthi Shankar Sivamani <ksivamani@nvidia.com>
1 parent b629e6e commit df140b3

3 files changed

Lines changed: 28 additions & 2 deletions

File tree

build_tools/wheel_utils/Dockerfile.aarch

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,23 @@ RUN dnf clean all
3535
RUN dnf -y install glog.aarch64 glog-devel.aarch64
3636
RUN dnf -y install libnccl libnccl-devel libnccl-static
3737

38+
# expose system libs for TE CMake build.
39+
RUN dnf -y install \
40+
libcusolvermp0-cuda-${CUDA_MAJOR} libcusolvermp0-devel-cuda-${CUDA_MAJOR} && \
41+
dnf clean all
42+
RUN mkdir -p /opt/nvidia/cusolvermp && \
43+
ln -s /usr/include/libcusolvermp/${CUDA_MAJOR} /opt/nvidia/cusolvermp/include && \
44+
ln -s /usr/lib64/libcusolvermp/${CUDA_MAJOR} /opt/nvidia/cusolvermp/lib && \
45+
echo "/usr/lib64/libcusolvermp/${CUDA_MAJOR}" > /etc/ld.so.conf.d/999_nvidia_cusolvermp.conf && \
46+
ldconfig
47+
3848
ENV PATH="/usr/local/cuda/bin:${PATH}"
39-
ENV LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"
49+
ENV LD_LIBRARY_PATH="/usr/local/cuda/lib64:/opt/nvidia/cusolvermp/lib:${LD_LIBRARY_PATH}"
4050
ENV CUDA_HOME=/usr/local/cuda
4151
ENV CUDA_ROOT=/usr/local/cuda
4252
ENV CUDA_PATH=/usr/local/cuda
4353
ENV CUDADIR=/usr/local/cuda
54+
ENV CUSOLVERMP_HOME=/opt/nvidia/cusolvermp
4455
ENV NVTE_RELEASE_BUILD=1
4556

4657
CMD ["/bin/bash", "-c", "bash /TransformerEngine/build_tools/wheel_utils/build_wheels.sh manylinux_2_28_aarch64 $BUILD_METAPACKAGE $BUILD_COMMON $BUILD_PYTORCH $BUILD_JAX $CUDA_MAJOR"]

build_tools/wheel_utils/Dockerfile.x86

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,23 @@ RUN dnf clean all
3535
RUN dnf -y install glog.x86_64 glog-devel.x86_64
3636
RUN dnf -y install libnccl libnccl-devel libnccl-static
3737

38+
# expose system libs for TE CMake build.
39+
RUN dnf -y install \
40+
libcusolvermp0-cuda-${CUDA_MAJOR} libcusolvermp0-devel-cuda-${CUDA_MAJOR} && \
41+
dnf clean all
42+
RUN mkdir -p /opt/nvidia/cusolvermp && \
43+
ln -s /usr/include/libcusolvermp/${CUDA_MAJOR} /opt/nvidia/cusolvermp/include && \
44+
ln -s /usr/lib64/libcusolvermp/${CUDA_MAJOR} /opt/nvidia/cusolvermp/lib && \
45+
echo "/usr/lib64/libcusolvermp/${CUDA_MAJOR}" > /etc/ld.so.conf.d/999_nvidia_cusolvermp.conf && \
46+
ldconfig
47+
3848
ENV PATH="/usr/local/cuda/bin:${PATH}"
39-
ENV LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"
49+
ENV LD_LIBRARY_PATH="/usr/local/cuda/lib64:/opt/nvidia/cusolvermp/lib:${LD_LIBRARY_PATH}"
4050
ENV CUDA_HOME=/usr/local/cuda
4151
ENV CUDA_ROOT=/usr/local/cuda
4252
ENV CUDA_PATH=/usr/local/cuda
4353
ENV CUDADIR=/usr/local/cuda
54+
ENV CUSOLVERMP_HOME=/opt/nvidia/cusolvermp
4455
ENV NVTE_RELEASE_BUILD=1
4556

4657
CMD ["/bin/bash", "-c", "bash /TransformerEngine/build_tools/wheel_utils/build_wheels.sh manylinux_2_28_x86_64 $BUILD_METAPACKAGE $BUILD_COMMON $BUILD_PYTORCH $BUILD_JAX $CUDA_MAJOR"]

build_tools/wheel_utils/build_wheels.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ git submodule update --init --recursive
2525
# Install deps
2626
/opt/python/cp310-cp310/bin/pip install cmake pybind11[global] ninja setuptools wheel
2727

28+
# Enable optional build features. cuSolverMp is provided by the build image
29+
# (see Dockerfile.x86 / Dockerfile.aarch), which also sets CUSOLVERMP_HOME.
30+
export NVTE_WITH_CUSOLVERMP=1
31+
2832
if $BUILD_METAPACKAGE ; then
2933
cd /TransformerEngine
3034
NVTE_BUILD_METAPACKAGE=1 /opt/python/cp310-cp310/bin/python setup.py bdist_wheel 2>&1 | tee /wheelhouse/logs/metapackage.txt

0 commit comments

Comments
 (0)