AcMC 2

Accelerated Markov Chain Monte Carlo for Probabilistic Models

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Probabilistic models (PMs) are ubiquitously used across a variety of machine learning applications. They have been shown to successfully integrate structural prior information about data and effectively quantify uncertainty to enable the development of more powerful, interpretable, and efficient learning algorithms. This paper presents AcMC 2 , a compiler that transforms PMs into optimized hardware accelerators (for use in FPGAs or ASICs) that utilize Markov chain Monte Carlo methods to infer and query a distribution of posterior samples from the model. The compiler analyzes statistical dependencies in the PM to drive several optimizations to maximally exploit the parallelism and data locality available in the problem. We demonstrate the use of AcMC 2 to implement several learning and inference tasks on a Xilinx Virtex-7 FPGA. AcMC 2 -generated accelerators provide a 47 - 100× improvement in runtime performance over a 6-core IBM Power8 CPU and a 8 - 18× improvement over an NVIDIA K80 GPU. This corresponds to a 753 - 1600× improvement over the CPU and 248 - 463× over the GPU in performance-per-watt terms.

Original languageEnglish (US)
Title of host publicationASPLOS 2019 - 24th International Conference on Architectural Support for Programming Languages and Operating Systems
PublisherAssociation for Computing Machinery
Pages515-528
Number of pages14
ISBN (Electronic)9781450362405
DOIs
StatePublished - Apr 4 2019
Event24th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2019 - Providence, United States
Duration: Apr 13 2019Apr 17 2019

Publication series

NameInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

Conference

Conference24th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2019
CountryUnited States
CityProvidence
Period4/13/194/17/19

Fingerprint

Markov processes
Particle accelerators
Program processors
Field programmable gate arrays (FPGA)
Application specific integrated circuits
Learning algorithms
Learning systems
Monte Carlo methods
Hardware
Statistical Models
Graphics processing unit
Uncertainty

Keywords

  • Accelerator
  • Markov Chain Monte Carlo
  • Probabilistic Graphical Models
  • Probabilistic Programming

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Cite this

Banerjee, S. S., Kalbarczyk, Z. T., & Iyer, R. K. (2019). AcMC 2: Accelerated Markov Chain Monte Carlo for Probabilistic Models. In ASPLOS 2019 - 24th International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 515-528). (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS). Association for Computing Machinery. https://doi.org/10.1145/3297858.3304019

AcMC 2 : Accelerated Markov Chain Monte Carlo for Probabilistic Models. / Banerjee, Subho S.; Kalbarczyk, Zbigniew T; Iyer, Ravishankar K.

