-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
pickle Lambdify only works with backend='llvm' and not with backend='lambda #294
Comments
The problem is bigger than that. We would need to serialize the function objects. C++, which (unbelievably) still lacks proper reflection makes serialization a hassle (essentially forcing projects to do their own code generation, see e.g. Qt's moc, google's protobuf etc.). xref: symengine/symengine#1394 EDIT: On that note, I've been looking into using libclang to parse the ast of a project of mine and generate serialization/deserialization functions during the build process (I've seen some talks on the subject, some also use annotations, but I haven't found a well established and maintained tool for this) |
OK, thanks for the quick reply! will I run into any (expected) problems if I use the 'llvm' backend instead? |
@raphaelquast, the pickle file for |
As long as you pickle and unpickle on a machines with the same instruction set there shouldn't be any issues (barring any unknown bugs of course). (and OS as @isuruf points out) |
Perfect, thanks! |
I've just noticed that pickling of symengine Lambdify functions fails with the default 'lambda' backend, but works fine with the 'llvm' backend...
is there any particular reason for that? (or in other words... will I run into problems when I use the 'llvm' backend?)
maybe the fixes of #213 need to be repeated?
The text was updated successfully, but these errors were encountered: