YARDstick is a building block for ASIP development, integrating application analysis, custom instruction generation, selection and synthesis with user-defined compiler intermediate representations.

    YARDstick components have been used along with the SUIF/Machine-SUIF, GCC, and COINS compilers and the ArchC simulation framework. The current YARDstick version (0.2.a) supports a customized SUIF/Machine-SUIF distribution (through a set of custom passes providing translation to the ISeq IR format), GCC, and work is ongoing for updating the sample architecture backend to the latest COINS version ( at the time of writing).

    YARDstick functionality is accessible through a GUI that has been developed under an experimental Tcl/Tk version (8.5a5). It relies on the Tk widgets and a few third-party ones (GRIDplus, Tile for example).

    The development platform is a GNU/Linux distribution (RedHat 9.0). Both Cygwin and Win32 (Windows/XP SP2) versions exist for the YARDstick kernel (without the GUI).

The main YARDstick screen.

Compiler/binary tools configuration.

Opcode utilization statistics.

Visualization of basic block statistics.

A custom instruction extracted from a motion compensation kernel.

Incremental speedup for identified custom instructions.

  1. A0-size poster presenting YARDstick

  2. A 2-page abstract describing YARDstick

  3. Short presentation of YARDstick

  4. A 2-page brochure on YARDstick

  5. A demo of the YARDstick kernel for Linux (> 2.4.x) or Windows (XP or Vista) is available to interested parties. The demo will be supplied under an EULA-type license. The tech demo will incorporate a few benchmark cases such as: adpcmdec (ADPCM decoder), adpcmenc (ADPCM encoder), cryptographic and image processing applications for a fixed target architecture (would be SUIF "virtual machine" or DLX).

    The full distribution of YARDstick includes:

    • all required addition tools such as target architecture toolchains
    • SALTO engine and backends
    • a build of the CDFG toolset
    • additional CDFG tools
    • set of representative benchmarks
    • Distribution of the YARDstick kernel alone.

Updated by Nikolaos Kavvadias on May 28, 2010