By Topic

A multi-FPGA architecture for stochastic Restricted Boltzmann Machines

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$33 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

2 Author(s)
Daniel L. Ly ; Department of Electrical and Computer Engineering, University of Toronto, ON, Canada, M5S 3G4 ; Paul Chow

Although there are many neural network FPGA architectures, there is no framework for designing large, high-performance neural networks suitable for the real world. In this paper, we present two concepts to support a multi-FPGA architecture for stochastic restricted Boltzmann machines (RBM), a popular type of neural network. First, a hardware core, called the kth stage piecewise linear interpolator, is used to implement a high-precision, pipelined function generator. The interpolator increases the resolution of a look up table implementation, guaranteeing an additional bit of precision for every pipeline stage. This function generator is used to implement a sigmoid function required in stochastic node selection. Next, a partitioning algorithm is used to efficiently divide a RBM amongst multiple FPGAs. The partitioning algorithm optimizes performance by minimizing the inter-FPGA communication. The architecture is tested on the Berkeley Emulation Engine 2 running at 100 MHz. One board supports a RBM of 256 times 256 nodes, and results in a computational speed of 1.85 billion connection-updatesper- second and a speed-up of 85-fold over an optimized C program running on a 2.8 GHz Intel processor.

Published in:

2009 International Conference on Field Programmable Logic and Applications

Date of Conference:

Aug. 31 2009-Sept. 2 2009