torc 0.23.0

Workflow management system
// Simple Workflow with 100 Independent Jobs (Parameterized Version)
// This demonstrates how parameterization makes it easy to create many parallel jobs
// Compare this file to hundred_jobs_workflow.kdl - same result, 90% less code!

name "mixed_workload"
description "A workflow with mixed job workloads"

resource_requirements "short_work" {
    num_cpus 50
    num_gpus 0
    num_nodes 1
    memory "20g"
    runtime "P0DT1H"
}

resource_requirements "long_work" {
    num_cpus 10
    num_gpus 0
    num_nodes 1
    memory "50g"
    runtime "P0DT48H"
}

resource_requirements "small" {
    num_cpus 1
    num_gpus 0
    num_nodes 1
    memory "1g"
    runtime "P0DT1H"
}


job "short_job_{i:03d}" {
    command "echo hello {i}"
    resource_requirements "short_work"
    parameters {
        i "1:100"
    }
}

job "long_job_{i:03d}" {
    command "echo hello {i}"
    resource_requirements "long_work"
    parameters {
        i "1:20"
    }
}

job "postprocess" {
    command "echo postprocess"
    resource_requirements "small"
    depends_on_regexes "short_job_\\d+" "long_job_\\d+"
}