Dear Mahmood, You are trying to simulate a quad-core system where each core consists of four hardware threads. This is because you have set the variable "-fag:threads" to "4".
Please note that each SIMICS cpu is a hardware thread. Your workload has only four hardware threads (i.e., 4 simics CPUs). As such with the current workload you can simulate a system that supports only four hardware threads (e.g., either a system with 4 single-thread cores). In order to simulate a quad-core 4-way multithreaded system, you need a workload with 16 hardware threads. Please change the variable as follows flexus.set "-fag:threads" "1" In case you changed other parameters, please also make sure that you are simulating single-threaded cores. flexus.set "-ufetch:threads" "1" # "Number of threads under control of this uFetch" (Threads) flexus.set "-fag:threads" "1" # "Number of threads under control of this FAG" (Threads) flexus.set "-decoder:multithread" "0" # "Enable multi-threaded execution" (Multithread) flexus.set "-uarch:multithread" "0" # "Enable multi-threaded execution" (Multithread) flexus.set "-L1d:cores" "1" # "Number of threads (cores)" (Cores) flexus.set "-L1i:mt_width" "1" # "Number of threads sharing this cache" (MTWidth) flexus.set "-L1d:mt_width" "1" # "Number of threads sharing this cache" (MTWidth) Regards, -Stavros. ________________________________________ From: Mahmood Naderan [[email protected]] Sent: Tuesday, April 19, 2011 10:21 AM To: simflex Subject: segmentation fault in CMP.L2SharedNUCA.OoO Hi there, After running a successful trace with CMP.L2Shared.Trace, now I get segmentation fault at the beginning of CMP.L2SharedNUCA.OoO 34 <ComponentManager.cpp:95> {0}- Initalizing components... 35 <ComponentManager.cpp:99> {0}- Initalizing sys-white-box 36 <ComponentManager.cpp:99> {0}- Initalizing 00-fag 37 <mai_api.cpp:274> {0}- Searching 4 cpus. 38 <mai_api.cpp:278> {0}- Processor 0: cpu0 - CPU 0 39 <mai_api.cpp:297> {0}- Found CPU: '' - 0 40 <mai_api.cpp:278> {0}- Processor 1: cpu1 - CPU 1 41 <mai_api.cpp:297> {0}- Found CPU: '' - 1 42 <mai_api.cpp:278> {0}- Processor 2: cpu2 - CPU 2 43 <mai_api.cpp:297> {0}- Found CPU: '' - 2 44 <mai_api.cpp:278> {0}- Processor 3: cpu3 - CPU 3 45 <mai_api.cpp:297> {0}- Found CPU: '' - 3 46 <mai_api.cpp:314> {0}- Found 4 Flexus CPUs and 0 Client CPUs in 0 VMs 47 <mai_api.cpp:353> {0}- VMS per row = 1, CPVM = 4, NVMR = 2, NumRow = 2 48 <mai_api.cpp:380> {0}- theProcMap[0] = (0, 0) (abs_index = 0) 49 <mai_api.cpp:380> {0}- theProcMap[1] = (1, 0) (abs_index = 1) 50 <mai_api.cpp:380> {0}- theProcMap[2] = (2, 0) (abs_index = 2) 51 <mai_api.cpp:380> {0}- theProcMap[3] = (3, 0) (abs_index = 3) 52 <mai_api.cpp:385> {0}- Finished creating Processor Mapper. 53 <FetchAddressGenerateImpl.cpp:93> {0}- Thread[0.0] connected to cpu0 Initial PC: v:0ff293010 54 <FetchAddressGenerateImpl.cpp:93> {0}- Thread[0.1] connected to cpu1 Initial PC: v:0ff2f7e8c 55 <FetchAddressGenerateImpl.cpp:93> {0}- Thread[0.2] connected to cpu2 Initial PC: v:0ff0bebf8 56 <FetchAddressGenerateImpl.cpp:93> {0}- Thread[0.3] connected to cpu3 Initial PC: v:000011408 57 <ComponentManager.cpp:99> {0}- Initalizing 01-fag (gdb) backtrace #0 0x00007f727b6884c3 in SIM_get_program_counter () from /home/mahmood/simics-3.0.29/amd64-linux/bin/libsimics-common.so #1 0x00007f7270b2da16 in nFetchAddressGenerate::FetchAddressGenerateComponent::initialize() () from /home/mahmood/flexus-4.0/results/blackscholes-timing_v9-CMP.L2SharedNUCA.OoO-19Apr11-120014/blackscholes/blackscholes_000_001/libflexus_CMP.L2SharedNUCA.OoO_v9_iface_gcc.so #2 0x00007f7270d846a2 in Flexus::Core::aux_::ComponentManagerImpl::initComponents ( this=<value optimized out>) at components/ComponentManager.cpp:100 #3 0x00007f7270e886c9 in Flexus::Core::FlexusImpl::initializeComponents (this=0x31d2dc0) at flexus.cpp:246 #4 0x00007f7270e901c2 in Flexus::Core::FlexusImpl::doLoad (this=0x31d2dc0, aDirName=...) at flexus.cpp:538 The config is: flexus.set "-fag:threads" "4" flexus.set "-L1d:cores" "4" flexus.set "-L2:cores" "4" flexus.set "-net-mapper:Cores" "4" 00-fag is ok but when it comes to the next fag, it receives SIGSEGV. This fault occur before entering interactive mode. Any idea about that? // Naderan *Mahmood;
