Skip to main content

ALI Parallelism

Progress report 12/15/2021 (final)

  • Dataset made up of both generated code and extracted patterns from real code benchmarks
  • Process for DiscoPop analysis on code benchmarks researched and documented
  • Script for automated DiscoPoP benchmark analysis and detected loop extraction.
  • Script for automated DiscoPoP analysis on batches of files
  • Meta-program generates varied patterns and counter-examples
  • Sympy program specializes in generating stencil patterns


Progress report 11/18/2021

* Run discopop analyzer on Lulesh for dataset

* Write script to extract loops from Lulesh from discopop analyzer report 

* Dataset program generation with Sympy


Currently working on:

* Running discopop on other benchmarks (BOTS, NBP)

* Making Lulesh loops compilable (metaprogramming) 

* Generate C code from AST pattern 

* Generate AST trees from seed programs


Progress report 10/7/2021

Note: latest updates with more details can be found on this doc. 


  • Install: llvm (from source) & Discopop on VM
  • Read chapters 1, 2, 3.1-3.3, 3.5.2, 3.8.3, 4.1, 5.1, 7, 8.1 of textbook (Structured Parallel Programming Patterns for Efficient Computation). 
  • Create serial programs for parallelism patterns (can be found on VM)
  • Test Discopop on the serial programs (parallelism patterns), output expected pragmas 

Currently working on:

* run Discopop on Lulesh 

* write bash script to run Discopop on Benchmarks (Polybench, NAS, BOTS)

* Generate C from AST pattern 


In the future: 

  • Seed program generation (with SymPy)
  • Generate AST trees from seed programs
  • Generate C code from AST pattern (with CGen)