Hasty Briefsbeta

Bilingual

Pydrofoil: Accelerating Sail-based instruction set simulators

a year ago
  • #instruction-set-simulator
  • #performance-optimization
  • #compiler
  • Pydrofoil is a multi-stage compiler that generates instruction set simulators (ISSs) from processor instruction set architectures (ISAs) specified in Sail.
  • It achieves a >230x speedup over the C-based ISS generated by Sail on benchmarks.
  • Pydrofoil combines an ahead-of-time (AOT) compiler with a tracing just-in-time (JIT) compiler built on the PyPy framework.
  • It employs domain-specific optimizations tailored for ISS workloads, which are dominated by bit manipulation operations.
  • The hybrid approach of AOT and JIT compilation provides greater performance gains than using either alone.