riscv-perf-model icon indicating copy to clipboard operation
riscv-perf-model copied to clipboard

Move Mavis forward; use Boost::json

Open klingaard opened this issue 1 month ago • 7 comments

Moved to almost the tip of Mavis. The head of Mavis requires c++23 features (@bdutro) which we might not be ready for yet.

Started to deprecate the use of nlohmann::json and moved to Boost::json. Can't remove it completely as FSL still uses it and we're pointing to a mirror (for now). Put that header in deprecated directory for now.

Also cleaned up some header file allocations to improve compile time.

klingaard avatar Oct 17 '25 21:10 klingaard

Mavis should compile cleanly with C++20 unless you're using a Clang version older than 16 (this branch has a preliminary fix for that: https://github.com/sparcians/mavis/tree/dev/bdutro/clang-15-std-views-fix).

bdutro avatar Oct 17 '25 21:10 bdutro

I think you need to bump the minimum Boost version to 1.78.

bdutro avatar Oct 17 '25 21:10 bdutro

@bdutro I moved mavis to the latest for Olympia on my local box and get this compile issue with gcc v13.

/home/knutel/play/riscv-perf-model/mavis/mavis/ExtensionManager.hpp: In member function 'auto mavis::extension_manager::ExtensionMap::getFilteredView_(bool) const':
/home/knutel/play/riscv-perf-model/mavis/mavis/ExtensionManager.hpp:543:25: error: 'std::views' has not been declared
  543 |             return std::views::filter(enabled_extensions_, [include_meta](const auto & ext_pair)

klingaard avatar Oct 18 '25 23:10 klingaard

@klingaard you need to change this line to enable C++20 support: https://github.com/riscv-software-src/riscv-perf-model/pull/280/files#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20aR2

bdutro avatar Oct 20 '25 14:10 bdutro

I think you need to bump the minimum Boost version to 1.78.

Thanks, @bdutro for giving some guidance here! After attending RVI 2025 this year, I heard a few complaints about olympia's conda requirements. I've decided to remove that constraint now that we have some stability on Ubuntu distro solutions in GitHub CI.

Will be pushing a new PR that tears this down. :crossed_fingers:

klingaard avatar Oct 25 '25 17:10 klingaard

Trying an experiment -- I rebased this branch onto #281 to see if I can get it pass

klingaard avatar Oct 25 '25 21:10 klingaard

@arupc @arupc-vmicro please approve

klingaard avatar Nov 12 '25 16:11 klingaard