Skip to content

Conversation

@polarG
Copy link
Contributor

@polarG polarG commented Jan 6, 2026

Description

  • When building the CUDA 11.1.1 image, pip (Python 3.8) cannot find a pre-built wheel for the latest wandb release (v0.23.1). As a result, pip attempts to build wandb from source. However, the build fails because the image does not have Go installed, which is required for building wandb from source. Then the error appears.
  • Deprecated API arguments, 'interpolation', when numpy >v1.22.0. And it was removed since v2.4.0.

Solution

  • For the CUDA 11.1.1 build, install the required build tools (e.g., Go, Rust, and Cargo) needed for wandb.
  • Update the NumPy API usage to support NumPy 1.22.0+ while maintaining backward compatibility with earlier versions.

@polarG polarG self-assigned this Jan 6, 2026
@polarG polarG added the enhancement New feature or request label Jan 6, 2026
@polarG polarG requested a review from a team as a code owner January 6, 2026 22:55
@polarG polarG added CI/CD Continuous integration or deployment dependencies Pull requests that update a dependency file labels Jan 6, 2026
@codecov
Copy link

codecov bot commented Jan 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.70%. Comparing base (c99380b) to head (8e8d286).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #771   +/-   ##
=======================================
  Coverage   85.69%   85.70%           
=======================================
  Files         102      102           
  Lines        7699     7703    +4     
=======================================
+ Hits         6598     6602    +4     
  Misses       1101     1101           
Flag Coverage Δ
cpu-python3.10-unit-test 70.96% <60.00%> (-0.02%) ⬇️
cpu-python3.12-unit-test 70.96% <60.00%> (+0.01%) ⬆️
cpu-python3.7-unit-test 70.43% <100.00%> (+0.01%) ⬆️
cuda-unit-test 83.59% <60.00%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@polarG polarG changed the title CI/CD - Fix Image build for cuda11.1.1 CI/CD - Fix Image build for cuda11.1.1 and update numpy API Jan 7, 2026
@polarG polarG requested review from abuccts and guoshzhao January 7, 2026 18:33
np.percentile(result, float(percentile), interpolation='nearest'), reduce_type
)
try:
val = np.percentile(result, float(percentile), method='nearest')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need update this? Have you met some failure?

Copy link
Contributor Author

@polarG polarG Jan 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I met it after the changes for wandb. In PR, this also appeared.

'interpolation' was deprecated in v1.22.0 and removed on 2.4.0. In the python3.12 unit test pipeline, v2.4.1 was installed.

Copy link
Member

@abuccts abuccts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pip (Python 3.8) cannot find a pre-built wheel for the latest wandb release (v0.23.1)

According to wandb v0.23.1, it's compatible with py3.8. Maybe you need to upgrade pip/wheel?

However, the build fails because the image does not have Go installed, which is required for building wandb from source.

Why not just add an apt-get install -y golang?

@polarG polarG changed the title CI/CD - Fix Image build for cuda11.1.1 and update numpy API CI/CD - Remove Image build for cuda11.1.1 and update numpy API Jan 12, 2026
@polarG polarG enabled auto-merge (squash) January 12, 2026 22:25
@polarG
Copy link
Contributor Author

polarG commented Jan 12, 2026

pip (Python 3.8) cannot find a pre-built wheel for the latest wandb release (v0.23.1)

According to wandb v0.23.1, it's compatible with py3.8. Maybe you need to upgrade pip/wheel?

However, the build fails because the image does not have Go installed, which is required for building wandb from source.

Why not just add an apt-get install -y golang?

Added build-essential packages to the CUDA 11.1.1 Dockerfile to enable building wandb.

Hongtao Zhang added 6 commits January 13, 2026 18:08
This reverts commit 059daa9.

	modified:   .github/workflows/build-image.yml
	new file:   dockerfile/cuda11.1.1.dockerfile
This reverts commit 4f23173.

	modified:   dockerfile/cuda11.1.1.dockerfile
@polarG polarG changed the title CI/CD - Remove Image build for cuda11.1.1 and update numpy API CI/CD - Fix Image build for cuda11.1.1 and unit test pipelines Jan 14, 2026
@polarG polarG changed the title CI/CD - Fix Image build for cuda11.1.1 and unit test pipelines CI/CD - Fix Image build for cuda11.1.1 and py unit test pipelines Jan 14, 2026
Comment on lines +61 to +63
RUN add-apt-repository -y ppa:longsleep/golang-backports && \
apt-get update && \
apt-get install -y golang-1.24-go
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merge it with existing apt-get command

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'add-apt-repository' is installed with 'software-properties-common' in the first RUN. So, we cannot combine it with the first apt-get.

rustup update stable && \
rustup default stable

ENV PATH="/usr/lib/go-1.24/bin:/root/.cargo/bin:${PATH}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merge with existing env command

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The previous environment lacks Go and Cargo installations, and the subsequent environment is configured specifically for Docker workflows. Given this separation of concerns, I believe we should maintain the current configuration. Please let me know if you'd like any modifications.

Comment on lines +296 to +297
try:
val = np.percentile(result, float(percentile), method='nearest')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you open another pr for this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we move this to another PR, the python-unit-test will fail in this PR.

@abuccts abuccts requested a review from Copilot January 14, 2026 23:30
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes CI/CD issues affecting the CUDA 11.1.1 Docker image build and Python unit test pipelines by addressing two main problems: missing build dependencies for wandb installation and deprecated NumPy API usage.

Changes:

  • Added Go and Rust build tools to the CUDA 11.1.1 Dockerfile to support wandb v0.23.1 source builds
  • Updated NumPy percentile API usage to support NumPy 2.x while maintaining backward compatibility with 1.x

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
superbench/benchmarks/base.py Updated np.percentile API to use try-except for backward compatibility, preferring method='nearest' for NumPy 2.x and falling back to interpolation='nearest' for older versions
dockerfile/cuda11.1.1.dockerfile Added Go 1.24, Rust, and Cargo installations with required dependencies to enable wandb source builds

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +296 to +299
try:
val = np.percentile(result, float(percentile), method='nearest')
except TypeError:
val = np.percentile(result, float(percentile), interpolation='nearest')
Copy link

Copilot AI Jan 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The try-except approach is too broad for version detection. Since TypeError could occur for other reasons, consider checking NumPy version explicitly at module level or using a more specific exception check. For example, use hasattr(np.percentile, '__wrapped__') or check np.__version__ to determine which parameter to use.

Copilot uses AI. Check for mistakes.
@polarG
Copy link
Contributor Author

polarG commented Jan 14, 2026

pip (Python 3.8) cannot find a pre-built wheel for the latest wandb release (v0.23.1)

According to wandb v0.23.1, it's compatible with py3.8. Maybe you need to upgrade pip/wheel?

However, the build fails because the image does not have Go installed, which is required for building wandb from source.

Why not just add an apt-get install -y golang?

The default go version is not enough for wandb-0.23.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD Continuous integration or deployment dependencies Pull requests that update a dependency file enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants