>For 4 cores, you should use 4x3 topology. By default there is no 4x3. However I want to create that. Problem is I don't know "Top Switch" and "Route Switch" sections. Do you have one for that?
// Naderan *Mahmood; ----- Original Message ----- From: Song Liu <[email protected]> To: Mahmood Naderan <[email protected]> Cc: Volos Stavros <[email protected]>; simflex <[email protected]> Sent: Wednesday, April 27, 2011 5:17 PM Subject: Re: segmentation fault in CMP.L2SharedNUCA.OoO For 4 cores, you should use 4x3 topology. Memory map is used for NUMA, not NUCA. In your case, you should use 1 nodes for memory map. Song On Wed, Apr 27, 2011 at 2:16 AM, Mahmood Naderan <[email protected]> wrote: > Hi Stavros, > Thanks for your reply. > using CMP.L2SharedNUCA.OoO with 4 cores, I have set > > flexus.set "-network:nodes" "12" # > "Number of Nodes" (NumNodes) > > and used 16x3 topology. Is there any relation between them? Is that correct? > > also what about flexus.set "-memory-map:nodes" > "1" # "Number of Nodes" (NumNodes) > > should it be 1 as default? > > // Naderan *Mahmood; > > > ----- Original Message ----- > From: Volos Stavros <[email protected]> > To: Mahmood Naderan <[email protected]>; simflex <[email protected]> > Cc: > Sent: Wednesday, April 27, 2011 12:48 AM > Subject: Re: segmentation fault in CMP.L2SharedNUCA.OoO > > 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; >
