File size: 2,047 Bytes
2c0914b
00204b3
022e657
 
2c0914b
 
022e657
00204b3
2c0914b
 
022e657
 
00204b3
022e657
00204b3
 
 
 
 
 
 
 
 
 
 
022e657
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b1601ec
 
 
022e657
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
---
title: CADGenBench eval image (paused, image-only Space)
colorFrom: gray
colorTo: gray
sdk: docker
pinned: false
license: apache-2.0
short_description: Image-only Space. Holds the GPU eval image for HF Jobs.
---

# cadgenbench-eval-gpu

**This Space is intentionally Paused. It does not run an app.**

It exists only to host the GPU Docker image that the
[CADGenBench leaderboard](https://huggingface.co/spaces/HuggingAI4Engineering/cadgenbench-leaderboard)
pulls via `hf jobs run --image hf.co/spaces/HuggingAI4Engineering/cadgenbench-eval-gpu`
each time a submission lands. Eval runs in a per-submission HF Job
on `a10g-large`; this Space is just the storage backend for the
image (the same role GHCR or Docker Hub would play in another setup).

The Dockerfile + `eval_job.py` here are the entire source of truth
for what runs inside each eval. Browsing them is supported; opening
the live URL is not (the runtime is paused on purpose, the image is
still cached and pullable by Jobs).

Design + integration details:
[`space-setup/jobs-migration.md`](https://github.com/huggingface/cadgenbench)
(in the umbrella `cadgenbench` working tree). The leaderboard Space's
worker dispatches `python /opt/eval_job.py <submission_id> <zip_url>`
against this image on `a10g-large` and polls for completion.

## Image contents

- `nvidia/cuda:12.4.1-runtime-ubuntu22.04` base.
- Python 3.12 via deadsnakes.
- Apt runtime deps for OCP / build123d / VTK (shared with the
  leaderboard Dockerfile) plus `libegl1 libegl-mesa0` for the EGL
  context.
- `cadgenbench @ git+https://github.com/huggingface/cadgenbench@<sha>`,
  controlled via `ARG CADGENBENCH_SHA` (pre-v1 defaults to `main`; pin a SHA
  at release). This installs cadgenbench's Python dependencies, including
  Open3D for rigid alignment.
- `vtk-egl` swapped in for the PyPI `vtk` wheel (same swap shape as
  the leaderboard's `vtk-osmesa`; the GPU counterpart). PyVista
  picks up whichever `vtk` dist is installed; no cadgenbench code
  change needed.
- `/opt/eval_job.py` entrypoint script.