Wiki

Clone wiki

via / Home

VIA: Virtualized Intermediate Analyzer

VIA is a toolchain for parallelization-related profiling and modeling.

The final aim is to facilitate "Profiling Guided Parallelization", which is to 1) analyze IR at runtime, 2) print statistics in IR and 3) conduct auto-parallelization with profiling information. With the execution information, we hope to build a system to help compilers "understanding" the code.

VIA is the first step doing profiling tasks.

Inside VIA, runtime information is organized in a data/control flow graph, which is the IR of the analyzer.

VIA also provides: 1) monitor interfaces for customized organization of runtime models, 2) modeling interfaces for specific analysis, and 3) user interfaces for execution control.

VIA is designed to be adaptable to various languages. Currently we have done with a LLVM toolchain, and investigation is being carried on for Python, Java, and Go.

Open source may be hopefully released in mid of 2019, depending on related publications.

Please email xz352(at)cam.ac.uk for more details or alpha testing.

Updated