Huygens CMLE, QMLE and GMLE deconvolution on GPU

Increase your computing performance by using the power of the graphics processing unit (GPU). GPU accelerated Huygens deconvolution is now available in the Huygens software.

Since the 15.10 release GPU accelerated Huygens deconvolution is available for Windows and GNU/Linux (Ubuntu / Debian / Red Hat / Fedora / CentOS) and for deconvolution with all types of MLE algorithms.

As Apple does not sell new systems with NVidia CUDA cards and has stated that they will not do so, unfortunately, SVI cannot offer the GPU Options for Apple Mac systems. In cases of older Apple Mac systems including an NVidia CUDA card the required level of support and services cannot be guaranteed so it cannot be offered in those cases either.

The GPU acceleration option is available for small CUDA-enabled Nvidia graphics cards for GNU/Linux and Windows. For an overview of suitable GPU cards, please visit this page.
Note that for most mid- and high-end range GPU cards, an additional Medium or Large GPU option is required in your Huygens license.

Activating the GPU Option in your Huygens


Usage of the GPU option in a computer must be activated within the Huygens software.

Go to Edit -> Preferences
Go to tab 'General options'.
Mark the box of 'GPU acceleration'.
Press OK.

If 'GPU acceleration' box is marked GPU acceleration will be used whenever possible.
If 'GPU acceleration' box is not marked GPU acceleration will not at all be used.

You can encounter the following situations:

Computer has no GPU card. 'GPU acceleration' is greyed out.
Computer has a GPU card but the Huygens license does not include the GPU option. 'GPU acceleration' is greyed out.
Computer has a GPU card and the Huygens license does include the GPU option. 'GPU acceleration' is black and can be marked.

Installation of the GPU card or multiple GPU cards on your computer



Installation instructions for Windows:
  1. Install the NVIDIA drivers for the graphics card.
  2. Download the CUDA Network installer v 12.4 for Windows.
  3. Install CUDA using the Network installer.
  4. Install Huygens for Windows.
  5. Request a test license.
  6. Install the test license and restart Huygens.
  7. GPU acceleration is active. You can de-activate it in the Huygens preferences window. If this is not the case because the option is greyed-out, please check the GPU Checklist.

Installation instructions for Debian / Ubuntu:
  1. Download the latest CUDA Network Installer for Debian / Ubuntu.
  2. Install CUDA repository:
    sudo dpkg -i cuda-repo-ubuntuXXX_X.X-XX_amd64.deb
  3. Refresh package list:
    sudo apt-get update
  4. Install the CUDA FFT package:
    sudo apt-get install cuda
  5. Install Huygens for Linux:
    sudo dpkg -i huygens_16.10.0-p2_amd64.deb
  6. Request a test license.
  7. Install the test license and restart Huygens.
  8. GPU acceleration is active. You can de-activate it in the Huygens preferences window. If this is not the casebecause the option is greyed-out, please check the GPU Checklist.




Performing a Benchmark



To perform a benchmark on Huygens software to compare between CPU and one GPU card performance please download the following script and image:
benchGPU.tcl
mcrp.h5

This test was developed for testing one GPU card whereas Huygens can support up to 8 GPU's at the same time. So we're developing new tests to accommodate these new situations. Until then you can use the above test in the Batch-Processor or your Huygens software insofar your license accomodates the usage of 2, 4 or 8 GPU cards at the same time.

Save all the files in the same directory. Then in the Tcl Shell (Huygens Professional or Huygens Scripting) or at the Huygens Core prompt, change directory (cd) to the directory where you placed bench.tcl and the image. For example if the files are saved on the desktop of a user named "John", type in the Tcl-shell or prompt:
cd /home/john/Desktop

Then type:
source benchGPU.tcl

Depending on the speed of your computer this may take several minutes, when the test run is finished, you will see a report like the one below:
------------------------------------------------------- --- Huygens GPU benchmark results on mcrp image --- Benchmark v1.0, Huygens Compute Engine 15.05.0p1b ------------------------------------------------------- CMLE CPU: 116.20 CMLE GPU: 34.37 Speedup: 3.38



Benchmark results


To see the results of a number of cards graphically go to the General GPU page

