There is one known problem with unserializing into a system with switch_cpus defined, that I have an uncommitted patch for here:
http://reviews.m5sim.org/r/608 Based on your description I don't think this is what you're seeing, but I thought I'd throw it out there in case I'm wrong, or you're actually running into a different manifestation of the same bug, or perhaps it will jog Brad's memory to think of a related cause. Steve On Fri, May 6, 2011 at 2:00 AM, Timothy M Jones <[email protected]>wrote: > Hi Brad, > > Thanks for the reply and the explanation about Ruby. > > I've attached the runscript.rcS file that I was using. I'm using the > kernel from the M5 website and disk image from UTexas ( > http://www.cs.utexas.edu/~parsec_m5/linux-parsec-2-1-m5-with-test-inputs.img.bz2) > > > I looked at the config file and checkpoint files. The CPUs do have the > same names and I don't get any unserialization warnings at all when running > from the checkpoint. I did notice that the CPU types were different (since > I was creating checkpoints with AtomicSimpleCPU) but adding the '-t' switch > to the creation command didn't make the error go away. > > I also tried using the ruby_fs.py script to create checkpoints too by > adding support for '--script' within it using the attached patch. This > created a checkpoint without problems. Loading from it caused a > segmentation fault in the simulated program though. These were the commands > I used for that: > > ./build/ALPHA_FS/m5.fast -d ../outputs --remote-gdb-port 0 > ./configs/example/ruby_fs.py -n 2 --script=../scripts/runscript.rcS > --max-checkpoints=1 > > ./build/ALPHA_FS/m5.fast -d ../outputs --remote-gdb-port 0 > ./configs/example/ruby_fs.py -n 2 -r 0 > > Thanks again > Tim > > > Beckmann, Brad wrote: > >> Hi Tim, >> >> Before I try to help you with your specific problem, I want to point out >> that is Ruby's current support for checkpointing is a little confusing and >> that is one area that we are actively improving. In particular Ruby >> currently uses physmem as a functional memory image and thus messages within >> Ruby only impact the timing of memory accesses. Thus, loading a checkpoint >> with Ruby is nothing more than loading Ruby's backing image of physmem with >> the checkpointed memory image. Also there is no current support for cache >> warmup. We are in the process of changing that, but that code is not yet >> ready. >> >> Having said that, I suspect that your problem is something different. In >> general, your sequence of commands should work and I can't reproduce your >> specific error since I don't have your particular rcS script. I'd be >> curious to know if you see any unserialzation warnings complaining that >> certain simobjects aren't in the loaded checkpoint. In particular, do the >> cpus have the exact same name between the config.ini file with ruby and the >> m5.cpt file in your checkpoint? >> Sorry I can't be more help, but if you send me your rcS script, I'd be >> happy to investigate further. >> >> Brad >> >> >> -----Original Message----- >>> From: [email protected] [mailto:m5-users- >>> [email protected]] On Behalf Of Timothy M Jones >>> Sent: Wednesday, May 04, 2011 5:49 AM >>> To: M5 users mailing list >>> Subject: [m5-users] Creating ruby checkpoints >>> >>> Hello, >>> >>> I'm trying to create checkpoints for use with ruby using ALPHA_FS. It >>> takes >>> ages to boot linux with ruby enabled, and since I want several >>> checkpoints >>> for different numbers of cores, I was hoping I'd be able to create >>> checkpoints >>> without ruby, then run from the checkpoints with. >>> This doesn't appear to work. If I create a checkpoint with this command: >>> >>> ./build/ALPHA_FS/m5.fast -d ../outputs --remote-gdb-port 0 >>> ./configs/example/fs.py -n 2 --max-checkpoints=1 -- >>> script=../scripts/runscript.rcS >>> >>> Then I can run it fine with this command: >>> >>> ./build/ALPHA_FS/m5.fast -d ../outputs --remote-gdb-port 0 >>> ./configs/example/fs.py -n 2 -r 0 >>> >>> But switching to ruby causes errors: >>> >>> /build/ALPHA_FS/m5.fast -d ../outputs --remote-gdb-port 0 >>> ./configs/example/ruby_fs.py -n 2 -r 0 >>> >>> In the system.terminal file I get this error output: >>> >>> script(759): unhandled unaligned exception pc = [<fffffc00006b83c0>] ra >>> = >>> [<fffffc00006b83bc>] ps = 0007 >>> r0 = 000000001f6c8000 r1 = fffffc00003111a0 r2 = fffffc0000018000 >>> r3 = 000000000000002b r4 = 0000000000000720 r5 = fffffc000085ecb8 >>> r6 = 0000000000000059 r7 = 0000000000000040 r8 = 0000000000003fff >>> r9 = fffffc001f5c5580 r10= fffffc001f3eec00 r11= fffffc0000d09b80 r12= >>> fffffc001f6b0740 r13= 0000000000000001 r14= 0000000000000008 r15= >>> fffffc001f657e48 r16= 000000001f654000 r17= fffffc001f3eec00 r18= >>> fffffc001f6b0740 r19= 0000000000000001 r20= 0000000000000000 r21= >>> fffffc0000860640 r22= 0000000000000000 r23= 000000200618a0cf r24= >>> 4000000000000000 r25= 00000000000003ff r27= fffffc0000311190 r28= >>> fffffc001f5c5580 >>> >>> This seems to happen no matter which protocol I compile into the binary, >>> although this was with MESI_CMP_directory. Does anyone have any >>> suggestions as to how I can go about creating some checkpoints to use >>> like >>> this or what I'm doing wrong? >>> >>> Thanks >>> Tim >>> >>> -- >>> Timothy M. Jones >>> http://www.cl.cam.ac.uk/~tmj32 >>> _______________________________________________ >>> m5-users mailing list >>> [email protected] >>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >>> >> >> >> _______________________________________________ >> m5-users mailing list >> [email protected] >> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >> > > -- > Timothy M. Jones > http://www.cl.cam.ac.uk/~tmj32 > > #!/bin/sh > > # File to run the blackscholes benchmark using 2 cores. > > cd /parsec/install/bin > /sbin/m5 checkpoint > ./blackscholes 2 /parsec/install/inputs/blackscholes/in_16.txt > /parsec/install/inputs/blackscholes/prices.txt > echo "Done :D" > /sbin/m5 exit > > _______________________________________________ > m5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >
_______________________________________________ m5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
