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: see here for latest updates

Done 

  • 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)