Quick & Flexible Computer Architecture Simulation

State-of-the-art modeling tools for the computer architecture community.
The QFlex project targets quick, accurate, and flexible simulation of multi-node computer systems.

About QFlex

Computer systems hardware and software designers have traditionally relied on fast emulation and full-system simulation to instrument a design of interest, develop and debug system software, model new hardware components and measure design metrics of interest. Post-Moore platforms in recent years have not only seen a proliferation of accelerators but also the need for system hardware/software co-design to help integrate heterogeneity into the system stack. Effective integration requires open-source tools that enable fast instrumentation of application and system software, full-system models for network and storage controllers, and models of multi-node computer systems. Full-system server instrumentation and modeling requires several orders of magnitude in speed to enable practical turnaround. QFlex is a family of full-system instrumentation tools based on QEMU which currently supports the ARM ISA including a trace-based model to quickly instrument existing QEMU images, timing models to simulate multi-core CPUs in detail and an FPGA-accelerated mode which enables high-performing instrumented code. 
For documents, papers and citations related to QFlex, please check this page.

News Blog

QFlex v2.0 Released (March 20th, 2020)

QFlex is an instrumentation framework with tools for various use cases. We support trace-based simulation to quickly instrument existing QEMU images, timing models to simulate multi-core CPU microarchitectures in detail and an FPGA-accelerated mode which enables high-performing instrumented code. You can download QFlex from our GitHub repo. As QFlex is a work in progress, we encourage users to use GitHub issues actively.

QFlex v1.0 Released (April 1st, 2017)

QFlex enables full-system microarchitectural simulation of multicores running unmodified applications and is based on QEMU. We currently support 64-bit ARM binaries in trace mode. In this first release, we also make a full CloudSuite workload image available for those who want to get a head start. More workload images will follow soon. You can download QFlex from our GitHub repo. As QFlex is a work in progress, we encourage users to use GitHub issues actively.

We encourage QFlex users to subscribe to our GitHub repository and use GitHub issues to request enhancements or
bug fixes, or ask questions.

 
EcoCloud
Parsa
EPFL