Rust Bindings for DALI
Open
@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:
- the
c_api_test.ccuses internal functions and structs to create a pipeline on the spot - this is not possible from rust since we only have thec_api.hmethods 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? - currently I assume that you have DALI installed. There is an option to either download, or compile in the
build.rsfile. 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? - 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.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.