I haven't done runs with just ruby on a ubuntu simulated machine, but I know it works with both ruby and opal loaded. The one thing to check though is the IO address space. I know with opal loaded I changed the IO_MASK variable (in system/memop.h) from 0x0000040000000000ULL to 0x0000010000000000ULL when using the bagle platform. This didn't seem to give any errors, but it would give warnings, and could end up in submitting non-cacheable memory requests to ruby. You might want to check the memory address of the failing loads/stores to see whats going on. If this isn't the problem, it could be an issue with the checkpoint itself. Was the checkpoint made in simics 3.x? Also, how much free memory does the simulated machine have, and are you running on a 32-bit or 64-bit platform? Having a simulated machine with 4GB of RAM might potentially cause problems on the simulations, not really sure how all the arrays that are created work. Personally, I simulate with the minimum amount of ram needed to hold the benchmarks working set.
Phil On May 3, 2009, at 10:23 PM, Polina Dudnik wrote: Hi,
Ruby complains because something is wrong with the request vector. When Ruby intercepts a memory access it may have to stall the processor if it decided that there has been a miss. When a miss is served the processor gets unstalled and retries the access. To keep track of the state of memory requests, Ruby has the request vector. The request vector contains the active accesses and their current state. Clearly, something is going wrong and I think that is because you are using ubuntu checkpoint. I personally have never tried to run Gems+Ruby on ubuntu. That might be causing the problem. Maybe other Gems users can comment on that. Otherwise, you can attach gdb to Ruby and figure out what's happening.
Polina
2009/5/3 lianghua miao <mlianghua@xxxxxxxxx> Hi, I am a newbie to GEMS. And I met a problem to start simulating(Ruby only) .The problem as follow: Firstly, I install simics3.0.31 and compile Ruby successfully. secondly, I want to start simulating : >./simics -stall simics > read-configure "../../checkpoins/ubuntu9.check" simics > instruction-fetch-mode instruction-fetch-trace simics > istc-disable simics > dstc-disable simics > cpu-switch-time 1 successful installation of the ruby timing model. simics> ruby0.setparam g_NUM_PROCESSORS 1 simics> ruby0.setparam g_MEMORY_SIZE_BYTES 4294967296 simics> ruby0.init Ruby Timing Mode Creating event queue... Creating event queue done Creating system... Processors: 1 Creating system done Ruby initialization complete simics> c failed assertion '(m_active_requests[i].size ==size)' at fn int SimicsProcessor::lookupRequest(Address, CacheRequestType, int) in simics/SimicsProcessor.C:169 failed assertion '(m_active_requests[i].size ==size)' at fn int SimicsProcessor::lookupRequest(Address, CacheRequestType, int) in simics/SimicsProcessor.C:169 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: 21542
Abort (SIGABRT) in main thread The simulation state has been corrupted. Simulation cannot continue. Please restart Simics. [cpu0] cs:0x00000000b7f46a28 p:0x000ff01a28 cmpxchg lock [esi],ecx
I have no idea to solve this problem, Can someone help me with this? Thank your very much!
-- Sincerely, Mlianghua(缪良华) MSE, College of Software Technology, Zhejiang University &&Zhejiang University-Intel Technology Center P. R. China _______________________________________________ Gems-users mailing list Gems-users@xxxxxxxxxxx https://lists.cs.wisc.edu/mailman/listinfo/gems-users Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
_______________________________________________ Gems-users mailing list Gems-users@xxxxxxxxxxx https://lists.cs.wisc.edu/mailman/listinfo/gems-users Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
|
|