ASPLOS 2019 - 24th International Conference on Architectural Support for Programming Languages and Operating Systems. Association for Computing Machinery, 2019. p. 515-528 (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Banerjee, SS, Kalbarczyk, ZT & Iyer, RK 2019, AcMC 2: Accelerated Markov Chain Monte Carlo for Probabilistic Models. in ASPLOS 2019 - 24th International Conference on Architectural Support for Programming Languages and Operating Systems. International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS, Association for Computing Machinery, pp. 515-528, 24th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2019, Providence, United States, 4/13/19. https://doi.org/10.1145/3297858.3304019
Banerjee SS, Kalbarczyk ZT, Iyer RK. AcMC 2: Accelerated Markov Chain Monte Carlo for Probabilistic Models. In ASPLOS 2019 - 24th International Conference on Architectural Support for Programming Languages and Operating Systems. Association for Computing Machinery. 2019. p. 515-528. (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS). https://doi.org/10.1145/3297858.3304019
Banerjee, Subho S. ; Kalbarczyk, Zbigniew T ; Iyer, Ravishankar K. / AcMC 2 : Accelerated Markov Chain Monte Carlo for Probabilistic Models. ASPLOS 2019 - 24th International Conference on Architectural Support for Programming Languages and Operating Systems. Association for Computing Machinery, 2019. pp. 515-528 (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS).
@inproceedings{a7854d275c29409b9a7e746dd80891ac,
title = "AcMC 2: Accelerated Markov Chain Monte Carlo for Probabilistic Models",
abstract = "Probabilistic models (PMs) are ubiquitously used across a variety of machine learning applications. They have been shown to successfully integrate structural prior information about data and effectively quantify uncertainty to enable the development of more powerful, interpretable, and efficient learning algorithms. This paper presents AcMC 2 , a compiler that transforms PMs into optimized hardware accelerators (for use in FPGAs or ASICs) that utilize Markov chain Monte Carlo methods to infer and query a distribution of posterior samples from the model. The compiler analyzes statistical dependencies in the PM to drive several optimizations to maximally exploit the parallelism and data locality available in the problem. We demonstrate the use of AcMC 2 to implement several learning and inference tasks on a Xilinx Virtex-7 FPGA. AcMC 2 -generated accelerators provide a 47 - 100× improvement in runtime performance over a 6-core IBM Power8 CPU and a 8 - 18× improvement over an NVIDIA K80 GPU. This corresponds to a 753 - 1600× improvement over the CPU and 248 - 463× over the GPU in performance-per-watt terms.",
keywords = "Accelerator, Markov Chain Monte Carlo, Probabilistic Graphical Models, Probabilistic Programming",
author = "Banerjee, {Subho S.} and Kalbarczyk, {Zbigniew T} and Iyer, {Ravishankar K}",
year = "2019",
month = "4",
day = "4",
doi = "10.1145/3297858.3304019",
language = "English (US)",
series = "International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS",
publisher = "Association for Computing Machinery",
pages = "515--528",
booktitle = "ASPLOS 2019 - 24th International Conference on Architectural Support for Programming Languages and Operating Systems",

}

TY - GEN

T1 - AcMC 2

T2 - Accelerated Markov Chain Monte Carlo for Probabilistic Models

AU - Banerjee, Subho S.

AU - Kalbarczyk, Zbigniew T

AU - Iyer, Ravishankar K

PY - 2019/4/4

Y1 - 2019/4/4

N2 - Probabilistic models (PMs) are ubiquitously used across a variety of machine learning applications. They have been shown to successfully integrate structural prior information about data and effectively quantify uncertainty to enable the development of more powerful, interpretable, and efficient learning algorithms. This paper presents AcMC 2 , a compiler that transforms PMs into optimized hardware accelerators (for use in FPGAs or ASICs) that utilize Markov chain Monte Carlo methods to infer and query a distribution of posterior samples from the model. The compiler analyzes statistical dependencies in the PM to drive several optimizations to maximally exploit the parallelism and data locality available in the problem. We demonstrate the use of AcMC 2 to implement several learning and inference tasks on a Xilinx Virtex-7 FPGA. AcMC 2 -generated accelerators provide a 47 - 100× improvement in runtime performance over a 6-core IBM Power8 CPU and a 8 - 18× improvement over an NVIDIA K80 GPU. This corresponds to a 753 - 1600× improvement over the CPU and 248 - 463× over the GPU in performance-per-watt terms.

AB - Probabilistic models (PMs) are ubiquitously used across a variety of machine learning applications. They have been shown to successfully integrate structural prior information about data and effectively quantify uncertainty to enable the development of more powerful, interpretable, and efficient learning algorithms. This paper presents AcMC 2 , a compiler that transforms PMs into optimized hardware accelerators (for use in FPGAs or ASICs) that utilize Markov chain Monte Carlo methods to infer and query a distribution of posterior samples from the model. The compiler analyzes statistical dependencies in the PM to drive several optimizations to maximally exploit the parallelism and data locality available in the problem. We demonstrate the use of AcMC 2 to implement several learning and inference tasks on a Xilinx Virtex-7 FPGA. AcMC 2 -generated accelerators provide a 47 - 100× improvement in runtime performance over a 6-core IBM Power8 CPU and a 8 - 18× improvement over an NVIDIA K80 GPU. This corresponds to a 753 - 1600× improvement over the CPU and 248 - 463× over the GPU in performance-per-watt terms.

KW - Accelerator

KW - Markov Chain Monte Carlo

KW - Probabilistic Graphical Models

KW - Probabilistic Programming

UR - http://www.scopus.com/inward/record.url?scp=85064637402&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85064637402&partnerID=8YFLogxK

U2 - 10.1145/3297858.3304019

DO - 10.1145/3297858.3304019

M3 - Conference contribution

T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

SP - 515

EP - 528

BT - ASPLOS 2019 - 24th International Conference on Architectural Support for Programming Languages and Operating Systems

PB - Association for Computing Machinery

ER -