Related Links

Overview

GPULib provides a library of mathematical functions that facilitate the use of high performance computing resources available on modern graphics processing units (GPUs) by engineers, scientists, analysts, and other technical professionals. Many users of numerical analysis are programmers out of necessity, rather than choice. They would prefer to focus in the domains of expertise, but must do some amount of software development to get their job done. Further, the complexities of high performance computing make additional demands on their time, giving them less hours to devote in their domains of expertise.

GPULib, from Tech-X Corporation, allows these users to access high performance computing with minimal modification to their existing programs. By providing bindings for a number of Very High Level Languages (VHLLs) including Python, MATLAB, and IDL from ITT Visual Information Solutions, GPULib can accelerate new applications or be incorporated into existing applications with minimal effort. No knowledge of GPU programming and memory management is required.

For the latest news about GPULib, visit our development blog at

http://gpulib.blogspot.com/

Questions, comments, success stories, and feature requests are also welcome on the GPULib blog.

Download

If you would like to examine GPULib yourself, you can obtain the software from the GPULib download page.

Note that for this technology demonstration, not all functionality is available for all language bindings at this time. Bindings are being continiously improved at development continues.

Powerful

In implementations of common mathematical operations such as addition, subtraction, multiplication, and division, as well as unary functions, including sin(), cos(), gamma(), and exp(), you will see five-fold, or even forty-fold, speedup. GPULib also supports more complex operations including interpolation, array reshaping, array slicing, and reduction operations, among others.

Easy To Use

Users are not burdened with having to learn the complexities of programming for GPUs. By simply including function calls in their analytical applications, or replacing function calls in existing applications, users will unleash the performance of GPU computing without needing to learn a new programming paradigm. Documentation for the GPULib API is available.

Flexible

GPULib has bindings for common analysis languages and environments, including Python, MATLAB, and IDL from ITT Visual Information Solutions. These accelerated functions fit easily into your existing analytical toolset.

Example: Image Registration

Mapping array from one coordinate system to another is a task often encountered in image processing. A key step in this task is to interpolate the original image to a new set of coordinates.

One example is to transform the bar image (below left) into a swirled-up image (below right).

Using GPULib in conjunction with IDL, this operation was performed on a 2048 x 2048 image more than 30 times more quickly than by using IDL alone on a 2.1 GHz Intel Core Duo. The entire application was written in IDL.

Accelerate Your Applications

GPULib provides accelerated mathematical computations in applications areas such as structural and fluid mechanics, earth sciences, biosciences, medical/diagnostic imaging, and financial engineering.

Commodity high performance computing will result in an incredible increase in productivity in technical computing. By lowering or removing the barriers to leveraging these tools in commonly used analysis application, users can focus their domain expertise on solving the problems at hand. Accelerate your discovery process with GPULib from Tech-X Corporation.

About Tech-X Corporation

Tech-X Corporation of Boulder, Colorado is an entrepreneurial and dynamic enterprise committed to scientific and technical excellence and innovation. We provide technical solutions through collaboration and product development and are dedicated to advances in science and engineering.

References