Sökning: id:"swepub:oai:DiVA.org:su-206351" >
Compiling Universal...
Compiling Universal Probabilistic Programming Languages with Efficient Parallel Sequential Monte Carlo Inference
-
- Lundén, Daniel, 1993- (författare)
- KTH,Programvaruteknik och datorsystem, SCS,Digital Futures, KTH Royal Institute of Technology, Stockholm, Sweden
-
- Öhman, Joey (författare)
- AI Sweden, Stockholm, Sweden,KTH Royal Institute of Technology
-
- Kudlicka, Jan (författare)
- Department of Data Science and Analytics, BI Norwegian Business School, Oslo, Norway
-
visa fler...
-
- Senderov, Viktor (författare)
- Naturhistoriska riksmuseet,Enheten för bioinformatik och genetik,Fredrik Ronquists grupp
-
- Ronquist, Fredrik, 1962- (författare)
- Naturhistoriska riksmuseet,Stockholms universitet,Zoologiska institutionen,Department of Bioinformatics and Genetics, Swedish Museum of Natural History, Stockholm, Sweden ; Department of Zoology, Stockholm University, Stockholm, Sweden,Enheten för bioinformatik och genetik,Fredrik Ronquists grupp
-
- Broman, David, 1977- (författare)
- KTH,Programvaruteknik och datorsystem, SCS,Digital Futures, KTH Royal Institute of Technology, Stockholm, Sweden
-
visa färre...
-
(creator_code:org_t)
- 2022-03-29
- 2022
- Engelska.
-
Ingår i: Programming Languages and Systems. - Cham : Springer. - 9783030993351 - 9783030993368 ; 13240, s. 29-56
- Relaterad länk:
-
https://doi.org/10.1...
-
visa fler...
-
https://library.oape...
-
https://kth.diva-por... (primary) (Raw object)
-
https://urn.kb.se/re...
-
https://doi.org/10.1...
-
https://urn.kb.se/re...
-
https://urn.kb.se/re...
-
visa färre...
Abstract
Ämnesord
Stäng
- Probabilistic programming languages (PPLs) allow users to encode arbitrary inference problems, and PPL implementations provide general-purpose automatic inference for these problems. However, constructing inference implementations that are efficient enough is challenging for many real-world problems. Often, this is due to PPLs not fully exploiting available parallelization and optimization opportunities. For example, handling probabilistic checkpoints in PPLs through continuation-passing style transformations or non-preemptive multitasking—as is done in many popular PPLs—often disallows compilation to low-level languages required for high-performance platforms such as GPUs. To solve the checkpoint problem, we introduce the concept of PPL control-flow graphs (PCFGs)—a simple and efficient approach to checkpoints in low-level languages. We use this approach to implement RootPPL: a low-level PPL built on CUDA and C++ with OpenMP, providing highly efficient and massively parallel SMC inference. We also introduce a general method of compiling universal high-level PPLs to PCFGs and illustrate its application when compiling Miking CorePPL—a high-level universal PPL—to RootPPL. The approach is the first to compile a universal PPL to GPUs with SMC inference. We evaluate RootPPL and the CorePPL compiler through a set of real-world experiments in the domains of phylogenetics and epidemiology, demonstrating up to 6 × speedups over state-of-the-art PPLs implementing SMC inference.
Ämnesord
- NATURVETENSKAP -- Data- och informationsvetenskap (hsv//swe)
- NATURAL SCIENCES -- Computer and Information Sciences (hsv//eng)
- NATURVETENSKAP -- Data- och informationsvetenskap -- Datavetenskap (hsv//swe)
- NATURAL SCIENCES -- Computer and Information Sciences -- Computer Sciences (hsv//eng)
- NATURVETENSKAP -- Matematik -- Sannolikhetsteori och statistik (hsv//swe)
- NATURAL SCIENCES -- Mathematics -- Probability Theory and Statistics (hsv//eng)
- NATURVETENSKAP -- Biologi -- Bioinformatik och systembiologi (hsv//swe)
- NATURAL SCIENCES -- Biological Sciences -- Bioinformatics and Systems Biology (hsv//eng)
Nyckelord
- Compilers
- GPU Compilation
- Probabilistic Programming Languages
- Sequential Monte Carlo
- Application programming interfaces (API)
- C++ (programming language)
- Data flow analysis
- Flow graphs
- Graphics processing unit
- Monte Carlo methods
- Automatic inference
- Control-flow graphs
- Inference problem
- Language implementations
- Low-level language
- Monte Carlo inference
- Probabilistic programming language
- Real-world problem
- Program compilers
- Datalogi
- Diversity of life
Publikations- och innehållstyp
- ref (ämneskategori)
- kon (ämneskategori)
Hitta via bibliotek
Till lärosätets databas