Grid Engine

Funnel can be configured to submit workers to Grid Engine by making calls to qsub.

The Funnel server needs to run on a submission node. Configure Funnel to use Grid Engine by including the following config:

It is recommended to update the submit file template so that the funnel worker run command takes a config file as an argument (e.g. funnel worker run --config /opt/funnel_config.yml --taskID {{.TaskId}})

Compute: gridengine

GridEngine:
    Template: |

#!/bin/bash #$ -N {{.TaskId}} #$ -o {{.WorkDir}}/funnel-stdout #$ -e {{.WorkDir}}/funnel-stderr {{if ne .Cpus 0 -}} {{printf "#$ -pe mpi %d" .Cpus}} {{- end}} {{if ne .RamGb 0.0 -}} {{printf "#$ -l h_vmem=%.0fG" .RamGb}} {{- end}} {{if ne .DiskGb 0.0 -}} {{printf "#$ -l h_fsize=%.0fG" .DiskGb}} {{- end}} funnel worker run --taskID {{.TaskId}}

The following variables are available for use in the template:

Variable Description
TaskId funnel task id
WorkDir funnel working directory
Cpus requested cpu cores
RamGb requested ram
DiskGb requested free disk space
Zone requested zone (could be used for queue name)

See https://golang.org/pkg/text/template for information on creating templates.