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

ANN: MatchPyCpp port to C++ #53

Open
Upabjojr opened this issue Mar 11, 2019 · 7 comments
Open

ANN: MatchPyCpp port to C++ #53

Upabjojr opened this issue Mar 11, 2019 · 7 comments

Comments

@Upabjojr
Copy link
Contributor

ANNOUNCEMENT:

I have ported parts of MatchPy into C++:
symengine/symengine#1497

  • symengine library has been used for expression trees,
  • only the parts of MatchPy needed by the generated code have been ported into C++,
  • the C++ code generator is written in Python and still relies on MatchPy library.
@hbarthels
Copy link
Contributor

Thank you very much for letting us know! Are you planning to do any experiments to compare the performance of the generated C++ code to the generated Python code? I would be curious about that.

@Upabjojr
Copy link
Contributor Author

Are you planning to do any experiments to compare the performance of the generated C++ code to the generated Python code? I would be curious about that.

At the moment I'm quite busy, I hope to get a GSoC student to port RUBI into C++.

Currently I'm not sure about the speed-up of C++, as many of the generators are solved (i.e. instead of yield value they return the array of values, performing all combinations). There are some solutions for this problem, but I would like to first wait and see whether coroutines will be added to the C++20 standard. Alternatively there are some tricks to force the usage of generators into C++.

If this problem is solved, I expect C++ to be a lot faster.

@MANIKTANEJA3
Copy link

@Upabjojr if the issue is still persisting and you would want a contributor to work on it I am available please let me know the pre-requisite for the same and i'd be happy to contribute.

@Upabjojr
Copy link
Contributor Author

Are you willing to port the code to C++20?

@MANIKTANEJA3
Copy link

Sure I’d need guidance on the same and will have to check for the methods but am in for it

@MANIKTANEJA3
Copy link

MANIKTANEJA3 commented Mar 25, 2020 via email

@MANIKTANEJA3
Copy link

MANIKTANEJA3 commented Mar 25, 2020

Also @Upabjojr I've read through your work and the implementations before starting off to work on the port. I've also read through the following repository https://github.com/luncliff/coroutine/tree/master/interface/coroutine .
Correct me if I'm wrong here ;
The steps to port the code is to pick any function create a header file for the same and then the implementation? because i saw both (.h) and (.cpp) files in SymEngine's repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants