Hi
To run a multiprogram simulation in SE mode, I changed cmp.py to this:
process = []
benchmarks = options.benchmark.split(',')
for bench_name in benchmarks:
process.append(bench_name)
instead of "if elif else", I wrote the above code. So in the command
line I pass wokloads like this:
-b b1,b2,b3,b4
Problem is in this part of code:
for i in xrange(np):
print "i=", i , "and process=", process[i]
if options.caches:
system.cpu[i].addPrivateSplitL1Caches(L1Cache(size = '64kB'),
L1Cache(size = '64kB'))
if options.l2cache:
system.l2 = L2Cache()
system.tol2bus = Bus()
system.l2.cpu_side = system.tol2bus.port
system.l2.mem_side = system.membus.port
system.cpu[i].connectAllPorts(system.tol2bus)
else:
system.cpu[i].connectAllPorts(system.membus)
system.cpu[i].workload = process[i]
I get this error:
File "configs/example/cmp.py", line 82, in <module>
system.cpu[i].workload = process[i]
File "/home/mahmood/gem5/src/python/m5/SimObject.py", line 627, in __setattr__
value = param.convert(value)
File "/home/mahmood/gem5/src/python/m5/params.py", line 236, in convert
tmp_list = [ ParamDesc.convert(self, value) ]
File "/home/mahmood/gem5/src/python/m5/params.py", line 159, in convert
return self.ptype(value)
TypeError: __init__() takes exactly 1 argument (2 given)
Error setting param TmpClass.workload to bzip2_chicken
As you can see in the first line of loop, I wrote
print "i=", i , "and process=", process[i]
and the output shows it works fine:
i= 0 and process= b1
It says there is an error in gem5/src/python/m5/params.py
An idea is appreciated.
--
// Naderan *Mahmood;
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users