- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We're using MKL Pardiso inside an optimisation web service on Windows and Linux. Clients can spin up multiple optimisations in one call to the service, and so we have multiple runs occurring concurrently in the same memory space, with multiple calls to Pardiso, so one might be analysing, another factorising, and another solving, and so on, all at the same time. Under heavy loads we have crashes from heap corruption, and Pardiso is often in the call stack.
I'm trying to eliminate obvious causes of death here before diving into Inspector runs. Does Pardiso actually support multiple independent runs and have separate memory for each initialisation and solve, or should we be putting each solve in its own process to protect memory?
Thanks,
Damien
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Damien,
Pardiso doesn't support multiple independent runs. At the first glance, the runtime issues you describes above, were caused by memory problems while different Pardiso's handles were calling concurrently in the same memory space.
regards, Gennady
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Damien,
Pardiso doesn't support multiple independent runs. At the first glance, the runtime issues you describes above, were caused by memory problems while different Pardiso's handles were calling concurrently in the same memory space.
regards, Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, thanks for the info. I thought that might be the case.
Damien
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is it still the case that PARDISO cannot support multiple independant runs? There is still no indication of this in the version 17 help
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
According to the documentation here https://software.intel.com/en-us/node/528539 the whole of MKL is thread safe and any component can be called concurrently. Is this correct or is it an error in documentation?
If Pardiso is not safe then does that apply to the DSS interface to Pardiso?
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page