Supervisor: Georg Hager (University of Erlangen-Nuremberg, RRZE)
Abstract: In order to construct an accurate instruction execution model for modern out-of-order micro architectures, an accurate description of instruction latency, throughput and concurrency is indispensable. Already existing resources and vendor provided information is neither complete nor detailed enough and sometimes incorrect. We therefore proclaim to deduct this information through runtime instruction benchmarking and present a framework to support such investigations based on LLVM's just-in-time and cross-platform compilation capabilities.
pyasmjit abstracts instructions, operands, and dependency chains, to easily construct the necessary benchmarks. The synthesized code is interactively compiled and executed using the llvmlite library, which in turn is based on the stable LLVM C-API. pyasmjit offers a command line as well as a programming interface. Unlike other approaches, we do not rely on model specific performance counters and focus on interoperability and automation to support quick modeling of future microarchitectures.
ACM-SRC Semi-Finalist: no
Poster Summary: pdf
Reproducibility Description Appendix: PDF
Back to Poster Archive Listing