Hi folks,

I'm kinda new to Gem5.


I'm trying to see the impact of the hardware threads number on a single-core 
x86 system performance.


So I'm trying to use DerivO3CPU with smtNumFetchingThreads > 1 (1 is the 
default value).


While the default value works fine, I'm getting weird errors when I set 
smtNumFetchingThreads=2:


gem5.opt: build/X86/cpu/o3/fetch_impl.hh:683: void 
DefaultFetch<Impl>::finishTranslation(const Fault&, const RequestPtr&) [with 
Impl = O3CPUImpl; Fault = std::shared_ptr<FaultBase>; RequestPtr = 
std::shared_ptr<Request>]: Assertion `!finishTranslationEvent.scheduled()' 
failed.


I think it is somehow related to the X86 ISA because on line 683 of 
fetch_impl.hh there is this comment:

// Don't send an instruction to decode if we can't handle it.


I tried both the default configuration script se.py and a simple config script 
I wrote myself:


uild/X86/gem5.opt configs/example/se.py -c 
tests/test-progs/threads/bin/x86/linux/threads --cpu-type=DerivO3CPU 
--param="system.cpu[0].smtNumFetchingThreads=2" --caches


build/X86/gem5.opt configs/smt/simple_smt.py


With the DerivO3CPU instantiate like that:

system.cpu = DerivO3CPU(smtNumFetchingThreads=2)


Also, it failed on the same error when I tried single-threaded programs I 
compiled myself, but worked just fine on the original hello 
(tests/test_prog/hello/bin/x86/linux/hello) shipped with Gem5.


Can someone help me?


I appreciate any help you can provide.

Manor Zvi.
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to