Convert CppIn/Out/Ref/Var-Ports
Issue Number:
Objective of pull request: Convert the messaging infrastructure to C++ from Python
Pull request checklist
Your PR fulfills the following requirements:
- [ ] Issue created that explains the change and why it's needed
- [x] Tests are part of the PR (for bug fixes / features)
- [ ] Docs reviewed and added / updated if needed (for bug fixes / features)
- [ ] PR conforms to Coding Conventions
- [x] PR applys BSD 3-clause or LGPL2.1+ Licenses to all code files
- [ ] Lint (
flakeheaven lint src/lava tests/) and (bandit -r src/lava/.) pass locally - [ ] Build tests (
pytest) passes locally
Pull request type
Please check your PR type:
- [ ] Bugfix
- [x] Feature
- [ ] Code style update (formatting, renaming)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] Documentation changes
- [ ] Other (please describe):
What is the current behavior?
What is the new behavior?
Does this introduce a breaking change?
- [ ] Yes
- [ ] No
Supplemental information
@seowwj
pls add pythonwrapper interfaces of Ports into src/lava/magma/runtime/message_infrastructure/message_infrastructure/csrc/message_infrastructure_py_wrapper.cc.
@seowwj pls add pythonwrapper interfaces of Ports into
src/lava/magma/runtime/message_infrastructure/message_infrastructure/csrc/message_infrastructure_py_wrapper.cc.
@killight98 @hongdami Question about virtual functions and porting to the PyWrapper: Do we have to define them, or do we leave it out in the wrapper?
@seowwj pls add pythonwrapper interfaces of Ports into
src/lava/magma/runtime/message_infrastructure/message_infrastructure/csrc/message_infrastructure_py_wrapper.cc.@killight98 @hongdami Question about virtual functions and porting to the PyWrapper: Do we have to define them, or do we leave it out in the wrapper?
Classes with virtual functions do not need to be wrapped. Only abstract class has virtual functions and they do not need to be wrapped into Python.
@seowwj @shaline-koh pls add abstract_port_implementation.cc, ports.cc and transformer.cc into CMakeLists.txt.