Skip to content

Update packaging pipeline for Nodejs binding - #24301

Merged
fs-eire merged 1 commit into
mainfrom
fs-eire/nodejs-package
Apr 4, 2025
Merged

Update packaging pipeline for Nodejs binding#24301
fs-eire merged 1 commit into
mainfrom
fs-eire/nodejs-package

Conversation

@fs-eire

@fs-eire fs-eire commented Apr 3, 2025

Copy link
Copy Markdown
Contributor

Description

Update packaging pipeline for Nodejs binding.

This change updates the pipeline to perform all Node.js binding builds, including:

  • Windows x64 ( CPU, DML, WebGPU )
  • Windows arm64 ( CPU, DML, WebGPU )
  • Linux x64 ( CPU, CUDA, TensorRT, WebGPU )
  • Linux arm64 ( CPU )
  • MacOS x64 ( CPU, CoreML, WebGPU )
  • MacOS arm64 ( CPU, CoreML, WebGPU )

Dependencies

The Node.js binding depends on the Nuget package from the same build.

Because NPM has a size limit so we cannot fit libonnxruntime_provider_cuda.so into it. The Node.js binding works in a way that an installation script will try to download the Nuget package of the corresponding version.

@fs-eire
fs-eire requested review from jchen351 and snnn April 3, 2025 22:31
@fs-eire
fs-eire merged commit 11fda2a into main Apr 4, 2025
@fs-eire
fs-eire deleted the fs-eire/nodejs-package branch April 4, 2025 20:40
@jlucaso1

jlucaso1 commented Apr 4, 2025

Copy link
Copy Markdown

This is already published to npm?

@fs-eire

fs-eire commented Apr 4, 2025

Copy link
Copy Markdown
Contributor Author

This is already published to npm?

Not yet. Currently it does not work with CUDA on linux/x64. I am working on this.

zhaoxul-qti pushed a commit to CodeLinaro/onnxruntime that referenced this pull request Apr 17, 2025
### Description

Update packaging pipeline for Nodejs binding.

This change updates the pipeline to perform all Node.js binding builds,
including:
- Windows x64 ( CPU, DML, WebGPU )
- Windows arm64 ( CPU, DML, WebGPU )
- Linux x64 ( CPU, CUDA, TensorRT, WebGPU )
- Linux arm64 ( CPU )
- MacOS x64 ( CPU, CoreML, WebGPU )
- MacOS arm64 ( CPU, CoreML, WebGPU )

#### Dependencies

The Node.js binding depends on the Nuget package from the same build.

Because NPM has a size limit so we cannot fit
libonnxruntime_provider_cuda.so into it. The Node.js binding works in a
way that an installation script will try to download the Nuget package
of the corresponding version.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants