Ramulator 2.0 is a modern, modular, extensible, and fast cycle-accurate DRAM simulator. It provides support for agile implementation and evaluation of new memory system designs (e.g., new DRAM standards, emerging RowHammer mitigation techniques). Described in our paper https://people.inf.ethz.ch/omutlu/pub/Ramulator2_arxiv23.pdf
Hi, I am trying to install the software as described in the README. But I run into the error below when running make -j:
/Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR4-VRR.cpp:453:51: note: in instantiation of template type alias 'PreqFunc_t' requested here
m_preqs.resize(m_levels.size(), std::vector<PreqFunc_t<Node>>(m_commands.size()));
^
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/plugin/para.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/impl/LPDDR5.cpp:1:
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/dram.h:11:
/Users/rajathsalegame/rds/ramulator2/src/dram/node.h:219:1: warning: ISO C++ specifies that qualified reference to 'Node' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
using RowhitFunc_t = std::function<bool(typename T::Node* node, int cmd, int target_id, Clk_t clk)>;
^
/Users/rajathsalegame/rds/ramulator2/src/dram/impl/LPDDR5.cpp:510:54: note: in instantiation of template type alias 'RowhitFunc_t' requested here
m_rowopens.resize(m_levels.size(), std::vector<RowhitFunc_t<Node>>(m_commands.size()));
^
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/impl/HBM3.cpp:1:
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/dram.h:11:
/Users/rajathsalegame/rds/ramulator2/src/dram/node.h:217:1: warning: ISO C++ specifies that qualified reference to 'Node' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
using PreqFunc_t = std::function<int (typename T::Node* node, int cmd, int target_id, Clk_t clk)>;
^
/Users/rajathsalegame/rds/ramulator2/src/dram/impl/HBM3.cpp:386:51: note: in instantiation of template type alias 'PreqFunc_t' requested here
m_preqs.resize(m_levels.size(), std::vector<PreqFunc_t<Node>>(m_commands.size()));
^
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR5.cpp:1:
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/dram.h:11:
/Users/rajathsalegame/rds/ramulator2/src/dram/node.h:217:1: warning: ISO C++ specifies that qualified reference to 'Node' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
using PreqFunc_t = std::function<int (typename T::Node* node, int cmd, int target_id, Clk_t clk)>;
^
/Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR5.cpp:474:51: note: in instantiation of template type alias 'PreqFunc_t' requested here
m_preqs.resize(m_levels.size(), std::vector<PreqFunc_t<Node>>(m_commands.size()));
^
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR4-VRR.cpp:1:
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/dram.h:11:
/Users/rajathsalegame/rds/ramulator2/src/dram/node.h:219:1: warning: ISO C++ specifies that qualified reference to 'Node' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
using RowhitFunc_t = std::function<bool(typename T::Node* node, int cmd, int target_id, Clk_t clk)>;
^
/Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR4-VRR.cpp:466:53: note: in instantiation of template type alias 'RowhitFunc_t' requested here
m_rowhits.resize(m_levels.size(), std::vector<RowhitFunc_t<Node>>(m_commands.size()));
^
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/impl/HBM3.cpp:1:
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/dram.h:11:
/Users/rajathsalegame/rds/ramulator2/src/dram/node.h:219:1: warning: ISO C++ specifies that qualified reference to 'Node' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
using RowhitFunc_t = std::function<bool(typename T::Node* node, int cmd, int target_id, Clk_t clk)>;
^
/Users/rajathsalegame/rds/ramulator2/src/dram/impl/HBM3.cpp:398:53: note: in instantiation of template type alias 'RowhitFunc_t' requested here
m_rowhits.resize(m_levels.size(), std::vector<RowhitFunc_t<Node>>(m_commands.size()));
^
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/impl/HBM3.cpp:1:
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/dram.h:11:
/Users/rajathsalegame/rds/ramulator2/src/dram/node.h:219:1: warning: ISO C++ specifies that qualified reference to 'Node' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
using RowhitFunc_t = std::function<bool(typename T::Node* node, int cmd, int target_id, Clk_t clk)>;
^
/Users/rajathsalegame/rds/ramulator2/src/dram/impl/HBM3.cpp:406:54: note: in instantiation of template type alias 'RowhitFunc_t' requested here
m_rowopens.resize(m_levels.size(), std::vector<RowhitFunc_t<Node>>(m_commands.size()));
^
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR5.cpp:1:
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/dram.h:11:
/Users/rajathsalegame/rds/ramulator2/src/dram/node.h:219:1: warning: ISO C++ specifies that qualified reference to 'Node' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
using RowhitFunc_t = std::function<bool(typename T::Node* node, int cmd, int target_id, Clk_t clk)>;
^
/Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR5.cpp:492:53: note: in instantiation of template type alias 'RowhitFunc_t' requested here
m_rowhits.resize(m_levels.size(), std::vector<RowhitFunc_t<Node>>(m_commands.size()));
^
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR4-VRR.cpp:1:
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/dram.h:11:
/Users/rajathsalegame/rds/ramulator2/src/dram/node.h:219:1: warning: ISO C++ specifies that qualified reference to 'Node' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
using RowhitFunc_t = std::function<bool(typename T::Node* node, int cmd, int target_id, Clk_t clk)>;
^
/Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR4-VRR.cpp:474:54: note: in instantiation of template type alias 'RowhitFunc_t' requested here
m_rowopens.resize(m_levels.size(), std::vector<RowhitFunc_t<Node>>(m_commands.size()));
^
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR5.cpp:1:
In file included from /Users/rajathsalegame/rds/ramulator2/src/dram/dram.h:11:
/Users/rajathsalegame/rds/ramulator2/src/dram/node.h:219:1: warning: ISO C++ specifies that qualified reference to 'Node' is a constructor name rather than a type in this context, despite preceding 'typename' keyword [-Winjected-class-name]
using RowhitFunc_t = std::function<bool(typename T::Node* node, int cmd, int target_id, Clk_t clk)>;
^
/Users/rajathsalegame/rds/ramulator2/src/dram/impl/DDR5.cpp:500:54: note: in instantiation of template type alias 'RowhitFunc_t' requested here
m_rowopens.resize(m_levels.size(), std::vector<RowhitFunc_t<Node>>(m_commands.size()));
^
1 error generated.
make[2]: *** [src/memory_system/CMakeFiles/ramulator-memorysystem.dir/impl/dummy_memory_system.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
1 error generated.
make[2]: *** [src/memory_system/CMakeFiles/ramulator-memorysystem.dir/impl/generic_DRAM_system.cpp.o] Error 1
[ 96%] Linking CXX static library libspdlog.a
[ 96%] Built target spdlog
1 error generated.
make[2]: *** [src/test/CMakeFiles/ramulator-test.dir/test_impl.cpp.o] Error 1
make[1]: *** [src/test/CMakeFiles/ramulator-test.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
1 error generated.
make[2]: *** [src/translation/CMakeFiles/ramulator-translation.dir/impl/no_translation.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
1 error generated.
make[2]: *** [src/frontend/CMakeFiles/ramulator-frontend.dir/impl/memory_trace/loadstore_trace.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
1 error generated.
make[2]: *** [src/base/CMakeFiles/ramulator-base.dir/factory.cpp.o] Error 1
1 warning and 1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/refresh/all_bank_refresh.cpp.o] Error 1
1 error generated.
make[2]: *** [src/frontend/CMakeFiles/ramulator-frontend.dir/impl/memory_trace/readwrite_trace.cpp.o] Error 1
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/scheduler/generic_scheduler.cpp.o] Error 1
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/scheduler/blocking_scheduler.cpp.o] Error 1
1 error generated.
make[2]: *** [src/frontend/CMakeFiles/ramulator-frontend.dir/impl/external_wrapper/gem5_frontend.cpp.o] Error 1
1 error generated.
make[2]: *** [src/frontend/CMakeFiles/ramulator-frontend.dir/impl/processor/simpleO3/core.cpp.o] Error 1
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/dummy_controller.cpp.o] Error 1
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/scheduler/bh_scheduler.cpp.o] Error 1
1 error generated.
1 error generated.
make[2]: *** [src/addr_mapper/CMakeFiles/ramulator-addrmapper.dir/impl/linear_mappers.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/generic_dram_controller.cpp.o] Error 1
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/plugin/trace_recorder.cpp.o] Error 1
1 error generated.
make[2]: *** [src/memory_system/CMakeFiles/ramulator-memorysystem.dir/impl/bh_DRAM_system.cpp.o] Error 1
make[1]: *** [src/memory_system/CMakeFiles/ramulator-memorysystem.dir/all] Error 2
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/plugin/twice.cpp.o] Error 1
1 error generated.
1 error generated.
1 error generated.
1 warning and 1 error generated.
1 error generated.
make[2]: *** [src/frontend/CMakeFiles/ramulator-frontend.dir/impl/processor/simpleO3/llc.cpp.o] Error 1
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/plugin/graphene.cpp.o] Error 1
make[2]: *** [src/frontend/CMakeFiles/ramulator-frontend.dir/impl/processor/bhO3/bhcore.cpp.o] Error 1
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/plugin/blockhammer/blockhammer.cpp.o] Error 1
1 error generated.
1 error generated.
make[2]: *** [src/addr_mapper/CMakeFiles/ramulator-addrmapper.dir/impl/rit.cpp.o] Error 1
1 error generated.
make[1]: *** [src/addr_mapper/CMakeFiles/ramulator-addrmapper.dir/all] Error 2
make[2]: *** [src/translation/CMakeFiles/ramulator-translation.dir/impl/random_translation.cpp.o] Error 1
make[2]: *** [src/frontend/CMakeFiles/ramulator-frontend.dir/impl/processor/bhO3/bhllc.cpp.o] Error 1
make[1]: *** [src/translation/CMakeFiles/ramulator-translation.dir/all] Error 2
make[2]: *** [src/frontend/CMakeFiles/ramulator-frontend.dir/impl/processor/simpleO3/simpleO3.cpp.o] Error 1
make[1]: *** [src/frontend/CMakeFiles/ramulator-frontend.dir/all] Error 2
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/plugin/oracle_rh.cpp.o] Error 1
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/plugin/cmd_counter.cpp.o] Error 1
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/plugin/rrs.cpp.o] Error 1
1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/plugin/hydra.cpp.o] Error 1
1 error generated.
make[2]: *** [src/base/CMakeFiles/ramulator-base.dir/config.cpp.o] Error 1
1 warning and 1 error generated.
make[2]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/impl/bh_dram_controller.cpp.o] Error 1
make[1]: *** [src/dram_controller/CMakeFiles/ramulator-controller.dir/all] Error 2
make[1]: *** [src/base/CMakeFiles/ramulator-base.dir/all] Error 2
8 warnings and 1 error generated.
8 warnings and 1 error generated.
make[2]: *** [src/dram/CMakeFiles/ramulator-dram.dir/impl/HBM2.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/dram/CMakeFiles/ramulator-dram.dir/impl/DDR5.cpp.o] Error 1
8 warnings and 1 error generated.
make[2]: *** [src/dram/CMakeFiles/ramulator-dram.dir/impl/DDR4-VRR.cpp.o] Error 1
8 warnings and 1 error generated.
make[2]: *** [src/dram/CMakeFiles/ramulator-dram.dir/impl/DDR4.cpp.o] Error 1
8 warnings and 1 error generated.
8 warnings and 1 error generated.
make[2]: *** [src/dram/CMakeFiles/ramulator-dram.dir/impl/HBM.cpp.o] Error 1
make[2]: *** [src/dram/CMakeFiles/ramulator-dram.dir/impl/DDR3.cpp.o] Error 1
8 warnings and 1 error generated.
make[2]: *** [src/dram/CMakeFiles/ramulator-dram.dir/impl/HBM3.cpp.o] Error 1
8 warnings and 1 error generated.
make[2]: *** [src/dram/CMakeFiles/ramulator-dram.dir/impl/LPDDR5.cpp.o] Error 1
make[1]: *** [src/dram/CMakeFiles/ramulator-dram.dir/all] Error 2
make: *** [all] Error 2
Hi, I am trying to install the software as described in the
README
. But I run into the error below when runningmake -j
: