pierotofy/OpenSplat

Unable to build docker on Linux

Opened this issue · 3 comments

I'm trying to build OpenSplat docker on Linux. Everything works until I get this error:

(base) pmehta94@pina2:~/OpenSplat$ docker build   -t opensplat:ubuntu-22.04-cuda-12.6   --build-arg UBUNTU_VERSION=22.04   --build-arg CUDA_VERSION=12.6 .
[+] Building 1.2s (10/12)                                        docker:default
 => [internal] load build definition from Dockerfile                       0.0s
 => => transferring dockerfile: 2.48kB                                     0.0s
 => [internal] load metadata for docker.io/library/ubuntu:22.04            0.2s
 => [internal] load .dockerignore                                          0.0s
 => => transferring context: 2B                                            0.0s
 => [internal] load build context                                          0.7s
 => => transferring context: 630.94kB                                      0.7s
 => [1/8] FROM docker.io/library/ubuntu:22.04@sha256:adbb90115a21969d2fe6  0.0s
 => CACHED [2/8] WORKDIR /code                                             0.0s
 => CACHED [3/8] COPY . ./                                                 0.0s
 => CACHED [4/8] RUN if [[ "22.04" = "20.04" ]]; then         apt-get upd  0.0s
 => CACHED [5/8] RUN apt-get update &&     apt-get install -y     build-e  0.0s
 => ERROR [6/8] RUN bash .github/workflows/cuda/Linux.sh "ubuntu-22.04" 1  0.2s
------
 > [6/8] RUN bash .github/workflows/cuda/Linux.sh "ubuntu-22.04" 12.6:
0.212 Unrecognized CUDA_VERSION=cu126
------

 1 warning found (use docker --debug to expand):
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 14)
Dockerfile:50
--------------------
  48 |
  49 |     # Install CUDA
  50 | >>> RUN bash .github/workflows/cuda/Linux.sh "ubuntu-${UBUNTU_VERSION}" ${CUDA_VERSION}
  51 |
  52 |     # Install libtorch
--------------------
ERROR: failed to solve: process "/bin/bash -c bash .github/workflows/cuda/Linux.sh \"ubuntu-${UBUNTU_VERSION}\" ${CUDA_VERSION}" did not complete successfully: exit code: 1

I'm not sure what to do. Here are my specs via nvidia-smi:

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.03              Driver Version: 560.35.03      CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA RTX A6000               On  |   00000000:18:00.0 Off |                  Off |
| 30%   47C    P8             28W /  300W |       2MiB /  49140MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA RTX A6000               On  |   00000000:3B:00.0 Off |                  Off |
| 30%   54C    P8             20W /  300W |       2MiB /  49140MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   2  NVIDIA RTX A6000               On  |   00000000:86:00.0 Off |                  Off |
| 30%   55C    P8             20W /  300W |       2MiB /  49140MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   3  NVIDIA RTX A6000               On  |   00000000:AF:00.0 Off |                  Off |
| 30%   53C    P8             22W /  300W |       2MiB /  49140MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

Maybe you should add a build options: --build-arg CMAKE_CUDA_ARCHITECTURES="80;86;89" ,because of A6000 means sm_86.

CUDA 12.6 is not supported by LibTorch, and currently the latest version supported by OpenSplat is 12.1
try

docker build   -t opensplat:ubuntu-22.04-cuda-12.6   --build-arg UBUNTU_VERSION=22.04   --build-arg CUDA_VERSION=12.1.1 .