Skip to content

library which simplifies host-GPU data transfer using userspace pagefault handling

Notifications You must be signed in to change notification settings

canonizer/libgpuvm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

About

library which simplifies host-GPU data transfer using userspace pagefault handling

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages