Skip to main content

Sample Flux Script

Below is the example.flux script file:

#!/bin/sh
#Submit using flux batch <filename>
#flux: --job-name=EXAMPLE
#flux: --output='EXAMPLE.{{id}}.out'
#flux: --error='EXAMPLE.{{id}}.err'
#flux: -N 1
#flux: -l # Add task rank prefixes to each line of output.
#flux: --setattr=thp=always # Enable Transparent Huge Pages (THP)
#flux: -t 20
#flux: -q pbatch # other available queues: pdebug
export MPICH_GPU_SUPPORT_ENABLED=1
export HSA_XNACK=1
# Check if THP are enabled
#cat /sys/kernel/mm/transparent_hugepage/enabled
flux run -N1 -n 4 --verbose --exclusive --setopt=mpibind=verbose:1 ./example.out
#flux run -N1 -n4 -x -l -g1 ./example
#flux run -N1 -n4 -x -l -g1 ./example

This file can be submitted to the flux scheduler with:

flux batch example.flux

Sample Flux Job via Python

Below is an example of interacting with flux job submission via the python interface, file flux-example.py

#!/usr/bin/python3
import sys
import os
import flux
from flux.job import JobspecV1
def main():
  handle = flux.Flux()
  jobspec = JobspecV1.from_command(
    command=["./a.out"], num_tasks=4, num_nodes=1,
  )
  jobspec.cwd = os.getcwd()
  jobspec.exclusive=1
  jobspec.t=5
  jobspec.environment = dict(os.environ)
  jobspec.stdout="PYEXAMPLE.{{id}}.out"
  jobspec.stderr="PYEXAMPLE.{{id}}.err"
  print(flux.job.submit(handle, jobspec))
if __name__=="__main__":
  main()

This should be run directly such as:

./flux-example.py

AltStyle によって変換されたページ (->オリジナル) /