The problem here is that you are trying to restore from a checkpoint. The set of scripts that are present in configs/ assume that the checkpoint was created using an atomic CPU and therefore the state should be restored using an atomic CPU. It is only after some T cycles that the simulation would switch to detailed CPU. The solution is to mention the CPU that should be used for restoring from a checkpoint. There is an option --restore-with-cpu that can be used to specify the cpu type to be used while restoring from a checkpoint. I think, as of now, it is not possible to restore from a checkpoint created with atomic CPU to a system that makes use of Ruby.

One more thing, when you are using Ruby, the options --caches and --l2cache are most likely not required.

--
Nilay

On Wed, 22 Feb 2012, Trang Le wrote:

Hi,

I turned on the debug-flag Ruby with the following command: build/X86/gem5.opt -d results/blackscholes --debug-flags=Ruby ./configs/example/ruby_fs.py --cpu-type=detailed --caches --l2cache --checkpoint-restore=1 -n 1

And here is the printout:
===================================================================
     0: system.sys_port_proxy-slave0: creating port from ruby sequcner to cpu 
system.sys_port_proxy-slave0
     0: system.l1_cntrl0.sequencer-physMemPort: creating port to ruby sequencer 
to cpu system.l1_cntrl0.sequencer-physMemPort
     0: system.l1_cntrl0.sequencer-pio-port-1: creating port to ruby sequencer 
to cpu system.l1_cntrl0.sequencer-pio-port-1
     0: system.dma_cntrl0.dma_sequencer-physMemPort: creating port to ruby 
sequencer to cpu system.dma_cntrl0.dma_sequencer-physMemPort
     0: system.dma_cntrl0.dma_sequencer-slave0: creating port from ruby 
sequcner to cpu system.dma_cntrl0.dma_sequencer-slave0
     0: system.sys_port_proxy-physMemPort: creating port to ruby sequencer to 
cpu system.sys_port_proxy-physMemPort
     0: system.l1_cntrl0.sequencer-slave0: creating port from ruby sequcner to 
cpu system.l1_cntrl0.sequencer-slave0
     0: system.l1_cntrl0.sequencer-slave1: creating port from ruby sequcner to 
cpu system.l1_cntrl0.sequencer-slave1
     0: system.l1_cntrl0.sequencer-slave3: creating port from ruby sequcner to 
cpu system.l1_cntrl0.sequencer-slave3
     0: system.l1_cntrl0.sequencer-slave2: creating port from ruby sequcner to 
cpu system.l1_cntrl0.sequencer-slave2
warn: Reading current count from inactive timer.
     0: global: Returning shortest path
(src-(2*max_machines)): -8, (next-(2*max_machines)): 0, src: 0, next: 8, 
result: [NetDest (4) 1  - 1  - 1  - 1  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): -7, (next-(2*max_machines)): 1, src: 1, next: 9, 
result: [NetDest (4) 1  - 1  - 1  - 1  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): -6, (next-(2*max_machines)): 2, src: 2, next: 10, 
result: [NetDest (4) 1  - 1  - 1  - 1  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): -5, (next-(2*max_machines)): 3, src: 3, next: 11, 
result: [NetDest (4) 1  - 1  - 1  - 1  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 0, (next-(2*max_machines)): -4, src: 8, next: 4, 
result: [NetDest (4) 1  - 0  - 0  - 0  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 0, (next-(2*max_machines)): 4, src: 8, next: 12, 
result: [NetDest (4) 0  - 1  - 1  - 1  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 1, (next-(2*max_machines)): -3, src: 9, next: 5, 
result: [NetDest (4) 0  - 1  - 0  - 0  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 1, (next-(2*max_machines)): 4, src: 9, next: 12, 
result: [NetDest (4) 1  - 0  - 1  - 1  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 2, (next-(2*max_machines)): -2, src: 10, next: 6, 
result: [NetDest (4) 0  - 0  - 1  - 0  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 2, (next-(2*max_machines)): 4, src: 10, next: 12, 
result: [NetDest (4) 1  - 1  - 0  - 1  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 3, (next-(2*max_machines)): -1, src: 11, next: 7, 
result: [NetDest (4) 0  - 0  - 0  - 1  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 3, (next-(2*max_machines)): 4, src: 11, next: 12, 
result: [NetDest (4) 1  - 1  - 1  - 0  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 4, (next-(2*max_machines)): 0, src: 12, next: 8, 
result: [NetDest (4) 1  - 0  - 0  - 0  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 4, (next-(2*max_machines)): 1, src: 12, next: 9, 
result: [NetDest (4) 0  - 1  - 0  - 0  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 4, (next-(2*max_machines)): 2, src: 12, next: 10, 
result: [NetDest (4) 0  - 0  - 1  - 0  - ]
     0: global: Returning shortest path
(src-(2*max_machines)): 4, (next-(2*max_machines)): 3, src: 12, next: 11, 
result: [NetDest (4) 0  - 0  - 0  - 1  - ]
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
Switch at curTick count:10000
info: Entering event queue @ 5159803018000.  Starting simulation...
panic: RubyPort::M5Port::recvAtomic() not implemented!
@ cycle 5159803018500
[recvAtomic:build/X86/mem/ruby/system/RubyPort.cc, line 139]
====================================================================

Is this helpful ?

-Trang

On Feb 22, 2012, at 9:49 AM, Ali Saidi wrote:

Hi Trang,


Could you run gem5 in a debugger and get a back trace. We need a bit more 
information to debug it.


Thanks,

Ali

On 22.02.2012 02:43, Trang Le wrote:

Hi,

I was trying to run PARSEC benchmarks in X86 FS mode with Ruby (my gem5 was 
updated recently). However, I've run into this error message:
panic: RubyPort::M5Port::recvAtomic() not implemented!

I know Ruby doesn't support Atomic transactions and it shouldn't even be 
called?.so I am not sure why it's doing this. Do you have any suggestions what 
I should do to have more clue of what's going on?

Thanks,
-Trang
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users



_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to