libgpuvm
libgpuvm copied to clipboard
library which simplifies host-GPU data transfer using userspace pagefault handling
DESCRIPTION
libgpuvm simplifies data transfer between host and a GPU using userspace pagefault handling (or simply, SIGSEGV catching). It is primarily intended for integrating GPU support into languages, although it may also be used as a standalone library. It is based on OpenCL and UNIX syscalls, and currently supports OpenCL-capable devices.
PREREQUISITES
- OpenCL implementation (libOpenCL) - Apple, NVidia or AMD will do
- CUDA - only if compiling with CUDA support (disabled by default)
- Linux or Mac OS X 10.6+
- pthreads
BUILDING & INSTALLATION
Set build options in makefile. Options include:
PREFIX - prefix used for installation, default /usr
ENABLE_OPENCL - enable OpenCL support, default y, i.e. enabled
ENABLE_CUDA - enable CUDA support, default n, i.e. disabled
CUDA_INSTALL_PATH - path to CUDA installation, used only if CUDA is enabled,
default /usr/local/cuda
Compiling and installation:
make && sudo make install ldconfig (Linux only) (sudo required only when installing system-wide)
make doc (for building documentation, requires doxygen)
USAGE
see accompanying documentation (doc/ directory and below) and also samples (samples/ and below)