"compute-runtime" image contains >1/2GB of extra packages
- Dominant language
- Dockerfile
- Stars
- 1
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
**Issue**
`compute-runtime` image is too large to act as a reasonable base image for GPU workloads:
```
$ docker images docker.io/intel/compute-runtime:latest
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/intel/compute-runtime latest e1210a73ef24 3 weeks ago 973 MB
```
Because it has a lot of things that should go to a separate _devel_ image, instead of them being on compute (+ media) driver _runtime_ image.
**Extra content: devel packages**
Devel packages on the image:
```
$ docker run -it --rm docker.io/intel/compute-runtime bash -c "dpkg -l '*-dev' | grep ^ii"
ii dpkg-dev 1.22.6ubuntu6.6 all Debian package development tools
ii libc6-dev:amd64 2.39-0ubuntu8.7 amd64 GNU C Library: Development Libraries and Header Files
ii libcrypt-dev:amd64 1:4.4.36-4build1 amd64 libcrypt development files
ii libgcc-13-dev:amd64 13.3.0-6ubuntu2~24.04.1 amd64 GCC support library (development files)
ii libmetee-dev:amd64 6.2.1-1~24.04~ppa1 amd64 Intel(R) ME TEE Library - headers
ii libstdc++-13-dev:amd64 13.3.0-6ubuntu2~24.04.1 amd64 GNU Standard C++ Library v3 (development files)
ii libze-dev:amd64 1.28.2-1~24.04~ppa1 amd64 oneAPI Level Zero -- development files
ii linux-libc-dev:amd64 6.8.0-124.124 amd64 Linux Kernel Headers for development
ii systemd-dev 255.4-1ubuntu8.15 all systemd development files
```
Of those, Intel ones are IMHO fairly OK:
* `libze-dev`: is explicit `intel-gpu-compute` metapackage dep, needs to match backend version, is smallish (2MB) & does not bring in anything extra
* `libmetee-dev`: is explicit `libigsc1` dep, small (1
Contributor guide
Research direction
Start by reproducing the `docker run ... dpkg` package inventories for `docker.io/intel/compute-runtime:latest`, then inspect the repository definition that builds the `compute-runtime` image. Identify why the GCC, C++ standard library, dpkg, CMake, and other marked development packages enter the runtime image. Done means those unnecessary packages move out of the runtime image while the required Intel runtime packages remain and the image is substantially smaller.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- devops
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100