Known to work with this GU version, commit 93c9f37e1765ad743a6b16209561e6374fb88e84.
Minimum supported Rust version: 1.34
If the hub listens at 127.0.0.1:61622
and you want to spawn 12
processes, enter gumpi
project root, execute:
cargo run -- --hub 127.0.0.1:61622 --job job.toml -n 12
See the command line help for more information about the parameters
Example job config (job.toml
from the example) which will show the hostname for every process on every node:
progname = "uname"
args = ["-a"]
See examples/Tutorial.md for a more details.
The structure of the directories:
/app
contains the sources and the built binary of the application/input
contains the uploaded input data/output
is the working directory of the app
In particular, when providing input data, you should refer to it as either
../input/file.dat
or /input/file.dat
.
If you want to run the application over LAN, you may need to specify your IP address space, e.g. the previous example will become:
progname = "uname"
args = ["-a"]
mpiargs = ["--mca", "btl_tcp_if_include", "10.30.8.0/22"]
Currently gumpi limits the accepted size of the stdout and the returned output to 1GiB. Should this be a problem for your application, please report an issue.
Currently gumpi requires the application to put all the relevant artifacts into a single subdirectory. In particular, fetching files directly from the working directory is NOT supported.
You can use the --noclean
runtime option to disable the automatic cleanup of the sessions on the client side.
Note that in the future Golem Unlimited may automatically remove stale sessions on the provider side.