AME_gem5 is an open-source simulation and validation environment built upon the gem5 system-level simulator, specifically designed to provide comprehensive support for the Attached Matrix Extension (AME) instruction set. It is our expectation that this gem5 simulator will provide support for AME functional verification, performance modeling, and analysis. We actively encourage contributions from the broader community to collaboratively develop and refine this simulator, and thereby advance the optimization and architectural design of the AME extension.
- AME Ztt v0.6 Instruction type supported
- Resource Management
- Datatype Management
- Elementwise Arithmetic
- Bitwise
- Compare and Predication
- Permutation
- Register move / data conversion
- Elementwise Math Functions
- Memory
- State Management
- Matrix Multiply
- Reduction
See the community release of spec Ztt v0.6 for details.
- A C++ compiler, Python 3, SCons, and the other gem5 dependencies. See the gem5 build documentation.
- A RISC-V GNU toolchain with binutils and libgcc.a.
- An LLVM-based RISC-V toolchain with AME Ztt v0.6 support.
In the AME_gem5 root directory:
scons build/RISCV/gem5.opt -j$(nproc)Then, install the toolchain:
./scripts/build_toolchain.shBuild and test an operator example:
make -C example gemm_fp32Build and test all operators:
make -C example testOn Ubuntu 24.04.3 LTS, instruction, operator, and function-level tests pass.
New AME_gem5 code is distributed under the BSD three-clause license in
LICENSE. The original gem5 code and its existing per-file
copyrights remain covered by COPYING and the notices in each file.
Third-party components retain their own LICENSE, COPYING, or NOTICE
terms.
