GPU

Prof. Rocha's group has modified MOPAC so that it can use a GPU chip.  Versions of MOPAC that labeled "CPU+GPU" will detect a GPU chip automatically.  Read Requirements for GPU MOPAC before installing it.  If the GPU chip is not to be used, add keyword NOGPU.  Using a GPU chip will not accelerate jobs that use MOZYME.

 

Versions of MOPAC that can use a GPU chip are:

Versions of MOPAC that cannot take advantage of a GPU chip are:

Download new executables.

Small jobs are slowed down when a GPU chip is used, but large jobs run faster, for this reason small jobs are run with the GPU disabled.  The following two Tables gives examples of the performance that can be expected when a GPU chip is present.  These examples are simple organic systems, but the same performance can be expected when any system of a comparable size is used.  These simple organic systems could also be run using MOZYME; they were chosen here purely to illustrate the effect of using the GPU chip. The practical upper limit is about 5,000 atoms or about 15,000 orbitals on a machine with 16Gb of RAM.

Table I Timing Tests (data-sets)

Chemical name No. of Atoms Windows
Time (m)
Windows Time
 Multi-threading
Windows Time
 GPU
Windows Time
 Multi-threading & GPU
Linux
Time 
Linux Time
 Multi-threading
Linux Time
 GPU
Linux Time
 Multi-threading & GPU
Crambin 637 0.70 0.20 0.50 0.20 0.50 0.20 0.40 0.20
Pancreatic trypsin inhibitor 1455 9.80 3.10 9.50 3.30 9.80 3.10 6.00 2.10
Barnase 2066 37.30 10.50 31.50 9.50 25.30 7.50 14.20 4.30
Bacteriorhodopsin 3352 55.30 16.50 39.50 13.40 52.70 16.10 24.30 8.90
Papain 3996 143.20 42.00 111.30 35.00 139.30 40.00 67.10 21.10
Outer surface protein 4934 141.20 42.50 84.10 29.00 125.00 38.00 50.80 19.50
Increase in speed ratios No. of Atoms Windows Multi-threading GPU Multi-threading &GPU Linux Multi-threading GPU Multi-threading & GPU
Crambin 637 1.00 3.50 1.40 3.50 1.00 2.50 1.25 2.50
Pancreatic trypsin inhibitor 1455 1.00 3.16 1.03 2.97 1.00 3.16 1.63 4.67
Barnase 2066 1.00 3.55 1.18 3.93 1.00 3.37 1.78 5.88
Bacteriorhodopsin 3352 1.00 3.35 1.40 4.13 1.00 3.27 2.17 5.92
Papain 3996 1.00 3.41 1.29 4.09 1.00 3.48 2.08 6.60
Outer surface protein 4934 1.00 3.32 1.68 4.87 1.00 3.29 2.46 6.41

(Jobs run on a machine running Windows 7 Pro and Ubuntu Linux, with 16Gb of RAM, four 3.6GHz cores, each with two threads, and two Nvidia K20c GPU.  At run time, a maximum of four threads and one GPU chip were used.)

Table II Timing Tests

Chemical name Linux Time
 CPU
Linux Time  GPU with boost on
Pancreatic trypsin inhibitor 4.61 2.72
Barnase 9.76 4.83
Bacteriorhodopsin 29.37 9.54
Papain 58.18 22.58
Outer surface protein 68.48 21.71
Increase in speed ratios CPU  GPU
Pancreatic trypsin inhibitor 1.00 1.70
Barnase 1.00 2.02
Bacteriorhodopsin 1.00 3.08
Papain 1.00 2.58
Outer surface protein 1.00 3.15

(Jobs run on a Ubuntu 12.04 Linux machine with 16Gb of RAM, using four 2.00GHz cores, and an Nvidia K40 GPU.

These increases in speed are compared to MOPAC with the Math Kernel Library.  To compare with the legacy MOPAC see MKL timings. For details of how GPU acceleration is done, see:

GPU Linear Algebra Libraries and GPGPU Programming for Accelerating MOPAC Semiempirical Quantum Chemistry Calculations

Julio Daniel Carvalho Maia, Gabriel Aires Urquiza Carvalho, Carlos Peixoto Mangueira, Jr., Sidney Ramos Santana, Lucidio Anjos Formiga Cabral, and Gerd B. Rocha
Journal of Chemical Theory and Computation 2012 8 (9), 3072-3081.  DOI: 10.1021/ct3004645.