ArrayFire Pro - Workstation Licenses

(Single Nodes with 2 or more GPUs, licensed per GPU)

ArrayFire Pro workstation licenses enable code to run on 2 or more GPUs in a single computer. There are two modes of operation, as follows:

  • Simultaneous GPU Sessions:  Run multiple applications simultaneously, with each session offloading computations to an assigned GPU. Each application is assigned a unique GPU.

  • Multi-GPU Sessions:  Run one application on multiple GPUs simultaneously. ArrayFire utilizes all licensed GPU resources.

Executing code, such as FOR-loops or monte carlo simulations, with ArrayFire Pro can dramatically accelerate time to solution on workstations and personal supercomputers.

ArrayFire Pro - Cluster Licenses

(Multiple Nodes in a GPU Cluster, licensed per GPU)

ArrayFire Pro cluster licenses enable applications to run on 8 or more GPUs in a cluster, server, or cloud configuration. CPU clusters may be upgraded through the installation of GPUs, significantly increasing the cluster's computational capability without investing in new development for specialized GPU code.

Executing large scale codes with ArrayFire Pro on GPU clusters can dramatically accelerate time to solution while minimizing the programming time associated with leveraging these resources.


Example Multi-GPU Usage

The following code example shows how simple it is to use multiple GPUs, through the device function.

No messy stream synchronization or potential for race conditions. Simple, fast, and effective scaling to large GPU resources.

array *y = new array[n];
for (int i = 0; i < n; ++i) {
   device(i);              // change GPUs
   array x = randu(5,5);
   y[i] = fft(x);

// all GPUs are now simultaneously
// computing, until done

ArrayFire Pro