gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Gem5 DRAMSim3 integration

KA
Kazi Asifuzzaman
Mon, Jul 7, 2025 11:44 PM

Hello,

(1) What are the steps for integrating DRAMSim3 as the memory simulator to
Gem5?

We added dramsim3 repository in ext/dramsim3 and built (scons -j4
build/VEGA_X86/gem5.opt)

(2) After the integration, how do we invoke DRAMSim3 instead of the Gem5
memory model?

It executes fine when I use gem5's memory model:

build/VEGA_X86/gem5.opt configs/deprecated/example/se.py
--cmd=tests/test-progs/hello/bin/x86/linux/hello

But fails when I add the dramsim3 options:

build/VEGA_X86/gem5.opt configs/deprecated/example/se.py
--cmd=tests/test-progs/hello/bin/x86/linux/hello --mem-type=DRAMsim3
--dramsim3-ini=ext/dramsim3/DRAMsim3/configs/DDR4_8Gb_x8_3200.ini

gem5 Simulator System.  https://www.gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version DEVELOP-FOR-25.1
gem5 compiled Jul  7 2025 19:20:40
gem5 started Jul  7 2025 19:43:24
gem5 executing on milan2.ftpn.ornl.gov, pid 1965880
command line: build/VEGA_X86/gem5.opt configs/deprecated/example/se.py
--cmd=tests/test-progs/hello/bin/x86/linux/hello --mem-type=DRAMsim3

warn: The se.py script is deprecated. It will be removed in future releases
of  gem5.
AttributeError: object 'DRAMsim3' has no attribute 'controller'
(C++ object is not yet constructed, so wrapped C++ methods are
unavailable.)

At:
src/python/m5/SimObject.py(868): getattr
/home/kpa/kpa/pim-resources/gem5/configs/common/MemConfig.py(243):
config_mem
configs/deprecated/example/se.py(289): <module>
src/python/m5/main.py(682): main

Has anything changed, or am I missing any steps?

Thanks,

Kazi

Hello, (1) What are the steps for integrating DRAMSim3 as the memory simulator to Gem5? We added dramsim3 repository in ext/dramsim3 and built (scons -j4 build/VEGA_X86/gem5.opt) (2) After the integration, how do we invoke DRAMSim3 instead of the Gem5 memory model? It executes fine when I use gem5's memory model: build/VEGA_X86/gem5.opt configs/deprecated/example/se.py --cmd=tests/test-progs/hello/bin/x86/linux/hello But fails when I add the dramsim3 options: build/VEGA_X86/gem5.opt configs/deprecated/example/se.py --cmd=tests/test-progs/hello/bin/x86/linux/hello --mem-type=DRAMsim3 --dramsim3-ini=ext/dramsim3/DRAMsim3/configs/DDR4_8Gb_x8_3200.ini gem5 Simulator System. https://www.gem5.org gem5 is copyrighted software; use the --copyright option for details. gem5 version DEVELOP-FOR-25.1 gem5 compiled Jul 7 2025 19:20:40 gem5 started Jul 7 2025 19:43:24 gem5 executing on milan2.ftpn.ornl.gov, pid 1965880 command line: build/VEGA_X86/gem5.opt configs/deprecated/example/se.py --cmd=tests/test-progs/hello/bin/x86/linux/hello --mem-type=DRAMsim3 warn: The se.py script is deprecated. It will be removed in future releases of gem5. AttributeError: object 'DRAMsim3' has no attribute 'controller' (C++ object is not yet constructed, so wrapped C++ methods are unavailable.) At: src/python/m5/SimObject.py(868): __getattr__ /home/kpa/kpa/pim-resources/gem5/configs/common/MemConfig.py(243): config_mem configs/deprecated/example/se.py(289): <module> src/python/m5/main.py(682): main Has anything changed, or am I missing any steps? Thanks, *Kazi*
MS
Matt Sinclair
Tue, Jul 8, 2025 3:51 AM

Hi Kazi,

I don't know exactly how to integrate DRAMSim3, but I recommend you open an Issue on GitHub (https://github.com/gem5/gem5/issues) or just a new Pull Request about this as that is the "standard" process now for integrating in cool features like this.  Let me know if you need help doing so.

Thanks,
Matt


From: Kazi Asifuzzaman via gem5-users gem5-users@gem5.org
Sent: Monday, July 7, 2025 6:44 PM
To: gem5-users@gem5.org gem5-users@gem5.org
Cc: Kazi Asifuzzaman kazi.asifuzzaman@gmail.com
Subject: [gem5-users] Gem5 DRAMSim3 integration

Hello,

(1) What are the steps for integrating DRAMSim3 as the memory simulator to Gem5?

We added dramsim3 repository in ext/dramsim3 and built (scons -j4 build/VEGA_X86/gem5.opt)

(2) After the integration, how do we invoke DRAMSim3 instead of the Gem5 memory model?

It executes fine when I use gem5's memory model:

build/VEGA_X86/gem5.opt configs/deprecated/example/se.py --cmd=tests/test-progs/hello/bin/x86/linux/hello

