Gem5 — стандарт индустрии open-source архитектурного симулирования, однако его штатные модели рассчитаны на академические исследования и не обеспечивают точности, необходимой при разработке коммерческого процессора.
В докладе я расскажу об опыте адаптации gem5 в качестве performance-модели для индустриального RISC-V CPU: как превратить симулятор «for research» в инструмент разработки кремния.
Рассмотрим основные проблемы, с которыми сталкивается разработка перфсимулятора: как достичь потактовой точности? Трейдоф между точностью, скоростью симуляции и скоростью разработки. Представим подходы, разработанные в нашей команде для решения этих проблем: реализация точных моделей участков пайплайна и интеграция в open-source gem5; система region-of-interest для «быстрого пролёта» неинтересных участков и детального симулирования ключевых алгоритмов; трассировка инструкций в формате Kanata для отладки out-of-order конвейера; автоматизированная оценка точности модели на основе HPM счётчиков. Приведём примеры конкретных успешных (и не очень) решений по sw-hw co-design.
Для всех
Средний
Ранее занимался наукой (численное моделирование) и 11 лет — R&D в HPC (Intel, Nvidia): разрабатывал софтверный стек суперкомпьютеров (MPI, UCX, NCCL) и SmartNIC co-design. С 2022 года в YADRO руководит разработкой cycle-approximate симулятора RISC-V CPU/SoC. Вместе с RTL-командой улучшает производительность и находит баги в железе.