AgnostiqHQ / covalent-slurm-plugin

Executor plugin interfacing Covalent with Slurm
https://covalent.xyz
Apache License 2.0
27 stars 6 forks source link

Update to sshproxy instructions in README.md #66

Closed jackbaker1001 closed 11 months ago

jackbaker1001 commented 1 year ago

What should we add?

Just a couple of small edits to the Readme requried.

  1. The command pip install covalent-slurm-plugin[sshproxy] doesn't work in zsh (because of the square brackets). I would reccomend changing this to pip install "covalent-slurm-plugin[sshproxy]" such that it works in bash and zsh.

  2. The instructions indicate that the command line oathtool can be used to verify secrets with the command oathtool <secret> but NERSC uses TOTP and alphanumeric strings. The correct syntax is oathtool --totp --base32 <secret>. These options aren't needed if using the Python wrapper but we are talking about the command line here.

  3. We should have an example in the README or elsewhere which works out-of-the-box for Perlmutter (cori is decommissioned soon). The existing example will not "just work". We need to specify an account to charge and paths to keys/certs. For example, the below executor will work with conda and sshproxy:

executor = ct.executor.SlurmExecutor(
       remote_workdir="/global/homes/j/jsbaker/covalent_test", # scratch may be better practice
       options={
           "qos": "regular",
           "t": "00:10:00",
           "nodes": 1,
           "C": "gpu",
           "A": "<billing number>",
           "J": "ExampleCovalent",
           "ntasks-per-node": 4,
           "gpus-per-task": 1,
           "gpu-bind": "map_gpu:0,1,2,3"
       },
       prerun_commands=[
           "module load espresso/7.0-libxc-5.2.2-gpu",
       ],
       username="jsbaker",
       ssh_key_file="<nersc.pub path>",
       cert_file="<nersc.pub-cert.pub path>",
       address="perlmutter-p1.nersc.gov"
       conda_env="example_covalent"
 )

Opinions @wjcunningham7 ?