onnxruntime/tools/ci_build/github/linux/docker
Changming Sun d13cabf7f9
Upgrade GCC and remove the dependency on GCC8's experimental std::filesystem implementation (#20893)
### Description
This PR upgrades CUDA 11 build pipelines' GCC version from 8 to 11. 

### Motivation and Context

GCC8 has an experimental std::filesystem implementation which is not ABI
compatible with the formal one in later GCC releases. It didn't cause
trouble for us, however, ONNX community has encountered this issue much.
For example, https://github.com/onnx/onnx/issues/6047 . So this PR
increases the minimum supported GCC version from 8 to 9, and removes the
references to GCC's "stdc++fs" library. Please note we compile our code
on RHEL8 and RHEL8's libstdc++ doesn't have the fs library, which means
the binaries in ONNX Runtime's official packages always static link to
the fs library. It is just a matter of which version of the library, an
experimental one or a more mature one. And it is an implementation
detail that is not visible from outside. Anyway, a newer GCC is better.
It will give us the chance to use many C++20 features.

#### Why we were using GCC 8?
It is because all our Linux packages were built on RHEL8 or its
equivalents. The default GCC version in RHEL8 is 8. RHEL also provides
additional GCC versions from RH devtoolset. UBI8 is the abbreviation of
Red Hat Universal Base Image 8, which is the containerized RHEL8. UBI8
is free, which means it doesn't require a subscription(while RHEL does).
The only devtoolset that UBI8 provides is GCC 12, which is too new for
being used with CUDA 11.8. And our CUDA 11.8's build env is a docker
image from Nvidia that is based on UBI8.
#### How the problem is solved
Almalinux is an alternative to RHEL. Almalinux 8 provides GCC 11. And
the CUDA 11.8 docker image from Nvidia is open source, which means we
can rebuild the image based on Almalinux 8 to get GCC 11. I've done
this, but I cannot republish the new image due to various complicated
license restrictions. Therefore I put them at an internal location in
onnxruntimebuildcache.azurecr.io.
2024-06-03 10:14:08 -07:00
..
inference Upgrade GCC and remove the dependency on GCC8's experimental std::filesystem implementation (#20893) 2024-06-03 10:14:08 -07:00
scripts Update training packaging pipeline's docker files (#20853) 2024-05-30 23:48:42 -07:00
Dockerfile.aten_cpu Upgrade GCC and remove the dependency on GCC8's experimental std::filesystem implementation (#20893) 2024-06-03 10:14:08 -07:00
Dockerfile.lort_cpu Update Aten pipeline's docker file to use UBI8 (#20856) 2024-05-30 07:38:15 -07:00
Dockerfile.manylinux2_28_cpu Upgrade GCC and remove the dependency on GCC8's experimental std::filesystem implementation (#20893) 2024-06-03 10:14:08 -07:00
Dockerfile.manylinux2_28_cuda Update training packaging pipeline's docker files (#20853) 2024-05-30 23:48:42 -07:00
Dockerfile.manylinux2_28_rocm Upgrade default ORTModule opset from 15 to 17 (#19315) 2024-02-14 11:19:33 -08:00
Dockerfile.manylinux2_28_training_cuda11_8 Upgrade GCC and remove the dependency on GCC8's experimental std::filesystem implementation (#20893) 2024-06-03 10:14:08 -07:00
Dockerfile.manylinux2_28_training_cuda12_2 Upgrade GCC and remove the dependency on GCC8's experimental std::filesystem implementation (#20893) 2024-06-03 10:14:08 -07:00
Dockerfile.package_ubi8_cuda11_8_tensorrt8_6 Create a new Nuget Package pipeline for CUDA 12 (#18135) 2023-11-28 09:03:46 -08:00
Dockerfile.package_ubi8_cuda_tensorrt10_0 Update training packaging pipeline's docker files (#20853) 2024-05-30 23:48:42 -07:00
Dockerfile.package_ubuntu_2004_gpu [TensorRT EP] support TensorRT 10-GA (#20506) 2024-05-01 11:10:53 -07:00
Dockerfile.package_ubuntu_2004_gpu_ffmpeg [TensorRT EP] support TensorRT 10-GA (#20506) 2024-05-01 11:10:53 -07:00
Dockerfile.ubuntu_cuda11_6_tensorrt8_4 Update onnx python package and setuptools (#17709) 2023-09-27 07:54:48 -07:00
Dockerfile.ubuntu_cuda11_8_tensorrt8_5 Update onnx python package and setuptools (#17709) 2023-09-27 07:54:48 -07:00
Dockerfile.ubuntu_cuda11_8_tensorrt8_6 [EP Perf] Add CI option to enable TRT-OSS parser (#19448) 2024-02-12 23:04:08 -08:00
Dockerfile.ubuntu_cuda11_8_tensorrt10_0 [TensorRT EP] support TensorRT 10-GA (#20506) 2024-05-01 11:10:53 -07:00
Dockerfile.ubuntu_cuda12_3_tensorrt8_6 [EP Perf] Update EP Perf dockerfiles with cuda12/cudnn9 (#19781) 2024-03-08 13:58:22 -08:00
Dockerfile.ubuntu_cuda12_4_tensorrt10_0 [TensorRT EP] support TensorRT 10-GA (#20506) 2024-05-01 11:10:53 -07:00
Dockerfile.ubuntu_gpu_training Add support for cuda 11.8 and python 3.11 for training (#15548) 2023-04-20 12:56:45 -07:00
Dockerfile.ubuntu_openvino Ort openvino npu 1.17 master (#19966) 2024-03-21 18:44:00 -07:00
Dockerfile.ubuntu_tensorrt_bin [EP Perf] Update EP Perf dockerfiles with cuda12/cudnn9 (#19781) 2024-03-08 13:58:22 -08:00
manylinux.patch Enable Address Sanitizer in CI (#19073) 2024-01-12 07:24:40 -08:00
migraphx-ci-pipeline-env.Dockerfile [ROCm] fix security warning (#19017) 2024-01-05 10:05:34 -08:00