Thanks for that Pejman. // Naderan *Mahmood;
----- Original Message ----- From: Lotfi Kamran Pejman <[email protected]> To: Mahmood Naderan <[email protected]>; Song Liu <[email protected]> Cc: simflex <[email protected]> Sent: Wednesday, April 27, 2011 8:54 PM Subject: RE: segmentation fault in CMP.L2SharedNUCA.OoO Dear Mahmood, Attached please find the topology.cpp file that I use to generate topology files. You should compile this file and use the binary to generate topology files. In order to generate a 4x4 mesh topology, you should use a command like ./topology -n 12 -m -w 3 4x3-mesh.topology where "-m" option indicates that the interconnection network is a mesh (for a torus interconnection network you should use "-t"), "-w" option specifies three nodes/switch (one for the core, one for the L2 slice, and one for the memory controller), "-n" option specifies the total number of nodes connected to the interconnection network (which is the multiplication of the number of nodes ,in this case four, and the number that is specified in the "-w" option), and finally the last parameter is the name of the generated topology file. Regards, Pejman ________________________________________ From: Mahmood Naderan [[email protected]] Sent: Wednesday, April 27, 2011 3:29 PM To: Song Liu Cc: simflex Subject: Re: segmentation fault in CMP.L2SharedNUCA.OoO Thanks for that // Naderan *Mahmood; ----- Original Message ----- From: Song Liu <[email protected]> To: Mahmood Naderan <[email protected]> Cc: simflex <[email protected]> Sent: Wednesday, April 27, 2011 5:56 PM Subject: Re: segmentation fault in CMP.L2SharedNUCA.OoO There are a few topology files in other simulators' folders. You can copy them to the simulator you are using. Song On Wed, Apr 27, 2011 at 8:23 AM, Mahmood Naderan <[email protected]> wrote: >>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; >> > >
