library which simplifies host-GPU data transfer using userspace pagefault handling
C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
samples
src
.gitignore
doxygen
makefile
makefile.def
readme

readme

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)