"ArrayFire is a blazing fast software library for GPU computing. Its easy-to-use API and array-based function set make GPU programming simple. A few lines of code in ArrayFire can replace dozens of lines of raw GPU code, saving you valuable time and lowering development costs.
ArrayFire supports both CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. We want your code to run as fast as possible, regardless of the hardware.
There is also a CPU version (named 'libafcpu') to fall back to when CUDA or OpenCL devices are not available.
Programs written using ArrayFire are portable across CUDA, OpenCL and CPU devices. The default backend is chosen in the following order of preference based on the available libraries:
The backend can be also be chosen at the beginning of the program."
- CUDA
- OpenCL
- CPU
http://arrayfire.com/
https://github.com/arrayfire/arrayfire-python
http://gpuopen.com/compute-product/arrayfire/
Real-Time Visualization of CUDA Data Using ArrayFire Forge - http://on-demand.gputechconf.com/gtc/2016/presentation/s6478-brian-kloppenborg-arrayfire-forge.pdf
Introduction to GPU Computing Using the ArrayFire Acceleration Library - http://on-demand.gputechconf.com/gtc/2015/video/S5797.html
Python Wrapper
The modules available in the Python wrapper are:
arrayfire.algorithm |
Vector algorithms (sum, min, sort, etc). |
arrayfire.arith |
Math functions (sin, sqrt, exp, etc). |
arrayfire.array |
Array class and helper functions. |
arrayfire.base |
Implementation of BaseArray class. |
arrayfire.bcast |
Function to perform broadcasting operations. |
arrayfire.blas |
BLAS functions (matmul, dot, etc) |
arrayfire.cuda |
Functions specific to CUDA backend. |
arrayfire.data |
Functions to create and manipulate arrays. |
arrayfire.device |
Functions to handle the available devices in the backend. |
arrayfire.features |
Features class used for Computer Vision algorithms. |
arrayfire.graphics |
Graphics functions (plot, image, etc). |
arrayfire.image |
Image processing functions. |
arrayfire.index |
Index and Seq classes used in indexing operations. |
arrayfire.interop |
Interop with other python packages. |
arrayfire.lapack |
Dense Linear Algebra functions (solve, inverse, etc). |
arrayfire.library |
Module containing enums and other constants. |
arrayfire.opencl |
Functions specific to OpenCL backend. |
arrayfire.random |
Random engine class and functions to generate random numbers. |
arrayfire.sparse |
Functions to create and manipulate sparse matrices. |
arrayfire.signal |
Signal processing functions (fft, convolve, etc). |
arrayfire.statistics |
Statistical algorithms (mean, var, stdev, etc). |
arrayfire.timer |
Functions to time arrayfire. |
arrayfire.util |
Utility functions to help with Array metadata. |
arrayfire.vision |
Computer vision functions (FAST, ORB, etc) |
No comments:
Post a Comment