Re: [Gems-users] "assertion fault"


Date: Wed, 08 Mar 2006 10:56:43 -0600
From: Alaa Alameldeen <alaa@xxxxxxxxxxx>
Subject: Re: [Gems-users] "assertion fault"
The parameter L2_CACHE_NUM_SETS_BITS should be bigger than the number of bits required to address an L2 bank. Since you have g_NUM_L2_BANKS=256, you need 8 bits to map an address to an L2 bank, and the remaining bits are used to map to a set. So your L2_CACHE_NUM_SET_BITS should be at least nine (though obviously you want it to be bigger since you want more than one or two blocks for each cache bank).

Another alternative is to reduce the number of cache banks.

-Alaa

Alessandro Bardine wrote:
I am using gems (MOESI_CMP_NUCA) with the following parameters and commands:
istc-disable
dstc-disable
instruction-fetch-mode instruction-fetch-trace
load-module ruby
load-module opal
ruby0.setparam g_NUM_PROCESSORS 8
ruby0.setparam g_PROCS_PER_CHIP 8
ruby0.setparam L1_CACHE_NUM_SETS_BITS 8
ruby0.setparam L1_CACHE_ASSOC 4
ruby0.setparam g_NUM_L2_BANKS 256
ruby0.setparam L2_CACHE_NUM_SETS_BITS 8
ruby0.setparam L2_CACHE_ASSOC 4
ruby0.setparam_str g_NETWORK_TOPOLOGY FILE_SPECIFIED
ruby0.setparam_str g_DYNAMIC_TIMEOUT_ENABLED false
ruby0.setparam_str REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH true
ruby0.setparam_str g_CACHE_DESIGN NUCACOL
ruby0.setparam_str g_adaptive_routing false
ruby0.setparam NUMBER_OF_VIRTUAL_NETWORKS 7
ruby0.setparam g_endpoint_bandwidth 1000
ruby0.setparam_str g_NUCA_PREDICTOR_CONFIG DNUCA
ruby0.setparam_str ENABLE_MIGRATION true
ruby0.setparam_str COLLECTOR_HANDLES_OFF_CHIP_REQUESTS true
ruby0.setparam_str PERFECT_DNUCA_SEARCH true
ruby0.init
opal0.init
opal0.sim-start "output-dnuca.opal"
opal0.sim-step 3
ruby0.dump-stats "output-dnuca.ruby"
opal0.stats


and I get the following error when the sim-step starts:

...

opalinterface: doing notify callback
Opal: opal-ruby link established.
OpalInterface: installation successful.
[0]     PC 0x418634     NPC 0x4185e4    ctx 0x0
[1]     PC 0x418618     NPC 0x41861c    ctx 0x0
[2]     PC 0x418624     NPC 0x418628    ctx 0x0
[3]     PC 0x418610     NPC 0x418614    ctx 0x0
[4]     PC 0x418618     NPC 0x41861c    ctx 0x0
[5]     PC 0x418628     NPC 0x41862c    ctx 0x0
[6]     PC 0x41860c     NPC 0x418610    ctx 0x0
[7]     PC 0x418620     NPC 0x418624    ctx 0x0
failed assertion 'L2bank < RubyConfig::numberOfL2CachePerChip()/2' at fn
MachineID map_L1CacheMachId_to_L2CacheLocalBank(const Address&, const
MachineID&) in slicc_interface/RubySlicc_ComponentMapping.h:171
failed assertion 'L2bank < RubyConfig::numberOfL2CachePerChip()/2' at fn
MachineID map_L1CacheMachId_to_L2CacheLocalBank(const Address&, const
MachineID&) in slicc_interface/RubySlicc_ComponentMapping.h:171
At this point you might want to attach a debug to the running and get to the
crash site; otherwise press enter to continue
PID: 26055

Now i try to dump the ruby stats I get a file containing:

...
L2_CACHE_NUM_SETS_BITS 0
...

I have tried various L2 cache size for block and associativity but I always
get the same error.
Where am I wrong?

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
[← Prev in Thread] Current Thread [Next in Thread→]