Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LFX Workspace: Integrate burn.rs as a new WASI-NN backend #3252

Closed
derekwin opened this issue Mar 4, 2024 · 6 comments
Closed

LFX Workspace: Integrate burn.rs as a new WASI-NN backend #3252

derekwin opened this issue Mar 4, 2024 · 6 comments
Labels
enhancement New feature or request LFX Mentorship Tasks for LFX Mentorship participants

Comments

@derekwin
Copy link

derekwin commented Mar 4, 2024

Summary

Motivation
Burn.rs is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency and portability as its primary goals. The task of this project is to integrate burn.rs as a WASI-NN backend in the form of a plugin within wasmedge.

Details

Milestones:

  1. The basics of Burn.rs: (week2)

  2. The basics of Burn.rs: (week3)

  3. Implement the detail of burn.rs plugin: (week4-8)

  4. The Unit test and examples code: (weeks9-10)

    • complete all test.
    • Design and implement some usages examples.
  5. Documents and Tutorials: (week11)

    • Finish the documents and tutorials of this plugin.
  6. 1 week as buffer for unexpected delay.

Appendix

@derekwin derekwin added the enhancement New feature or request label Mar 4, 2024
@hydai
Copy link
Member

hydai commented Mar 4, 2024

Please notice that we are using wasmedge-wasi-nn, which is forked from wasi-nn with some LLM-required extensions
You can focus on the original wasi-nn spec first because our modification extends the original spec. Once finishing the basic features, you can move forward to support the whole wasmedge-wasi-nn extensions.

@hydai hydai added the LFX Mentorship Tasks for LFX Mentorship participants label Mar 4, 2024
@derekwin
Copy link
Author

derekwin commented Mar 5, 2024

ok, i have added the wasmedge-wasi-nn to the plan.

@derekwin
Copy link
Author

derekwin commented Mar 7, 2024

week1 update:
After discussing with mentor, the following viewpoints were obtained:

  • Plug-in development will only focus on inference.
  • Plug-in development don't need no_std, only support native platform.
  • Plug-in development should focus on how to encapsulate the contents of burn.rs into the form required by wasmedge-wasi-nn
  • burn.rs may have provided some similar data structures like wasi-nn.

@derekwin
Copy link
Author

week2 update:

  • Conducted an in-depth study on the differences between wasi-nn and wasmedge-wasi-nn.
  • Essentially determined the division of mods.
  • Basically confirmed the structure of plugin implementation.
  • Sorted out the code logic of the relevant parts in burn.rs.

More details: https://zrsnlqw1xd.feishu.cn/docx/DOYodYbeSoMRuQx82YacWuUpnzc?from=from_copylink

@derekwin
Copy link
Author

week3&4 update:

  • Constructed the initial framework for the plugin.
  • At Wednesday's meeting, with the assistance of Hydai, clarified the use of 'loadbynamewithconfig' to address the multi-backend adaptation issue in Burn.
  • The device will be also determined by metadata and auto.

@hydai
Copy link
Member

hydai commented Apr 24, 2024

Since the mentee is no longer working on this mission, closing this. Thanks @derekwin

@hydai hydai closed this as completed Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request LFX Mentorship Tasks for LFX Mentorship participants
Projects
None yet
Development

No branches or pull requests

2 participants