lava icon indicating copy to clipboard operation
lava copied to clipboard

Convert CppIn/Out/Ref/Var-Ports

Open seowwj opened this issue 3 years ago • 4 comments

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 avatar Aug 10 '22 08:08 seowwj

@seowwj pls add pythonwrapper interfaces of Ports into src/lava/magma/runtime/message_infrastructure/message_infrastructure/csrc/message_infrastructure_py_wrapper.cc.

killight98 avatar Aug 15 '22 02:08 killight98

@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 avatar Aug 15 '22 07:08 seowwj

@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.

hexu33 avatar Aug 15 '22 07:08 hexu33

@seowwj @shaline-koh pls add abstract_port_implementation.cc, ports.cc and transformer.cc into CMakeLists.txt.

killight98 avatar Aug 17 '22 01:08 killight98