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

Serializable executable #560

Closed
mathisrichter opened this issue Jan 4, 2023 · 0 comments · Fixed by #732
Closed

Serializable executable #560

mathisrichter opened this issue Jan 4, 2023 · 0 comments · Fixed by #732
Assignees
Labels
0-needs-estimate Issue needs to be estimated with story points 1-feature New feature request 2-important/not-urgent Important issues that are not urgent epic Story that will take multiple sprints

Comments

@mathisrichter
Copy link
Contributor

mathisrichter commented Jan 4, 2023

User story

As a user, I would like to be able to compile a network and reuse this compiled network in cases where the network doesn't change in between compilations or in cases that the network needs to be distributed and packaged with backend hardware. This would accelerate time to execution and enable use of compiled networks in embedded environments.

Conditions of satisfaction

  • Compiling a network produces a compiled serializable executable
  • When a network is already compiled, it will not be recompiled
  • The compiled serializable executable can be executed on targeted hardware (GPU, NPU)
    The compiled executable can only be used with the same Run_Cfg as it was compiled for. Changing the backend/HW requires recompilation.
  • Agreed on API to use serialization/storage and loading/deserialization for Lava networks
  • In case of CProcs or µcoded neurons - feasible way to provide needed files/file paths (store files with executable?)

Acceptance tests

  • A network is compiled twice in succession and is not recompiled on the second compilation
  • A complied serializable executable is executed on two backends (GPU, NPU)
  • Complied serializable executable with Py-, C and Nx procs is stored, loaded and executed
  • Trying to execute a complied serializable executable with a different Run_Cfg gives meaningful error
  • Network from optimization team and Oasis demo network is serializable
@mathisrichter mathisrichter added 1-feature New feature request 2-important/not-urgent Important issues that are not urgent labels Jan 4, 2023
@github-actions github-actions bot added the 0-needs-review For all new issues label Jan 4, 2023
@mathisrichter mathisrichter added the epic Story that will take multiple sprints label Jan 5, 2023
@PhilippPlank PhilippPlank assigned PhilippPlank and unassigned ysingh7 May 2, 2023
@PhilippPlank PhilippPlank added 0-needs-estimate Issue needs to be estimated with story points and removed 0-needs-review For all new issues labels Jun 27, 2023
@PhilippPlank PhilippPlank mentioned this issue Jul 10, 2023
16 tasks
@PhilippPlank PhilippPlank linked a pull request Jul 10, 2023 that will close this issue
16 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0-needs-estimate Issue needs to be estimated with story points 1-feature New feature request 2-important/not-urgent Important issues that are not urgent epic Story that will take multiple sprints
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants