Defining ncpus: processors, cores, or threads

About this task

A cluster administrator must define how ncpus is computed. Usually, the number of available job slots is equal to the value of ncpus; however, slots can be redefined at the EGO resource group level. The ncpus definition is globally applied across the cluster.

Procedure

  1. Open lsf.conf or ego.conf.
    • UNIX and Linux:

      LSF_CONFDIR/lsf.conf

      LSF_CONFDIR/ego/cluster_name/kernel/ego.conf

    • Windows:

      LSF_CONFDIR\lsf.conf

      LSF_CONFDIR\ego\cluster_name\kernel\ego.conf

    Important: You can set EGO_DEFINE_NCPUS in ego.conf only if EGO is enabled in the LSF cluster. If EGO is not enabled, you must set EGO_DEFINE_NCPUS in lsf.conf.
  2. Define the parameter EGO_DEFINE_NCPUS=[procs | cores | threads].
    Set it to one of the following:
    • procs (where ncpus=procs)
    • cores (where ncpus=procs * cores)
    • threads (where ncpus=procs * cores * threads)

    By default, ncpus is set to cores (number of cores).

    Note: In clusters with older LIMs that do not recognize cores and threads, EGO_DEFINE_NCPUS is ignored. In clusters where only the management host LIM recognizes cores and threads, the management host LIM assigns default values (for example, in LSF 6.2: 1 core, 1 thread).
  3. Save and close lsf.conf or ego.conf.

Results

Tip: As a best practice, set EGO_DEFINE_NCPUS instead of EGO_ENABLE_DUALCORE. The functionality of EGO_ENABLE_DUALCORE=y is preserved by setting EGO_DEFINE_NCPUS=cores.

Interaction with LSF_LOCAL_RESOURCES in lsf.conf

If EGO is enabled, and EGO_LOCAL_RESOURCES is set in ego.conf and LSF_LOCAL_RESOURCES is set in lsf.conf, EGO_LOCAL_RESOURCES takes precedence.