Static Analysis for GPU Program Performance
Thesis Presentation (link)
GPUDrano: analyses to debug performance issues in GPU programs like bad memory contention, and proving independence from block-size tuning.
https://github.com/upenn-acg/gpudrano-static-analysis_v1.0
Loopy: a source level program transformation for loops, with verification of correctness before application in the backend.
https://github.com/nimit-singhania/loopy
Mosaic: a tool to learn piece-wise affine functions from input-output data.
https://github.com/nimit-singhania/mosaic-cpp
Automating Test Automation (ICSE 2012) (pdf)
Loopy: Programmable and Formally Verified Loop Transformations (pdf)
Alternate and Learn: Finding Witnesses without looking all over (pdf)
GPU Drano: Detecting Uncoalesced Accesses in GPU Programs (pdf)
Precise Piecewise Affine Models from Input-Output data (pdf)
Efficiently Scripting Change Resilient Scripts (pdf)
Block-size independence of GPU programs(pdf)
Static Detection of Uncoalesced Accesses in GPU Programs (pdf)
Hedging Bets in Markov Decision Processes (pdf)
A series of write-ups on programming as understood by layman. In the current era of computing, every person needs to be aware of how computing works and how simple techniques from computing can make life easier (without relying on an actual computing device like mobile or laptop).