Department of Computer Science, UNC Chapel Hill

GPUSort: Download Version 1.0

 

A user name and password is required to download the distribution. We ask that you fill out a request form to identify yourself and indicate your interest in GPUSORT. The request form will automatically direct you to our source package once you fill in the details and submit the request.

This release contains documentation, the source code for the GPUSORT library, and an example program. GPUSORT can be compiled on the Win32/Linux platforms and requires a programmable NVIDIA graphics card. Visual Studio .NET solution files for use on windows platform are included.

GPUSORT is free for noncommercial use only. Click here for the terms of this distribution.

Click on a version link and fill the request form to download the distribution.

Version History

Version 1.0: GPUSort1.0

Requires a programmable NVIDIA Graphics Card (NVIDIA GeForceFX series, GeForce 6 series, and GeForce 7 series), latest NVIDIA drivers (7772 or higher), and GLUT libraries .

Note: We will support ATI GPUs in future releases. The current NVIDIA linux drivers (7664) are not fully optimized and have some performance overhead. Performance will also vary with the GPU used, and for reasonable performance, we recommend a PC with AGP8X or PCI-Express NVIDIA GeForce 6800 GT or faster cards. Our future releases will also include stencil optimizations for better performance. Performance is also higher for 16-bit floats in comparison to 32-bit floats.

Version 2.0: GPUSort2.0

Uses better memory representations and cache optimizations to achieve higher performance ~ 1.5x faster than version 1.0 on most cards. For 7900GTX GPU, use a TILE_SIZE of 128 in GPUSort.cpp. This version only performs key-pointer sorts. Requires a programmable NVIDIA Graphics Card (NVIDIA GeForce 6 series, and GeForce 7 series), latest NVIDIA drivers (7772 or higher), and GLUT libraries .

Bug History:
Alexander Gress indicated that the following two initialization lines in the init function (GPUSort.cpp) are missing in the latest version (GPUSort2.0)
glGenTextures(1, &textureid[2]);
glGenTextures(1, &textureid[3]);
This issue is fixed on Oct 26, 2006.




Author: Naga K. Govindaraju

Maintained by: naga@cs.unc.edu

Copyright 2005

Last Modification: June 22, 2005


©2003 Department of Computer Science, UNC Chapel Hilll