[NVIDIA Container] Fix `PATH` to include NVIDIA binaries (#13126)
This branch addresses and fix a `PATH` issue in the NVIDIA containers.
```sh
docker run -it \
--gpus=all \
gcr.io/iree-oss/nvidia-bleeding-edge bash
# %%%% Container is starting %%%%
# As you can see `nvcc` is not in the PATH
root@12c0c715d753:/ nvcc --version
bash: nvcc: command not found
# Now let's fix the issue "by hand" and try again
root@12c0c715d753:/ PATH=${PATH}:/usr/local/cuda/bin/
root@12c0c715d753:/ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
```
This simple PR fixes the problem.
@ScottTodd & @GMNGeoffrey for review
---------
Co-authored-by: Geoffrey Martin-Noble <gcmn@google.com>diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 352a6ac..f5be1b3 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -299,7 +299,7 @@
--env CTEST_PARALLEL_LEVEL=2 \
--gpus all \
--env NVIDIA_DRIVER_CAPABILITIES=all \
- gcr.io/iree-oss/nvidia@sha256:b00fe1b21a288b6edd701b30d2b23c85ea96b5f8707792b071fe9f3b7f15b4bb \
+ gcr.io/iree-oss/nvidia@sha256:e7a1daba40815d1e94c901ce7de4bead54e725302ba320eda6745857977528a7 \
bash -euo pipefail -c \
"./build_tools/scripts/check_cuda.sh
./build_tools/scripts/check_vulkan.sh
diff --git a/build_tools/benchmarks/run_benchmarks.sh b/build_tools/benchmarks/run_benchmarks.sh
index 26c420a..22a7257 100755
--- a/build_tools/benchmarks/run_benchmarks.sh
+++ b/build_tools/benchmarks/run_benchmarks.sh
@@ -33,7 +33,7 @@
${DOCKER_WRAPPER} \
--gpus all \
--env NVIDIA_DRIVER_CAPABILITIES=all \
- gcr.io/iree-oss/nvidia-bleeding-edge@sha256:5651a746a052990af1acb5190f526b5160a72dd645e81b50e76a7cc074d60970 \
+ gcr.io/iree-oss/nvidia-bleeding-edge@sha256:e020d5c748f293674ab5f63533d6bf2a6a83b4c3045da10f76aa2ef2236f008b \
./build_tools/benchmarks/run_benchmarks_on_linux.py \
--normal_benchmark_tool_dir="${NORMAL_BENCHMARK_TOOLS_DIR}" \
--traced_benchmark_tool_dir="${TRACED_BENCHMARK_TOOLS_DIR}" \
diff --git a/build_tools/docker/dockerfiles/nvidia-bleeding-edge.Dockerfile b/build_tools/docker/dockerfiles/nvidia-bleeding-edge.Dockerfile
index 2a5c846..9af3c29 100644
--- a/build_tools/docker/dockerfiles/nvidia-bleeding-edge.Dockerfile
+++ b/build_tools/docker/dockerfiles/nvidia-bleeding-edge.Dockerfile
@@ -66,3 +66,6 @@
&& cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/ \
&& apt-get update \
&& apt-get -y install cuda-toolkit-11-8
+
+# Adding CUDA binaries to Path
+ENV PATH=${PATH}:/usr/local/cuda/bin/
diff --git a/build_tools/docker/dockerfiles/nvidia.Dockerfile b/build_tools/docker/dockerfiles/nvidia.Dockerfile
index b4bdfc0..52d6cf9 100644
--- a/build_tools/docker/dockerfiles/nvidia.Dockerfile
+++ b/build_tools/docker/dockerfiles/nvidia.Dockerfile
@@ -57,3 +57,6 @@
&& apt-key add /var/cuda-repo-debian11-11-6-local/7fa2af80.pub \
&& apt-get update \
&& apt-get -y install cuda-toolkit-11-6
+
+# Adding CUDA binaries to Path
+ENV PATH=${PATH}:/usr/local/cuda/bin/
diff --git a/build_tools/docker/prod_digests.txt b/build_tools/docker/prod_digests.txt
index 730b1c1..fcd807d 100644
--- a/build_tools/docker/prod_digests.txt
+++ b/build_tools/docker/prod_digests.txt
@@ -6,7 +6,7 @@
gcr.io/iree-oss/frontends-swiftshader@sha256:d9448f2760b1de0dfe4a1a1d46b7ef72f0430f5937d0164f43400fdf3f811abc
gcr.io/iree-oss/gradle-android@sha256:0eff7c2d990b78da29e896538615f536b9f1c93da04d4a194cdaffbf69bce260
gcr.io/iree-oss/riscv@sha256:2e71c052d11b2526651af16e64816a30d164efcdfe6fb64623fb4737c37c466a
-gcr.io/iree-oss/nvidia@sha256:b00fe1b21a288b6edd701b30d2b23c85ea96b5f8707792b071fe9f3b7f15b4bb
+gcr.io/iree-oss/nvidia@sha256:e7a1daba40815d1e94c901ce7de4bead54e725302ba320eda6745857977528a7
gcr.io/iree-oss/emscripten@sha256:1bb106b471a446e64a04ea313743174c5b51f1b49d5a41ccff3f70bbda9e7fd0
gcr.io/iree-oss/android@sha256:3f641d25786b1e5e430ee4cacb8bfe57540fda5ecaa7ca2802c179c26e77ce09
gcr.io/iree-oss/manylinux2014_x86_64-release@sha256:794513562cca263480c0c169c708eec9ff70abfe279d6dc44e115b04488b9ab5
@@ -16,4 +16,4 @@
gcr.io/iree-oss/mmperf@sha256:f32657e5b9e9bf54614209517f9c895f4fb2280d1a7c1a3a9b7fb702327db8c6
gcr.io/iree-oss/convperf@sha256:8a32b97be7c8817aa12bf669fce4dd1f20d0b01b7aa6f4dbb618e27541d1231d
gcr.io/iree-oss/perf@sha256:8f4dfc8cf779f6499215a5c4ff2c7608ac3329f23f6ddcf6025e1868e1584222
-gcr.io/iree-oss/nvidia-bleeding-edge@sha256:5651a746a052990af1acb5190f526b5160a72dd645e81b50e76a7cc074d60970
+gcr.io/iree-oss/nvidia-bleeding-edge@sha256:e020d5c748f293674ab5f63533d6bf2a6a83b4c3045da10f76aa2ef2236f008b
diff --git a/build_tools/github_actions/runner/gcp/image_setup.sh b/build_tools/github_actions/runner/gcp/image_setup.sh
index e2758f3..0d85132 100644
--- a/build_tools/github_actions/runner/gcp/image_setup.sh
+++ b/build_tools/github_actions/runner/gcp/image_setup.sh
@@ -314,7 +314,7 @@
bash -c "${script_dir}/check_cuda.sh && ${script_dir}/check_vulkan.sh"
}
- check_docker gcr.io/iree-oss/nvidia@sha256:b00fe1b21a288b6edd701b30d2b23c85ea96b5f8707792b071fe9f3b7f15b4bb
+ check_docker gcr.io/iree-oss/nvidia@sha256:e7a1daba40815d1e94c901ce7de4bead54e725302ba320eda6745857977528a7
check_docker gcr.io/iree-oss/frontends-nvidia@sha256:b0df86dff8bfcf5f43eedb70d178703b4538f31a2bf45e3b2eb035724a7f6a42
# Remove the docker images we've fetched. We might want to pre-fetch Docker