cppyy for Long-Term Integration in Scientific Simulation Framework #311
|
Hi cppyy team, First off, thank you for the amazing work on cppyy — it's a really powerful tool :) ... So , we're currently working on Brian, a simulator for spiking neural networks widely used in computational neuroscience and academic research. Brian relies heavily on just-in-time (JIT) compilation to generate optimized simulation code from user-defined equations during runtime. Currently, we use Cython for this, but its overhead in dynamic scenarios is becoming a significant bottleneck for us— especially due to frequent recompilation and large generated files ( they are huge) So ,we're exploring cppyy as a potential core component of a new, fully C++ based JIT engine, using cppyy's ability to JIT compile C++ code (including templates) at runtime without a separate build step is particularly promising for our needs. Before we commit deeply, we wanted to ask: We’re happy to contribute back upstream as needed, especially if cppyy becomes a critical part of our architecture. Just wanted to confirm it aligns with your roadmap and sustainability goals. Thanks again for your work — cppyy looks like a game-changer for projects like ours. Best, |
Replies: 2 comments
|
cppyy has been around in one form or another since December 2002, so do the math. It's still very important to HEP experiments that count timescales in decades, not years. That said, at the current time, there's an alternative implementation brewing (top-level the same, so it's a drop-in replacement; but the backend is being completely revamped and cleaned up): https://github.com/compiler-research . It also has a larger team and several bigger organizations behind it, plus a lot of libCppInterop is based on clang-repl that is expected to go into LLVM proper, again expanding the base of maintainers. The libCppInterop project has been going on for a long time, however, and has missed several deliverables, so I'm not telling folks to go there right now, but long term, highly likely. |
|
Thanks a lot for the thoughtful reply — I really appreciate the context and transparency :) It’s great to hear that cppyy has such deep roots and continues to play a critical role in long-term projects like those in HEP. That gives us a lot of confidence moving forward, especially since we're trying to build something sustainable ourselves. The alternative implementation via libCppInterop sounds really interesting too — especially the We’re going to move ahead with some experiments around integrating cppyy into our JIT engine. If things work out — and it’s already looking promising — we’d be happy to contribute back however we can. It’s rare to find something that bridges C++ and Python so smoothly at runtime, and it could really simplify and speed up the core of Brian2 .... Thanks again for all the work you’ve put into this `:) |
cppyy has been around in one form or another since December 2002, so do the math. It's still very important to HEP experiments that count timescales in decades, not years.
That said, at the current time, there's an alternative implementation brewing (top-level the same, so it's a drop-in replacement; but the backend is being completely revamped and cleaned up): https://github.com/compiler-research . It also has a larger team and several bigger organizations behind it, plus a lot of libCppInterop is based on clang-repl that is expected to go into LLVM proper, again expanding the base of maintainers.
The libCppInterop project has been going on for a long time, however, and has missed severa…