Steve, Nate,

Any ideas?

Thanks,
Ali

On May 3, 2012, at 1:46 PM, Sascha Bischoff wrote:

> HI,
>  
> I have tried casting the Tick arguments as int, Tick and long from the 
> Python. None of these work, and return “NotImplementedError” as before.
>  
> The only success has been by creating a wrapper for the function in the C++ 
> which accepts “int” or ”long long” for the “Tick” arguments, then casts these 
> to Tick within the C++. Obviously, this is only useful as a temporary 
> workaround and is very inelegant.
>  
> As you said, the argument for internal.core.setClockFrequency(int(tps)) is 
> Tick, and casting it as an integer from python works. However, this does not 
> work for schedStatEvent. I have looked at the python and swig files for each 
> and can’t tell what the (probably subtle) difference is.
>  
> Do you have any further ideas?
>  
> Thanks,
> Sascha
>  
> From: gem5-users-boun...@gem5.org [mailto:gem5-users-boun...@gem5.org] On 
> Behalf Of Steve Reinhardt
> Sent: 23 April 2012 15:12
> To: gem5 users mailing list
> Subject: Re: [gem5-users] Calling schedStatEvent from python
>  
> I just looked through the code briefly, and one possible issue here is that 
> the Python 'Tick' class isn't related to the C++ Tick class.  The Python Tick 
> is defined in src/python/m5/params.py for use as a SimObject parameter, while 
> what SWIG is probably expecting is a wrapped version of the C++ type, which 
> is "long long".
>  
> I notice that setClockFrequency() in core.i also takes a Tick arg, and that's 
> called from python/m5/ticks.py like this:
>  
>         internal.core.setClockFrequency(int(tps))
>  
> In the long run, it would be good to make the Python Tick class work for SWIG 
> calls that want a C++ Tick; I'm not sure how to fix this though.  Any ideas, 
> Nate?
>  
> Steve
>  
> On Mon, Apr 23, 2012 at 12:54 AM, Sascha Bischoff <sascha.bisch...@arm.com> 
> wrote:
> Hi all,
> 
>  
> 
> I am trying to use the schedStatEvent C++ function from python. When I try and
> 
> call the function from python using the interface in src/python/swig/stats.i
> 
> I am unable to specify the Tick parameter, and gem5 complains that I have
> 
> supplied the incorrect number of arguments.
> 
>  
> 
> I am able to specify the boolean parameters without issue, and am able to run 
> the
> 
> function once at the start of the simulation by only specifying the bool 
> arguments.
> 
> However, I wish to be able to schedule a repeating event from within python, 
> and
> 
> must therefore be able to specify when the first event should occur and how 
> often
> 
> it should repeat (Given by the two Tick parameters).
> 
>  
> 
> I have tried specifying the Tick parameters using Param.Tick() and simply 
> Tick()
> 
> but have been rather unsuccessful. I have also tried simply supplying 
> integers.
> 
>  
> 
> The error I get is below:
> 
>  
> 
> Traceback (most recent call last):
> 
>   File "<string>", line 1, in <module>
> 
>   File "/home/sascha/Repos/gem5/src/python/m5/main.py", line 357, in main
> 
>     exec filecode in scope
> 
>   File "configs/example/fs.py", line 66, in <module>
> 
>     schedEvent(True,True,Tick(0),Tick(100))
> 
> NotImplementedError: Wrong number of arguments for overloaded function 
> 'schedStatEvent'.
> 
>   Possible C/C++ prototypes are:
> 
>     Stats::schedStatEvent(bool,bool,Tick,Tick)
> 
>     Stats::schedStatEvent(bool,bool,Tick)
> 
>     Stats::schedStatEvent(bool,bool)
> 
>  
> 
> Does anyone have any ideas as to how I can solve this?
> 
>  
> 
> Thanks,
> 
> Sascha
> 
> 
> -- IMPORTANT NOTICE: The contents of this email and any attachments are 
> confidential and may also be privileged. If you are not the intended 
> recipient, please notify the sender immediately and do not disclose the 
> contents to any other person, use it for any purpose, or store or copy the 
> information in any medium. Thank you.
> 
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>  
> 
> -- IMPORTANT NOTICE: The contents of this email and any attachments are 
> confidential and may also be privileged. If you are not the intended 
> recipient, please notify the sender immediately and do not disclose the 
> contents to any other person, use it for any purpose, or store or copy the 
> information in any medium. Thank you.
> _______________________________________________
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to