weinbe2 / summit-runscript

Reference scripts to run QUDA test utilities on Summit. Not guaranteed to be optimal.
MIT License
1 stars 0 forks source link

summit-runscript

Reference scripts to run QUDA test utilities on Summit. Not guaranteed to be optimal.

Top level summary

To run these scripts as-is, clone this repository, make a static link (ln -s) to ./staggered_invert_test in this directory, build a submit script using ./build-submit-script.sh (run it without any arguments to get an error message telling you what to do), and submit the built script using bsub.

All the details

These scripts aren't specifically set up to be run in any organized directory structure; they are a base that should be customized for any user's specific needs. Currently, the scripts assume that a job will be submitted from the same directory that these scripts run it (but again, it should be clear and easy to see how to change that). The scripts are currently hard-coded to assume the QUDA test executable "staggered_invert_test" also lives in the same directory, either copied there or statically linked (i.e., you called ln -s [QUDA test directory]/staggered_invert_test in this directory. I'll document how to modify this below.

These scripts have only been tested with the feature/p2p-zero-copy branch of QUDA (though I don't see any reason why it wouldn't work with any modern branch) with the QMP interface. These scripts assume t is the fast direction, i.e., it's preferentially split within a node, which can be verified with the output from the feature/p2p-zero-copy branch. I don't see why using a different (modern) repository, or using MPI instead of QMP when building QUDA, should make a difference. Please tell me if you find any issues.

I'm not sure if it makes a difference, but to be complete, my ~/.profile file contains (and contained when I built QMP, QIO, and QUDA):

module load cmake/3.9.2
module load git/2.13.0
module load makedepend/1.0.5
module load screen/4.3.1
module load cuda/9.2.64

The description of the files is as follows:

After generating a submit script, you can submit it as-is using bsub [submit script] without any further flags (unless you want to, of course).

A few example commands:

I hope this is a sufficient description of the scripts and how to use them. If there's anything unclear, please send me a message at evansweinberg [at] gmail.com. Alternatively, I'm happy to give anyone access to the repo to make edits or submit a pull request, similarly send me a message.

Most importantly: If there's anything that's sub-optimal, misguided, or wrong, PLEASE let me know!

Cheers!