GPU-Omega

GPU-Omega refers to the CUDA-enabled GPU implementation of Omega TK. GPU-Omega takes advantage of a GPU during torsion driving for accelerated conformer generation. To make use of GPU-Omega conformer generation please follow the guidelines below.

Attention

GPU-Omega is not available in the C# version of the toolkit.

Usage

  • GPU-Omega accelerates the torsion driving component of conformer generation in Omega TK and is available through the OEOmega and OETorDriver classes.

  • For all torsion driving sampling modes except dense modes, if a GPU is detected at runtime, torsion driving will be carried out on the GPU by default. To turn this feature off use OETorDriveOptions.SetUseGPU.

    The following code shows how to turn off GPU-omega prior to conformer generation using sparse mode:

  • GPU-Omega uses the default OEMMFFSheffieldFFType.MMFF94Smod_NOESTAT forcefield. If attempting to use an alternative forcefield conformer generation will fall back to the CPU. As a result of this, GPU-Omega is not compatible with default settings of OEOmegaSampling.Dense sampling mode. To take advantage of a GPU with dense sampling mode set OETorDriveOptions.SetForceField to OEMMFFSheffieldFFType.MMFF94Smod_NOESTAT.

  • The OEOmegaIsGPUReady utility function is provided for detecting available GPUs on a system.

    The following code demonstrates how to query the system for an available GPU and then set the force field to default in order to use the GPU for dense mode conformer generation:

  • GPU-Omega does not support the distance geometry method of torsion driving and therefore is incompatible with OEMacrocycleOmega.

Warning

To use GPU-Omega with child processes a new OEOmega object must be created per child. If attempting to use the same instance of an OEOmega object in child processes, conformer generation will fall back to the CPU.