Michael Rabinovich
dockerfile: track latest cadgenbench pre-v1
b1601ec
metadata
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 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 (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.