NVIDIA / NVIDIA/DALI

Rust Bindings for DALI

Open
#5,705 2 comments 1 reaction 1 assignee View on GitHub

@mzient is already working on this.

Since Nov 11, 2024.

enhancement
Dominant language
C++
Stars
5.8k
Forks
678
Avg merge
3d 1h
Merged PRs (30d)
27

Description

Is this a new feature, an improvement, or a change to existing functionality?

New Feature

How would you describe the priority of this feature request

Nice to have (e.g. Adoption is possible, the feature will enhance the use-case even more).

Please provide a clear description of problem this feature solves

Hey! We talked about supporting rust in #5320, i created a draft pr to just get things started. I have a few questions to make sure I'm on the right track:

  1. the c_api_test.cc uses internal functions and structs to create a pipeline on the spot - this is not possible from rust since we only have the c_api.h methods to work with. So if we want to make sure everything works we need to use an already serialized pipeline. Can you point me to a test or a place that does this?
  2. currently I assume that you have DALI installed. There is an option to either download, or compile in the build.rs file. What do you guys think is the best thing to do here since the compilation is pretty complex (need to first install the dependencies from a different repo). I see the in the release you do upload the binaries so we can download them based on the CUDA version?
  3. Related to question 2, how do people usually use dali, from a docker? we usually use dali using the triton server, so I'm not sure how people usually install dali.
  4. Did i get the correct libs that need to be linked for everything to work in build.rs?
Feature Description

Support rust bindings by adding a cargo crate that wraps dali c_api.h

Describe your ideal solution

using bindgen to create the wrapper and then create idomatic Rust structs to make usage easier.

Describe any alternatives you have considered

No response

Additional context

No response

Check for duplicates
  • I have searched the open bugs/issues and have found no duplicates for this bug report

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.