But fails when I add the dramsim3 options:

build/VEGA_X86/gem5.opt configs/deprecated/example/se.py --cmd=tests/test-progs/hello/bin/x86/linux/hello --mem-type=DRAMsim3 --dramsim3-ini=ext/dramsim3/DRAMsim3/configs/DDR4_8Gb_x8_3200.ini

gem5 Simulator System.  https://www.gem5.orghttps://urldefense.com/v3/__https://www.gem5.org__;!!Mak6IKo!NaxUC46axme5XnV0jaAFXB09J8EpMu5uYGe2aafIaqOSAt9F63DxANJN6tziI7w6tENN-WQH9_Y31hyEp89dNw$
gem5 is copyrighted software; use the --copyright option for details.

gem5 version DEVELOP-FOR-25.1
gem5 compiled Jul  7 2025 19:20:40
gem5 started Jul  7 2025 19:43:24
gem5 executing on milan2.ftpn.ornl.govhttps://urldefense.com/v3/__http://milan2.ftpn.ornl.gov__;!!Mak6IKo!NaxUC46axme5XnV0jaAFXB09J8EpMu5uYGe2aafIaqOSAt9F63DxANJN6tziI7w6tENN-WQH9_Y31hxjCRpNcQ$, pid 1965880
command line: build/VEGA_X86/gem5.opt configs/deprecated/example/se.py --cmd=tests/test-progs/hello/bin/x86/linux/hello --mem-type=DRAMsim3

warn: The se.py script is deprecated. It will be removed in future releases of  gem5.
AttributeError: object 'DRAMsim3' has no attribute 'controller'
(C++ object is not yet constructed, so wrapped C++ methods are unavailable.)

At:
src/python/m5/SimObject.py(868): getattr
/home/kpa/kpa/pim-resources/gem5/configs/common/MemConfig.py(243): config_mem
configs/deprecated/example/se.py(289): <module>
src/python/m5/main.py(682): main

Has anything changed, or am I missing any steps?

Thanks,

Kazi

Hi Kazi, I don't know exactly how to integrate DRAMSim3, but I recommend you open an Issue on GitHub (https://github.com/gem5/gem5/issues) or just a new Pull Request about this as that is the "standard" process now for integrating in cool features like this. Let me know if you need help doing so. Thanks, Matt ________________________________ From: Kazi Asifuzzaman via gem5-users <gem5-users@gem5.org> Sent: Monday, July 7, 2025 6:44 PM To: gem5-users@gem5.org <gem5-users@gem5.org> Cc: Kazi Asifuzzaman <kazi.asifuzzaman@gmail.com> Subject: [gem5-users] Gem5 DRAMSim3 integration Hello, (1) What are the steps for integrating DRAMSim3 as the memory simulator to Gem5? We added dramsim3 repository in ext/dramsim3 and built (scons -j4 build/VEGA_X86/gem5.opt) (2) After the integration, how do we invoke DRAMSim3 instead of the Gem5 memory model? It executes fine when I use gem5's memory model: build/VEGA_X86/gem5.opt configs/deprecated/example/se.py --cmd=tests/test-progs/hello/bin/x86/linux/hello But fails when I add the dramsim3 options: build/VEGA_X86/gem5.opt configs/deprecated/example/se.py --cmd=tests/test-progs/hello/bin/x86/linux/hello --mem-type=DRAMsim3 --dramsim3-ini=ext/dramsim3/DRAMsim3/configs/DDR4_8Gb_x8_3200.ini gem5 Simulator System. https://www.gem5.org<https://urldefense.com/v3/__https://www.gem5.org__;!!Mak6IKo!NaxUC46axme5XnV0jaAFXB09J8EpMu5uYGe2aafIaqOSAt9F63DxANJN6tziI7w6tENN-WQH9_Y31hyEp89dNw$> gem5 is copyrighted software; use the --copyright option for details. gem5 version DEVELOP-FOR-25.1 gem5 compiled Jul 7 2025 19:20:40 gem5 started Jul 7 2025 19:43:24 gem5 executing on milan2.ftpn.ornl.gov<https://urldefense.com/v3/__http://milan2.ftpn.ornl.gov__;!!Mak6IKo!NaxUC46axme5XnV0jaAFXB09J8EpMu5uYGe2aafIaqOSAt9F63DxANJN6tziI7w6tENN-WQH9_Y31hxjCRpNcQ$>, pid 1965880 command line: build/VEGA_X86/gem5.opt configs/deprecated/example/se.py --cmd=tests/test-progs/hello/bin/x86/linux/hello --mem-type=DRAMsim3 warn: The se.py script is deprecated. It will be removed in future releases of gem5. AttributeError: object 'DRAMsim3' has no attribute 'controller' (C++ object is not yet constructed, so wrapped C++ methods are unavailable.) At: src/python/m5/SimObject.py(868): __getattr__ /home/kpa/kpa/pim-resources/gem5/configs/common/MemConfig.py(243): config_mem configs/deprecated/example/se.py(289): <module> src/python/m5/main.py(682): main Has anything changed, or am I missing any steps? Thanks, Kazi