Replies: 1 comment
-
In addition to calling the system compiler, there is an interface to llvm/libclang using it's c++ API: https://github.com/casadi/casadi/tree/main/casadi/interfaces/clang I don't think it's distributed in the binaries currently though. Maybe it would be easier to do now with the GitHub actions cicd toolchain. You can probably add another backend as long as it can compile C code from CasADi codegen. You'd probably want to fork CasADi and add another "importer" plug-in alongside "shell" (the default one) and "clang" (if it's built). Setting up the cicd to work on all systems might be a challenge. In general, PRs can be a lot of work to review, and require several back and forths. So there is a risk that they get stuck unreviewed if they are not part of some funded project. |
Beta Was this translation helpful? Give feedback.
-
Currently, the JIT implementation is based on using directly the default compiler, or other compiler selected by the user.
Are there any plans for switching to an XLA backend? This way one can greatly improve the overall performance and provide access to GPU/TPU as well. I can imagine this can go even further, making CasADi projects easily interoperable with other projects based on XLA. ( e.g. JAX, TensorFlow, etc. )
Will you consider a pull request in this direction?
Beta Was this translation helpful? Give feedback.
All reactions