lava
lava copied to clipboard
EPIC: Integrate Message Passing Backend
User story
As a user, I want to Integrate Message Passing Backend to make the communication better both performance and memory utilization wise.
Conditions of satisfaction
- All our existing test cases across all repos are passing
- Get/Set Var Optimization Verification
- Performance Analysis to show improvement and check for performance regression
- Modifications in CI as needed to run on Linux
Tasks
- [x] Code review (Brian, Yash, Joyesh, Marcus) (1+1+0.5+0.5)
- [x] Runtime Integration to use new Message Passing Backends (Yash, Joyesh) (1)
- [ ] Compiler Changes to configure usage of new Message Passing Backends (Yash, Joyesh) (1)
- [x] Running Unit Tests
-
- [x] Lava Tests (Yash) (0.25)
-
- [x] Lava on Loihi Tests (Yash) (0.5)
-
- [x] Lava DL Tests (Joyesh) (0.25)
-
- [x] Lava Optimization Tests (Joyesh) (0.25)
-
- [x] Lava DNF Tests (Brian) (0.25)
- [x] Get/Set Var Optimization Verification (Yash) (0.5)
- [ ] Code Merge (Yash) (0.25)
- [x] Performance Analysis to show improvement and check for performance regression (Yash) (0.25)
- [x] Modifications in CI as needed (Marcus) (2)
-
- [x] Install dependencies for new backends (Marcus, Yash)
-
- [x] Build changes for the new Message Backend (using CMake) in scripts
-
- [x] Run 2 parallel builds for Python based Pure Python Shared Memory and C++ based Shared Memory
@ysingh7 @mgkwill
-
I added CI modifications here because otherwise this feature won't be running regular regressions and we won't know if something is broken. Hence, to complete this story, we should target integration into CI.
-
If we happen to make a lava release before SDL of this feature is done, how should we accomplish this?