GPUML - Graphical Processing Units for Machine Learning

 

(11/11/2009) Currently working on Linux version for GPUML and Windows version for KernelMat.

 

Welcome to the GPUML library home page. GPUML is a library that provides a C/C++ and MATLAB interface for speeding up the computation of the kernel summation on GPU. The algorithm used to implement the library is as below. Additionally, a library for kernel matrix decomposition (QR & Cholesky) is also provided.

 

Algorithm to evaluate kernel sums on GPUs:

 

Data: Source points xi; i=1,..,N, evaluation points yj; j=1,..,M
Each thread evaluates the sum corresponding to one evaluation point:
Step 1: Load evaluation point corresponding to the current thread in to a local register.
Step 2: Load the first chunk of source data to the shared memory.
Step 3: Evaluate part of kernel sum corresponding to source data in the shared memory.
Step 4: Store the result in a local register.
Step 5: If all the source points have not been processed yet, load the next chunk, go to Step 3.
Step 6: Write the sum in the local register to the global memory.

Related Publications:

 

Srinivasan BV, Duraiswami R, "Scaling kernel machine learning algorithm via the use of GPUs", GPU Technology Conference, NVIDIA Research Summit, 2009 [poster]

 
Authors:
 
The library was written by Balaji Vasan Srinivasan, under the supervision of Prof. Ramani Duraiswami.
 
License:
 
This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; version 2.1 or later. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 
 
Download:
 
Click here to download the current version(v2). Click here to download the precompiled binaries for Windows.

Click here to download a special library for kernel matrix decompositions (QR and Cholesky), developed along with GPUML.

For v1, click here.

 

Site Meter