Closed GibbsJR closed 1 year ago
Hi Joe,
Note that unlike QuEST, QuESTlink cannot presently be run in distributed mode. I.e. you cannot created a Qureg
which has its amplitudes distributed across many nodes.
You can however deploy many concurrent and independent QuESTlink processes (as one might do using Mathematica's Parallel facilities), and use SLURM to launch them over many nodes. Depending on your needs, you may wish to do this with the Wolfram Engine. You'll require converting your notebook into a .m
file (as discussed here).
I've personally had success downloading the Wolfram Engine executable onto an AWS instance from the command line, installing it and launching it during my job execution. Give that a try!
Hi Tyson,
I see, it would have been nice to have the option to distribute over multiple nodes, but in reality one GPU/node should be enough for most of my use cases. Thanks for the useful info about how to use SLURM to dispatch independent jobs.
I agree - a model whereby a single Mathematica process dispatches simulation instructions to a distributed QuEST backend has been on my QuESTlink wish list for ages. I can't yet see a way to work around the limitations of Wolfram's WSTP to do this however. :(
I would like some help taking advantage of HPC when using QuESTlink in distributed mode. Previously I have run QuEST on the machine, which is handled by the Slurm job scheduler, without any issues.
My main question is how can I use QuESTlink when I need to submit jobs using Slurm? Is there a way to turn the notebook into an executable, or is there an alternate recommended method (I didn't see an explanation of this in the docs)? Thanks!