GPU Computing

GPU computing has become ubiquitous in many areas, ranging from scientific computing and machine learning to games and many more. GPUs provide a parallel processing model that makes it possible to accelerate computations significantly and to handle large datasets efficiently, leading to faster and more powerful processing capabilities. With its GPU-aware array framework, high-level functions and powerful compiler, the Wolfram Language offers state-of-the-art functionality designed to leverage the capabilities of GPUs. Immediately access and manipulate data directly on GPUs and boost productivity using high-level linear algebra, statistics and mathematical functions without sacrificing performance.

GPUArray store data in memory for GPU

Normal retrieve data from GPU

Arrays

GPUArrayQ test whether an object is a valid GPU array

ArrayQ  ▪  VectorQ  ▪  MatrixQ  ▪  ArrayDepth  ▪  Dimensions  ▪  Length  ▪  Part  ▪  First  ▪  Last  ▪  ByteCount

Linear Algebra »

Dot matrix operations

Transpose  ▪  ConjugateTranspose  ▪  Diagonal  ▪  Tr

LinearSolve solve linear systems

Inverse  ▪  PseudoInverse  ▪  SingularValueDecomposition

LeastSquares solve linear least-squares problems

Discrete Fourier Analysis »

Fourier find the discrete Fourier transform

InverseFourier find the discrete inverse Fourier transform

Random Number Generation »

SeedRandom use "GPU" method for pseudorandom number generation

RandomInteger  ▪  RandomReal  ▪  RandomComplex

Statistics »

Mean descriptive statistics

GeometricMean  ▪  Variance  ▪  Skewness  ▪  StandardDeviation  ▪  RootMeanSquare  ▪  Kurtosis

Sort order statistics

Min  ▪  Max  ▪  MinMax  ▪  Ordering

Mathematical Functions »

Plus, Times arithmetic functions

Subtract  ▪  Divide  ▪  Total  ▪  Mean  ▪  Accumulate  ▪  Differences  ▪  Ratios

Sin, Cos trigonometric functions

Tan  ▪  ArcSin  ▪  ArcCos  ▪  ArcTan

Exp, Log transcendental functions

Log2  ▪  Log10  ▪  Power  ▪  Sqrt  ▪  CubeRoot

Sinh, Cosh hyperbolic functions

Tanh  ▪  ArcSinh  ▪  ArcCosh  ▪  ArcTanh

Ceiling, Floor integer functions

Round  ▪  IntegerPart  ▪  FractionalPart

Abs, Sign absolute values and signs

RealAbs  ▪  RealSign  ▪  Re  ▪  Im  ▪  Arg  ▪  Conjugate

Visualization »

ArrayPlot, MatrixPlot plot values of an array

ListPlot data visualization

ListLinePlot  ▪  ListDensityPlot  ▪  ListContourPlot  ▪  ListLogPlot  ▪  ListPolarPlot  ▪  ParallelAxisPlot  ▪  RadialAxisPlot

Code Compilation & Generation »

FunctionCompileExport export code suitable for GPU architecture

FunctionCompile  ▪  FunctionCompileExportLibrary

GPU Programming »

CUDALink collection of low-level CUDA functions

OpenCLLink collection of low-level OpenCL functions