Platform CPU RAM GPU VRAM CUDA cores CPU time GPU time Speedup
OpenSuse 42.1 Intel Xeon CPU E5-2620 v3 64GB GeForce GTX 750 Ti 2GB 640 67.28 21.82 3.08
Ubuntu 15.10 2 x Intel Xeon E5-2667 v3 1024GB GeForce GTX Titan X 12GB 3072 29.28 7.06 4.15
Ubuntu 16.04 2 x Intel Xeon E5-2667 v3 1024GB Titan X 12GB 3584 29.70 5.12 5.80
Ubuntu 16.04 2 x Intel Xeon E5-2667 v3 1024GB Tesla P100 16GB 3584 30.37 4.41 6.89
Ubuntu 16.04 2 x Intel Xeon E5-2667 v3 1024GB Quadro P5000 16GB 2560 32.20 7.92 4.07
Ubuntu 16.10 Intel Xeon E5-1650 v4 128GB GTX 1080 8 GB 2560 46.74 6.64 7.04
Windows 7 Intel Core i7-3930K 40GB Geforce GTX 980 4GB 2048 89.99 16.83 5.35
Windows 8.1 Intel Core i3-3220 6GB GeForce GTX 750 Ti 2GB 640 192.75 36.12 5.35
Ubuntu 14.04 (CUDA 7.5) Intel Core i3-3220 6GB GeForce GTX 750 Ti 2GB 640 180.28 34.09 5.29
Ubuntu 16.04 (CUDA 8) Intel Core i3-3220 6GB GeForce GTX 750 Ti 2GB 640 182.15 21.95 8.30
Ubuntu 14.10 Intel Core i7-3770 4GB GeForce GTX 750 Ti 2GB 640 116.20 34.37 3.38
Windows 8.1 Intel Core i5-4210U 8GB Geforce 840M 1GB 384 259.71 93.19 2.79
Windows 7 Intel Core i5-2500K 16GB GeForce GTX 650 1GB 384 122.97 48.55 2.53
Windows 8.1 Pro Intel Core i5-4590 8GB GeForce GTX 645 1GB 576 102.59 46.42 2.21
Windows 8.1 Intel Core i7-4700MQ 8GB GeForce GT 740M 2GB 384 162.76 97.90 1.66
Windows 8.1 Pro Intel Core i5-4670K 8GB GeForce GTX 780 Ti 3GB 2880 92.90 12.07 7.70
Ubuntu 14.10 Intel Core i5-4670K 8GB GeForce GTX 780 Ti 3GB 2880 80.35 10.17 7.90
Windows 8.1 Intel Core i5-5200U 8 GB Geforce 840M 2GB 384 210.56 95.51 2.20
Ubuntu 14.10 Intel Core i7-990X 16GB GeForce GTX Titan-X 12GB 3072 89.74 10.01 8.97
Ubuntu 16.04 Intel Core i7-990X 16GB GeForce GTX 980 4GB 2048 88.61 9.93 8.92
Windows 8.1 Intel Xeon E5-1650 64GB GeForce GTX Titan 6GB 2688 71.35 13.38 5.33
Windows 7 Intel Xeon E5-2650 ?GB Quadro K4000 3GB 768 82.43 33.32 2.47
Red Hat 6.6 Intel Xeon E5-2640 128GB Tesla K80 12GB 2496 76.27 4.78 15.96
Windows 7 Pro Intel Xeon E5-1620 8GB Quadro K600 1GB 192 130.14 103.51 1.26
Windows 7 Pro Intel Core2 Quad Q9500 12GB GeForce GTX 780 3GB 2304 201.97 18.13 11.14
Windows 8.1 Intel Core i7-4820K 32GB GeForce GTX 760 2GB 1152 83.82 25.02 3.35
Ubuntu 14.04 Intel Core i5-3570 8GB GeForce GTX 970 4GB 1664 111.00 15.93 6.97
CentOS 6.5 2 x Intel Xeon E5-2680 v2 128 GB - - - 30.17 - -
Windows 8.1 Intel Core i7-4720HQ 16GB GeForce GTX 970M 3GB 1280 90.80 21.71 4.18
Ubuntu 15.10 Intel Core i5-4590 16GB GeForce GTX 750 Ti 2GB 640 96.52 21.64 4.46
Windows 2012R2 2x Xeon 2640v3 128GB GeForce GTX 970 4GB 1664 61.03 27.85 2.19
Windows 2012R2 2x Xeon 2640v3 128GB GeForce GTX 980 Ti 6GB 2816 60.99 14.13 4.32
Windows 2012R2 2x Xeon 2640v3 128GB GeForce GTX 1080 8GB 2560 60.39 14.78 4.09
Windows 2012R2 1x Xeon 1650 128GB GeForce GTX 970 4GB 1664 55.57 24.75 2.25
Windows 2012R2 1x Xeon 1650 128GB GeForce GTX 980 Ti 6GB 2816 54.30 14.86 3.65
Windows 2012R2 1x Xeon 1650 128GB GeForce GTX 1080 8GB 2560 55.34 16.37 3.38
Windows 10 x64 2x Xeon E5v3 2630 128GB GeForce GTX 1080 8GB 2560 37.62 12.46 3.02
Windows 10 Home Intel Core i7-6700HQ 16GB Geforce GTX 1070 8GB 2048 96.34 13.72 7.02
Ubuntu 17.04 AMD Ryzen 1800X 16GB GeForce GTX 1060 6GB 1280 43.81 10.69 4.10