Dan
I figured out where the problem was. As I mentioned before, I added a
function SIMICS_get_cycles() which I was calling from commands.C. This
call was fine and was not generating any errors. However, inside ruby.c,
I was calling the simics API SIM_cycle_count() directly since ruby.c
included the "simics/api.h" file. This call was the culprit!!
Now I added a function get_simics_cycle() in commands.C which just calls
SIMICS_get_cycles(). And from ruby.c, I call get_simics_cycle() which
works just great! I am still not sure why the previous method was giving
an error - the underlying function call is still the same. But I'm glad
it's working now :)
Thanks for all the help
shougata
Dan Gibson wrote:
>
>Some Simics API functions need to be issued only from "event-posting"
modules... Opal I believe is an "event-posting" module (see opal.c for
details). I don't thin SIM_cycle_count() is one of these functions, but
I could be wrong.
>
>Can you trace the error to the call of SIM_cycle_count() precisely?
>
>Regards,
>Dan
>>
>>Shougata Ghosh wrote:
>>
>>
>> Hi Dan
>>
>> I am using simics 2.2.19. Actually I did add the simics API
SIM_cycle_count(). I wanted to get simics cycle from inside ruby. I made
changes in the following files:
>>
>> in GEMS/ruby/simics/interface.h:
>> long SIMICS_get_cycles (int cpuNumber);
>>
>> in GEMS/ruby/simics/interface.C:
>> long SIMICS_get_cycles (int cpuNumber) {
>>
>> conf_object_t* proc_ptr = (conf_object_t *)
SIM_proc_no_2_ptr(cpuNumber);
>>
>> return (long) SIM_cycle_count (proc_ptr);
>> }
>>
>> in GEMS/ruby/simics/simics_api_dummy.c:
>> cycles_t SIM_cycle_count (conf_object_t* obj) { assert(0);
return 0; };
>>
>> Am I missing something here? Do I need to make changes in other
places as well?
>>
>> And thanks again for such quick replies.
>> shougata
>>
>>
>>
>> >
>> >What is the simics version?
>> >Have you added any Simics API calls to the Ruby codebase?
>> >
>> >Regards,
>> >Dan
>> >
>> >>Shougata Ghosh wrote:
>> >>
>> >>
>> >> Hi
>> >> I was running ruby with simics and I got the following
error message:
>> >> * ERROR: object 'ruby0' has no queue associated
>> >> patching by forcing association to processor object 'cpu0'
>> >>
>>
>> >> Has anyone seen this or anything similar before? This is what
I was doing:
>>
>> >> I start simics with "./simics -stall"
>> >> read a checkpoint
>> >> add a hap_callback for magic breakpoints that just pauses
simics
>> >> run my benchmark program
>> >>
>>
>> >> When the first breakpoint is reached and simics is paused, I
delete the hap_callback function I had added before.
>>
>> >>
>> >> Then I load ruby with the following:
>> >> dstc-disable
>> >> magic-break-disable
>> >> cpu-switch-time (1)
>> >> c 10000
>> >> #Print new cpu switch time
>> >> cpu-switch-time
>> >> magic-break-enable
>> >> load-module ruby
>> >> #Ruby parameters
>> >> ruby0.setparam g_NUM_PROCESSORS 16
>> >> ruby0.setparam g_PROCS_PER_CHIP 1
>> >> ruby0.setparam g_MEMORY_SIZE_BYTES 268435456
>> >> ruby0.setparam_str REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH true
>> >>
>> >> ruby0.init
>> >>
>> >> [At this point, I get the following confirmation:
>> >> successful installation of the ruby timing model.
>> >> Ruby Timing Mode
>> >> Warning: optimizations not enabled.
>> >> Creating event queue...
>> >> Creating event queue done
>> >> Creating system...
>> >> Processors: 16
>> >> Creating system done
>> >> Ruby initialization complete]
>> >>
>> >> Then I continue running the simulation
>> >>
>> >> The first time ruby is invoked from simics, I get this
error message:
>> >> * ERROR: object 'ruby0' has no queue associated
>> >> patching by forcing association to processor object 'cpu0'
>> >>
>> >> Any ideas?
>> >> Thanks a lot
>> >> -shougata
>> >> _______________________________________________
>> >> 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.
>>
|