Useful Links

Tutorials and Guides

Getting started with CUDA programming
CUDA VS2005 Template
Using the template
CUDA programming intro
CUDA Programming Course Homepage (Slides, Syllabus, mp3s)
NVIDIA GPU Programming Guide
GPU Gems

CUDA Performance Related

CUDA optimization, in particular parallel sum reduction
Program Optimization Study on a 128-Core GPU
General CUDA performance (also specifies float precision and IEEE compliance)

GPGPU Application Papers

Database joins
Accelerating F# Meta-programming
CUDA Compatible GPU as an efficient hardware accelerator for AES cryptography
A performance study of general-purpose applications on graphics processors
Mars: A MapReduce Framework on Graphics Processors

Topics Where GPGPU Might Also Be Applied

CoreCalc - Spreadsheet programming

Existing Libraries and Other Code Resources

CUDPP: CUDA Parallel Primitives Library
ACES: Advanced CUDA Encryption Standard (AES implementation - in development)
GPUlib
CUDA.NET
GPU++ - An Embedded GPU Development System for General-Purpose Computations (C++)
Brahma - LINQ to shader language

Implementation Details

Increasing performance by using constants (forum question)

There are a large number of technologies which are more or less related to the subject. They include old and new technologies and APIs for using GPUs for computation. The subjects are accompanied by external links and, where available, links to a more thorough analysis of the technology elsewhere on this wiki.

Ati's CTM (Close to Metal)
http://en.wikipedia.org/wiki/Close_to_Metal
Replaced by AMD Stream SDK (also see CAL)

Apple's OpenCL (Open Compute Language)
http://en.wikipedia.org/wiki/OpenCL

NVIDIA's CUDA (Compute Unified Device Architecture)
http://en.wikipedia.org/wiki/CUDA

Microsoft's Accelerator
http://channel9.msdn.com/wiki/accelerator/homepage/

Brook+
http://ati.amd.com/technology/streamcomputing/AMD-Brookplus.pdf

Sh (A meta-programming language for GPUs)
http://libsh.org/

C$ (C bucks) programming language
http://www.codeplex.com/cbucks

RapidMind platform
http://www.rapidmind.net/

FireStream
http://en.wikipedia.org/wiki/AMD_FireStream

Intel's Ct
http://techresearch.intel.com/articles/Tera-Scale/1514.htm

In the future:

Intel's Larrabee processor
http://en.wikipedia.org/wiki/Intel_Larrabee

DirectX 11
http://www.shacknews.com/onearticle.x/53810
http://www.hol.dk/nyheder.aspx?nid=9950
http://www.tomshardware.co.uk/opengl-directx,review-31330.html

Tim Sweeney: OpenGL and DirectX soon obsolete
http://arstechnica.com/articles/paedia/gpu-sweeney-interview.ars/1

Libraries:

BrookGPU, a GPGPU library from Stanford University for the C programming language
http://en.wikipedia.org/wiki/BrookGPU

Lib Sh, a GPGPU library for C++
http://en.wikipedia.org/wiki/Lib_Sh

.NET Parallel Computing Extensions
http://msdn.microsoft.com/en-us/concurrency/default.aspx
http://www.hanselman.com

Concepts of interest:

Stream programming
http://en.wikipedia.org/wiki/Stream_programming

Terms to check out:

SPMD, or single program multiple data.
http://en.wikipedia.org/wiki/SPMD

Articles of interest:

Radeon 4870 review and architecture overview
http://www.anandtech.com/video/showdoc.aspx?i=3341&p=1

CUDA overview and introduction
http://www.tomshardware.com/reviews/nvidia-cuda-gpu,1954.html

OpenGL 3 vs DirectX11
http://www.tomshardware.co.uk/opengl-directx,review-31330.html

Differences between AES and Rijndael
http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf

page_revision: 0, last_edited: 1234174520|%e %b %Y, %H:%M %Z (%O ago)
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License