-
Notifications
You must be signed in to change notification settings - Fork 1
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
PDLapi warnings in parallel calculations with PDL::Opt::NonLinear #6
Comments
The good news is that I can reproduce that locally! More to follow. |
I suspect this is some horrible interaction with garbage collection and processes exiting. If we change your script from using There's a clue in that turning on |
I think that's somewhat the answer; P:O:NL isn't designed to be used in the way you're using it. It sets up some very thin ndarrays (with a data pointer, a dims array, and a bit of state to say "don't touch"), then calls the user-supplied Perl function with them. On return, it then cleans those up, but your call to A workaround is to use |
There is nothing else that can be done on this issue. |
Hello all!
I use PDL::Opt::NonLinear module in my code. It works fine but slowly due to complex minimization function.
The minimization function can be paralleled with Parallel::ForkManager. It works fine in separate call.
But when I try to use the function in PDL::Opt::NonLinear module, many warnings appear:
The simple code to reproduce this output is:
The Warning points to "Child.pm" line 26, which contains CORE::exit($x || 0) of subroutine finish:
The messages "INVALID PDL MAGICNO" and "Warning: special data without datasv is not freed currently!" are generated by Basic/Core/pdlapi.c
The text was updated successfully, but these errors were encountered: