TACC / launcher

A simple utility for executing multiple sequential or multi-threaded applications in a single multi-node batch job
MIT License
63 stars 32 forks source link

Specify Python version? #56

Closed AJVincelli closed 4 years ago

AJVincelli commented 4 years ago

Hello,

I've installed Launcher on a cluster and loaded the module python3/3.5.0 (the default python version is 2.6.6, which Launcher won't run on). However, when I run a Launcher slurm file, it's still trying to use the default Python version 2.6.6.

Which Launcher file do I need to modify to use the Python 3.5.0 loaded module, and how do I modify it? I assume it's a small prefix somewhere, like "python3 command" or similar?

Note that I'd like to use dynamic scheduling (this works really well for me on a different cluster!).

Thanks very much,

AJ

AJVincelli commented 4 years ago

Oh hey I think I found it, it's in the tskserver file and just change the shebang to #!/usr/bin/env python3 (add "3" after "python"). Seems to work now.

AJVincelli commented 4 years ago

Nevermind, it turns out that adding "3" to the tskserver shebang somehow breaks the dynamic job (it gives the error "Unable to start dynamic task service"). Instead, add "python3" at the beginning of line 177 in the paramrun file (so it looks like: " python3 $LAUNCHER_DIR/tskserver $LAUNCHER_NJOBS $HOSTNAME 9471 2>/dev/null &" and that seems to work fine. Don't forget to load the python3 module in a cluster before you run Launcher (such as "module load python3/3.5.0").