Probabilistic Computing on FPGA using OpenCL

The aggressive scale down in process technology, to increase its performance and reduce its power, has led to nano-devices with increased variation and limited resilience, exhibiting a stochastic behavior, inspired by biochemical cell signaling. We plan to take advantage of the uncertainty exhibited by new devices, and emulate its behavior on an FPGA.

Moreover, we plan to create a stochastic accelerator, using Bayesian gates, and integrate it in an embedded system as means to improve the efficiency of a DSP application (performance / power). Bayesian gates operate on probability distributions on binary variables as the building blocks of our probabilistic algebra. These Bayesian gates can be seen as a generalization of logical operators in Boolean algebra.

Recently, OpenCL has emerged as a framework to create, emulate and implement designs on FPGAs, opposed to traditional RTL design.

In this research project you will investigate the design of a stochastic accelerator using OpenCL, and integrate it on a computational system as means to improve the performance of computational intensive algorithms over traditional deterministic implementations


Work Plan

The following tasks are planned for this topic: T1 requirement assessment, decision on the approach and familiarization with the OpenCL tool flow; T2 design of the stochastic accelerator; T3 integration of the stochastic accelerator in the computational system; T4 experimental validation of solution; T5 writing the final dissertation. The end result is a dissertation and an implementation of the stochastic accelerator using OpenCL.



Supervisor::Prof. Jorge Lobo (DEEC-FCTUC)

Co-supervisor::Dr. Rui Duarte (ISR Coimbra)


This work is within the scope of the BAMBI European FET Project (FET Project - FP7-ICT-2013-C). The project takes a bottom-up approaches to building machines dedicated to Bayesian inference. Within the BAMBI consortium, ISRUC is working on the emulation hardware implementation and on the computational architecture to be developed, namely in the composition of basic building blocks for probabilistic computation. http://mrl.isr.uc.pt/projects/bambi/



- P. Bessière, J-M. Ahuactzin, K. Mekhnacha, and E. Mazer, Bayesian Programming, Chapman and Hall/CRC, 213.

- A. Alaghi and J. P. Hayes, “Survey on Stochastic Computing,” ACM, January 2013.

- Altera's OpenCL - http://www.altera.com/products/software/opencl/opencl-index.html


The work will be carried out at the Institute of Systems and Robotics, ISR, in a lab fully equipped for FPGA prototyping and artificial perception. For more details, please contact jlobo@isr.uc.pt and visit http://ap.isr.uc.pt.