---
title: LSF
description: Reference for the lsf executor, which submits tasks to a Platform LSF cluster.
---

# LSF

The `lsf` executor runs pipeline tasks using a [Platform LSF](http://en.wikipedia.org/wiki/Platform_LSF) cluster. It submits each task as an LSF job using the `bsub` command.

To enable the LSF executor, set `process.executor = 'lsf'` in the `nextflow.config` file. Launch the pipeline from a node where `bsub` is available, typically the cluster login node.

Use the following process directives to control resource requests and other job characteristics:

- [clusterOptions][process-clusteroptions]
- [cpus][process-cpus]
- [memory][process-memory]
- [queue][process-queue]
- [time][process-time]

LSF supports both *per-core* and *per-job* memory limits. Nextflow assumes the *per-core* mode and divides the requested [memory][process-memory] by the number of requested [cpus][process-cpus]. When LSF runs in *per-job* mode, set the `executor.perJobMemLimit` config option. See the [Platform LSF documentation](https://www.ibm.com/support/knowledgecenter/SSETD4_9.1.3/lsf_config_ref/lsf.conf.lsb_job_memlimit.5.dita) for more information.

[process-clusteroptions]: ../reference/process#clusteroptions
[process-cpus]: ../reference/process#cpus
[process-memory]: ../reference/process#memory
[process-queue]: ../reference/process#queue
[process-time]: ../reference/process#time
