161 likes | 419 Views
A Neural Network Implementation on the GPU. By Sean M. O’Connell CSC 7333 Spring 2008. Introduction. Neural Network processing CPUs vs GPUs Modern GPU parallelization Applying GPU architecture to NN Exploiting parallel NN node computations Mappings to GPU. NN Implementation Details.
E N D
A Neural Network Implementation on the GPU By Sean M. O’Connell CSC 7333 Spring 2008
Introduction • Neural Network processing • CPUs vs GPUs • Modern GPU parallelization • Applying GPU architecture to NN • Exploiting parallel NN node computations • Mappings to GPU
NN Implementation Details • Each layer fully connected to next one • Step activation function • Back-propagation
GPU Architecture • Very different from CPU • Memory layout • Textures • Vertex arrays • Matrices • Devise a new GPU framework / arch.
Node Output • Node input uses previous layer’s output
Neural Network Layers • Back-propagation error data stored in ‘error’ texture
Implementation Details • OpenGL 2.0 • Pixels plotted to screen • GLSL pixel shaders • Frame Buffer Objects • Vertex Buffer Objects
Test Hardware • Intel Core Duo 2.2Ghz • 2GB DDR600 RAM • Nvidia Geforce 7900GTX 512MB
Results GPU Neural Network Training CPU Neural Network Training
Conclusion • GPU 157x FASTER for 4000 nodes • Lots of improvements can be made • GPU well suited for A.I.
Questions? References [1] Machine Learning. Tom M. Mitchell. The McGraw Hill Companies, 1997. [2] OpenGL – The Industry Standard for High Performance Graphics. http://www.opengl.org