Presentation
OoO Instruction Benchmarking Framework on the Back of Dragons
Author
Event Type
ACM Student Research Competition
Poster
TP
EX
TimeTuesday, November 13th8:30am - 5pm
LocationC2/3/4 Ballroom
DescriptionIn 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.
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.
Archive