Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run Final_Jar_Testing_Linux_GPU in docker #17533

Merged
merged 17 commits into from
Sep 15, 2023
Original file line number Diff line number Diff line change
Expand Up @@ -424,19 +424,32 @@ stages:
- checkout: self
submodules: false
- template: templates/set-version-number-variables-step.yml
- task: DownloadPipelineArtifact@2
displayName: 'Download Final Jar'
inputs:
buildType: 'current'
artifactName: 'onnxruntime-java-gpu'
targetPath: '$(Build.BinariesDirectory)/final-jar'

- task: Bash@3
- template: templates/flex-downloadPipelineArtifact.yml
parameters:
StepName: 'Download Final Jar'
ArtifactName: onnxruntime-java-gpu
TargetPath: '$(Build.BinariesDirectory)/final-jar'
SpecificArtifact: ${{ parameters.specificArtifact }}
BuildId: ${{ parameters.BuildId }}

- template: templates/get-docker-image-steps.yml
parameters:
Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.package_ubi8_cuda11_8_tensorrt8_6
Context: tools/ci_build/github/linux/docker/
DockerBuildArgs: "--build-arg BUILD_UID=$( id -u )"
Repository: onnxruntimeubi8packagestest
UpdateDepsTxt: false

- bash: |
docker run --rm \
--gpus all \
--volume $(Build.SourcesDirectory):/onnxruntime_src \
--volume $(Build.BinariesDirectory):/build \
--volume /data/models:/build/models:ro \
onnxruntimeubi8packagestest \
/bin/bash /onnxruntime_src/tools/ci_build/github/linux/java_linux_final_test.sh -r /build -v $(OnnxRuntimeVersion)
displayName: 'Test'
inputs:
targetType: filePath
filePath: 'tools/ci_build/github/linux/java_linux_final_test.sh'
arguments: '-r $(Build.BinariesDirectory) -v $(OnnxRuntimeVersion)'

- template: templates/component-governance-component-detection-steps.yml
parameters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ parameters:

steps:
- task: DownloadPipelineArtifact@2
displayName: ${{ parameters.StepName }}}
displayName: ${{ parameters.StepName }}
inputs:
artifactName: ${{ parameters.ArtifactName}}
targetPath: '${{ parameters.TargetPath }}'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# --------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# --------------------------------------------------------------
# Dockerfile to Test ONNX Runtime on UBI8 with CUDA 11.8 and TensorRT 8.6

# Build base image with required system packages
FROM nvidia/cuda:11.8.0-cudnn8-devel-ubi8 AS base

ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/src/tensorrt/bin:${PATH}

RUN dnf update -y &&\
mszhanyi marked this conversation as resolved.
Show resolved Hide resolved
dnf install -y bash wget &&\
dnf clean dbcache

# Install python3
RUN dnf install -y \
python3.8 \
python3-pip \
mszhanyi marked this conversation as resolved.
Show resolved Hide resolved
python3-wheel &&\
cd /usr/local/bin &&\
ln -s /usr/bin/python3 python &&\
mszhanyi marked this conversation as resolved.
Show resolved Hide resolved
ln -s /usr/bin/pip3 pip;

RUN pip install --upgrade pip
mszhanyi marked this conversation as resolved.
Show resolved Hide resolved
RUN pip install setuptools>=41.0.0

# Install TensorRT
RUN yum update -y && yum install -y libnvinfer8 libnvonnxparsers8 libnvparsers8 libnvinfer-plugin8 libnvinfer-lean8 libnvinfer-vc-plugin8 libnvinfer-dispatch8
mszhanyi marked this conversation as resolved.
Show resolved Hide resolved
RUN v="8.6.1.6-1+cuda11.8" &&\
yum update -y &&\
yum downgrade -y libnvinfer8-${v} libnvinfer8-${v} libnvonnxparsers8-${v} libnvparsers8-${v} libnvinfer-plugin8-${v} libnvinfer-lean8-${v} libnvinfer-vc-plugin8-${v} libnvinfer-dispatch8-${v} &&\
snnn marked this conversation as resolved.
Show resolved Hide resolved
yum install -y yum-plugin-versionlock &&\
yum versionlock libnvinfer8 libnvonnxparsers8 libnvparsers8 libnvinfer-plugin8 libnvinfer-lean8 libnvinfer-vc-plugin8 libnvinfer-dispatch8

ADD scripts /tmp/scripts
RUN cd /tmp/scripts && /tmp/scripts/install_dotnet.sh && /tmp/scripts/install_java.sh && rm -rf /tmp/scripts

# Build final image from base.
FROM base as final
ARG BUILD_USER=onnxruntimedev
ARG BUILD_UID=1000
RUN adduser --uid $BUILD_UID $BUILD_USER
WORKDIR /home/$BUILD_USER
USER $BUILD_USER
13 changes: 13 additions & 0 deletions tools/ci_build/github/linux/docker/scripts/install_java.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
set -e -x

if [ -f /etc/redhat-release ]; then
dnf update --refresh -y \
&& dnf install -y java-11-openjdk-devel \
&& dnf clean dbcache
elif [ -f /etc/os-release ]; then
apt-get update && apt-get install -y openjdk-11-jdk
else
echo "Unsupported OS"
exit 1
fi
Loading