ArrayFire binary installation instructions

- Main Page
- Tutorials
- Functions
- Release Notes
- Examples

ArrayFire binary installation instructions

Installing ArrayFire couldn't be easier. We ship installers for Windows, OSX, and Linux. Although you could build ArrayFire from source, we suggest using our pre-compiled binaries as they include the Intel Math Kernel Library to accelerate linear algebra functions.

Please note that although our download page requires a valid login, registration is free and downloading ArrayFire is also free. We request your contact information so that we may notify you of software updates and occasionally collect user feedback about our library.

In general, the installation process for ArrayFire looks like this:

1. Install prerequisites
2. Download the ArrayFire installer for your operating system
3. Install ArrayFire
4. Test the installation
5. Where to go for help?

Below you will find instructions for

- Windows
- Linux including
  - Debian 8
  - Ubuntu 14.04 and later
  - RedHat, Fedora, and CentOS
- Mac OSX (.sh and brew)

# Windows

If you wish to use CUDA or OpenCL please ensure that you have also installed support for these technologies from your video card vendor's website.

Next download and run the ArrayFire installer. After it has completed, you need to add ArrayFire to the path for all users.

1. Open Advanced System Settings:
   - Windows 8: Move the Mouse pointer to the bottom right corner of the screen, Right click, choose System. Then click "Advanced System Settings"
   - Windows 7: Open the Start Menu and Right Click on "Computer". Then choose Properties and click "Advanced System Settings"
2. In Advanced System Settings window, click on Advanced tab
3. Click on Environment Variables, then under System Variables, find PATH, and click on it.
4. In edit mode, append AF_PATH%/lib. NOTE: Ensure that there is a semi-colon separating AF_PATH%/lib from any existing content (e.g. EXISTING_PATHS;AF_PATH%/lib;) otherwise other software may not function correctly.

Finally, verify that the path addition worked correctly. You can do this by:

1. Open Visual Studio 2013. Open the HelloWorld solution which is located at `AF_PATH%/examples/helloworld/helloworld.exe`.
2. Build and run the helloworld example. Be sure to, select the platform/configuration of your choice using the platform drop-down (the options are CPU, CUDA, and OpenCL) and Solution Configuration drop down (options of Release and Debug) menus. Run the helloworld example

# Linux

## Debian 8

First install the prerequisite packages:

    # Prerequisite packages:
    apt-get install libfreeimage-dev libatlas3gf-base libfftw3-dev libglew-dev libglewmx-dev libglfw3-dev cmake

    # Enable GPU support (OpenCL):
    apt-get install ocl-icd-libopencl1

If you wish to use CUDA, please download the latest version of CUDA and install it on your system.

Next download ArrayFire. After you have the file, run the installer.

    ./arrayfire_*_Linux_x86_64.sh --exclude-subdir --prefix=/usr/local

## RedHat, Fedora, and CentOS

First install the prerequisite packages:

    # Install prerequiste packages
    yum install freeimage atlas fftw libGLEW libGLEWmx glfw cmake

On Centos and Redhat the `glfw` package is outdated and you will need to compile it from source. Please these instructions.

If you wish to use CUDA, please download the latest version of CUDA and install it on your system.

Next download ArrayFire. After you have the file, run the installer.

    ./arrayfire_*_Linux_x86_64.sh --exclude-subdir --prefix=/usr/local

## Ubuntu 14.04 and later

First install the prerequisite packages:

    # Prerequisite packages:
    sudo apt-get install libfreeimage-dev libatlas3gf-base libfftw3-dev cmake

Ubuntu 14.04 will not have the libglfw3-dev package in its repositories. You can either build the library from source (following the instructions listed) or install the library from a PPA as follows:

1 sudo apt-add repository ppa:keithw/glfw3
2 sudo apt-get update
3 sudo apt-get install glfw3

After this point, the installation should proceed identically to Ubuntu 14.10 or newer.

If your system has a CUDA GPU, we suggest downloading the latest drivers from NVIDIA in the form of a Debian package and installing using the package manager. At present, CUDA downloads can be found on the NVIDIA CUDA download page Follow NVIDIA's instructions for getting CUDA set up.

If you wish to use OpenCL, simply install the OpenCL ICD loader along with any drivers required for your hardware.

    # Enable GPU support (OpenCL):
    apt-get install ocl-icd-libopencl1

### Special instructions for Tegra K1

If you are using ArrayFire on the Tegra K1 also install these packages:

    sudo apt-get install libatlas3gf-base libatlas-dev libfftw3-dev liblapacke-dev

In addition to these packages, you will need to compile GLFW3 from source using the instructions above.

Finally, download ArrayFire. After you have the file, run the installer using:

    ./arrayfire_*_Linux_x86_64.sh --exclude-subdir --prefix=/usr/local

# Mac OSX

On OSX there are several dependencies that are not integrated into the operating system. The ArrayFire installer automatically satisfies these dependencies using Homebrew. If you don't have Homebrew installed on your system, the ArrayFire installer will ask you do to so.

Simply download the ArrayFire installer and double-click it to carry out the installation.

ArrayFire can also be installed through Homebrew directly using `brew install arrayfire`; however, it will not include MKL acceleration of linear algebra functions.

## Testing installation

After ArrayFire is installed, you can build the example programs as follows:

    cp -r /usr/local/share/doc/arrayfire/examples .
    cd examples
    mkdir build
    cd build
    cmake ..
    make

## Getting help

- Google Groups: https://groups.google.com/forum/#!forum/arrayfire-users
- ArrayFire Services: Consulting | Support | Training
- ArrayFire Blogs: http://arrayfire.com/blog/
- Email: techn.nosp@m.ical.nosp@m.@arra.nosp@m.yfir.nosp@m.e.com