You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be great if QuESTlink would support the Mathematica parallelisation facilities (e.g. ParallelTable etc.) by default. Currently, this results in errors of e.g. the form
I think this would necessitate that each kernel has its own QuEST backend, I hacked a solution together:
via the solution proposed in this stackexchange answer. However, as mentioned there, $InitCode is undocumented and thus probably not suitable for implementing in QuESTlink directly, though the answerer mentions it appears to be quite stable.
I feel this would be very useful though, e.g. I often ran an algorithm using QuESTlink repeatedly with different parameters for comparison, and it was very comfortable to use e.g. ParallelTable for that.
The text was updated successfully, but these errors were encountered:
Hi there,
Please forgive the absolutely incredible delay!
This is a nice idea, although there isn't much more one can do besides setting ParallelDeveloper$InitCode as you do above (except worse/hackier things inside each Parallel function). Further, it seems parallelisation of this granularity is only worthwhile for very small systems when the exponentially growing costs of simulating a single statevector at a time haven't yet dominated. For larger systems, it is better to dedicate all threads to modify the same statevector (achieving better cache behaviour and minimising context switching) at one time. I think your solution for unusually small systems is the only way to go.
It would be great if QuESTlink would support the Mathematica parallelisation facilities (e.g.

ParallelTable
etc.) by default. Currently, this results in errors of e.g. the formI think this would necessitate that each kernel has its own QuEST backend, I hacked a solution together:
via the solution proposed in this stackexchange answer. However, as mentioned there,
$InitCode
is undocumented and thus probably not suitable for implementing in QuESTlink directly, though the answerer mentions it appears to be quite stable.I feel this would be very useful though, e.g. I often ran an algorithm using QuESTlink repeatedly with different parameters for comparison, and it was very comfortable to use e.g.
ParallelTable
for that.The text was updated successfully, but these errors were encountered: