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:
MOPAC2016 for 64 bit Windows 7
MOPAC2016 for 32 bit Windows 7
MOPAC2016 for 64 bit Linux
Versions of MOPAC that cannot take advantage of a GPU chip are:
MOPAC2016 with a small run-time Window, both 32-bit and 64-bit
MOPAC2012 for 32 bit Linux
MOPAC2016 for the Macintosh
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: