Skip to content

Latest commit

 

History

History
49 lines (29 loc) · 1.64 KB

README.md

File metadata and controls

49 lines (29 loc) · 1.64 KB

ArrayFire Go Bindings

This project is still in the prototype phase. Please follow the discussion on this issue. You can also chat with us at the following locations:

Join the chat at https://gitter.im/arrayfire/arrayfire-go

Building arrayfire-go

Install ArrayFire libraries

Ensure you have the ArrayFire library installed on your system.

You can get the ArrayFire library from one of the following ways:

Set Environment variables

Point AF_PATH to the installed location of ArrayFire.

$ export AF_PATH=/path/to/arrayfire

If using the CUDA backend, you will need to include path to nvvm

$ export NVVM_LIB_PATH=/path/to/cuda/nvvm/lib64 # use nvvm/lib for OSX or 32 bit systems

Point GOPATH to the location of arrayfire-go

Export LD_LIBRARY_PATH on Linux and DYLD_LIBRARY_PATH on OSX to point to

  • AF_PATH/lib
  • NVVM_LIB_PATH if using CUDA backend.

Building with arrayfire libraries

For ArrayFire 3.2 and above:

$ export CGO_CFLAGS="-I$AF_PATH/include"
$ export CGO_LDFLAGS="-L$AF_PATH/lib -laf -lforge"
$ go build

For older versions replace -laf with either -lafcuda, -lafopencl or -lafcpu

Contribute

If you want to contribute to this project, start here: