home sample applications
GPU VSIPLE

GPU VSIPL is an implementation of Vector Signal Image Processing Library that targets Graphics Processing Units (GPUs) supporting NVIDIA's CUDA platform. By leveraging processors capable of 900 GFLOP/s or more, your application may achieve considerable speedup without any specialized development for GPUs. Our range-Doppler map application achieved a 75x speedup on the GPU simply by linking it with GPU VSIPL.

Distribution

GPU VSIPL is currently released as a binary-only static library with the restriction that the library not be redistributed. This should enable internal development and testing to see if GPU VSIPL meets your needs. If you wish to distribute applications developed with GPU VSIPL, please contact us to arrange a separate licensing agreement. Email gpu-vsipl@gtri.gatech.edu

For announcements on new updates to GPU VSIPL, and discussion about the software, please subscribe to the GPU VSIPL Mailing List.

Validation

All releases are verified with the VSIPL Core Lite Test Suite.

GPU VSIPL was presented to the High Performance Embedded Computing Workshop 2008. Read the GPU VSIPL extended abstract [PDF].

Download GPU VSIPL

GPU VSIPL is distributed as a binary built for the following platforms.

Download GPU VSIPL [11 August 2009]

For announcements on new updates to GPU VSIPL, and discussion about the software, please subscribe to the GPU VSIPL Mailing List.

Functionality

Vector Image Signal Processing Library is a signal processing library specified by the VSIPL Forum intended to support the development of platform-independent numerical computing applications.

GPU VSIPL is compliant with VSIPL Core Lite Profile [PDF] as well as much of VSIPL Core Profile, and also includes VSIPL functions not required in either profile.

In general, GPU VSIPL includes the following

A complete list of all 565 VSIPL functions provided in GPU VSIPL is available here. These functions are documented in the VSIPL 1.3 API specification [PDF].

GPU VSIPL implements several functions defined in VSIPL but not required for VSIPL Core Profile. They are listed here. This list also includes functions required by VSIPL Core that have not been implemented in GPU VSIPL at this time.

Usage Instructions

All platforms

Windows

  1. add gpu-vsipl/include as an Additional Include Directory
  2. #include <vsip.h> in your C or C++ source file(s)
  3. add gpu-vsipl/windows32 of gpu-vsipl/windows64 as an Additional Library Directory
  4. link your application with: gpu_vsip.lib cudart.lib cufft.lib

Linux

  1. add gpu-vsipl/include to the include path
  2. #include <vsip.h> in your C or C++ source file(s)
  3. add gpu-vsipl/linux32 or gpu-vsipl/linux64 to your library path
  4. link your application with: libgpu_vsip.a libcudart.a libcufft.a
    • e.g. for GCC: -lgpu_vsip -lm -lcufft -lcudart

Feedback

Please send us feedback about your experience with GPU VSIPL.

Send comments and questions to gpu-vsipl@gtri.gatech.edu.


Copyright 2008, 2009 Georgia Tech Research Institute

GPU VSIPL was supported in part by DARPA and AFRL under contracts FA8750-06-1-0012 and FA8650-07-C-7724.

The software is provided as is without warranty or guarantee of suitability for any purpose.