SlugLab/CXLMemSim
FreeCXLMemSim: Practical Performance Simulation and Characterization of CXL 3.0 Memory Systems
About SlugLab/CXLMemSim
CXLMemSim is an open-source software framework for studying CXL (Compute Express Link) memory systems without requiring complete CXL hardware. It provides a CXL memory latency, bandwidth, topology, and coherency simulator, as well as a QEMU-integrated CXL emulation stack for Type 3 memory devices, distributed memory pooling, and experimental Type 2 accelerator/GPU support. The framework enables full-system experiments where guest software interacts with a realistic CXL device interface while the host side records and controls protocol-level behavior such as latency, routing, coherency state, directory pressure, and memory placement. It includes integration with QEMU, gem5, and a CUDA shim library for Type 2 GPU experiments.
Key Features
Pros & Cons
- Open source and free to use
- Enables research and development without costly CXL hardware
- Supports both Type 3 (memory) and Type 2 (accelerator) CXL device models
- Full-system simulation with realistic device interface and protocol behavior
- Integrates with widely used tools like QEMU and gem5
- Active development with community contributions (231 commits, 58 forks, 1.1k stars)
- Simulation accuracy is limited compared to real hardware measurements
- Requires setting up QEMU and potentially gem5, which can be complex
- Type 2 GPU support is experimental and may require additional configuration
- Documentation may be sparse for advanced use cases