gem5-gpu : Bechmark Error

213 views
Skip to first unread message

Chetan Patil

unread,
Jan 26, 2014, 2:01:42 PM1/26/14
to gem5-g...@googlegroups.com
Hi,

I followed the instructions as given for building gem5-gpu and the bechmarks. Everything works properly, however when I run the benchmarks, I'm getting python error :

$ build/VI_hammer/gem5.opt ../gem5-gpu/configs/se_fusion.py -c ../benchmarks/rodinia/backprop/gem5_fusion_backprop -o 16

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/user/simulator/gem5-gpu/gem5/src/python/importer.py", line 80, in load_module
    exec code in mod.__dict__
  File "/home/user/simulator/gem5-gpu/gem5/src/python/m5/__init__.py", line 44, in <module>
    import SimObject
  File "/home/user/simulator/gem5-gpu/gem5/src/python/importer.py", line 80, in load_module
    exec code in mod.__dict__
  File "/home/user/simulator/gem5-gpu/gem5/src/python/m5/SimObject.py", line 49, in <module>
    from m5.util import *
  File "/home/user/simulator/gem5-gpu/gem5/src/python/importer.py", line 80, in load_module
    exec code in mod.__dict__
  File "/home/user/simulator/gem5-gpu/gem5/src/python/m5/util/__init__.py", line 38, in <module>
    from code_formatter import code_formatter
  File "/home/user/simulator/gem5-gpu/gem5/src/python/importer.py", line 80, in load_module
    exec code in mod.__dict__
  File "/home/user/simulator/gem5-gpu/gem5/src/python/m5/util/code_formatter.py", line 28, in <module>
    import inspect
  File "/home/user/local/lib/python2.5/inspect.py", line 32, in <module>
    from operator import attrgetter
ImportError: /home/user/local/lib/python2.5/lib-dynload/operator.so: undefined symbol: _Py_ZeroStruct


All the dependencies are as per this document. Even : build/VI_hammer/gem5.opt ../gem5-gpu/configs/se_fusion.py --help , gives same error.

Related to python, but I'm not sure why. Please help me with this.

--
Chetan Patil

Joel Hestness

unread,
Jan 26, 2014, 2:20:00 PM1/26/14
to Chetan Patil, gem5-gpu developers
Hi Chetan,
  This is likely due to the Python version that you're using (looks like v2.5 according to the last couple lines of your error).  I would recommend making sure that you have Python 2.7.X (one of the versions listed in the doc you linked), and that you're both building and running gem5-gpu with the same version of Python.  This may require setting some path or other environment variables for correct linking.

  Hope this helps,
  Joel
--
  Joel Hestness
  PhD Student, Computer Architecture
  Dept. of Computer Science, University of Wisconsin - Madison
  http://pages.cs.wisc.edu/~hestness/

Chetan Patil

unread,
Jan 26, 2014, 7:14:36 PM1/26/14
to Joel Hestness, gem5-gpu developers
Thanks Joel. 

Switched to Python 2.7.3 (I had Python 2.5 to run gem5 and this version was causing packge issue)

Still, I'm not able to run the benchmark and get following error :

$ build/VI_hammer/gem5.opt ../gem5-gpu/configs/se_fusion.py -c ../benchmarks/rodinia/backprop/gem5_fusion_backprop -o "16"
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Jan 26 2014 14:48:04
gem5 started Jan 26 2014 18:07:30
gem5 executing on ...
command line: build/VI_hammer/gem5.opt ../gem5-gpu/configs/se_fusion.py -c ../benchmarks/rodinia/backprop/gem5_fusion_backprop -o 16
Warning: Only block size currently supported is 128B. Defaulting to 128.
warn: add_child('cpu_clk_domain'): child 'clk_domain' already has parent
warn: add_child('voltage_domain'): child 'voltage_domain' already has parent
Using template and command line options for gpgpusim.config
Error: could not create sytem for ruby protocol VI_hammer_fusion
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/user/simulator/gem5-gpu/gem5/src/python/m5/main.py", line 388, in main
    exec filecode in scope
  File "../gem5-gpu/configs/se_fusion.py", line 143, in <module>
    Ruby.create_system(options, system)
  File "/home/user/simulator/gem5-gpu/gem5/configs/ruby/Ruby.py", line 111, in create_system
    % protocol)
  File "<string>", line 1, in <module>
  File "/home/user/simulator/gem5-gpu/gem5-gpu/configs/gpu_protocol/VI_hammer_fusion.py", line 60, in create_system
    ruby_system)
  File "/home/user/simulator/gem5-gpu/gem5-gpu/configs/gpu_protocol/VI_hammer.py", line 107, in create_system
    ruby_system = ruby_system)
  File "/home/user/simulator/gem5-gpu/gem5/src/python/m5/SimObject.py", line 677, in __init__
    setattr(self, key, val)
  File "/home/user/simulator/gem5-gpu/gem5/src/python/m5/SimObject.py", line 773, in __setattr__
    % (self.__class__.__name__, attr)
AttributeError: Class L1Cache_Controller has no parameter cntrl_id

Other bechmarks also show same error of : Error: could not create sytem for ruby protocol VI_hammer_fusion. Though --help option is executed properly. 

Joel Hestness

unread,
Jan 27, 2014, 11:24:36 AM1/27/14
to Chetan Patil, gem5-gpu developers
Hi Chetan,
  This is likely a problem with the versions of the repos that you're using.  I believe that gem5 removed the cntrl_id parameter of Ruby controllers in changeset 10005:8c2b0dc16ccd, but gem5-gpu has not yet consumed those changes.  This suggests that you'll need to update back to a working version of gem5 per the instructions in our getting started guide (e.g. use 'hg update -r <revision>').  Also make sure that you apply the patches per those instructions.

  Hope that helps,
  Joel

Chetan Patil

unread,
Jan 27, 2014, 5:21:43 PM1/27/14
to Joel Hestness, gem5-gpu developers
Hi Joel,

Instead of running following :

hg update -r 9879 (as per the document)

I was using : 

hg update -r 10040 (after I ran : hg parent)

As you said, conflict of revision.

Now, it runs smoothly.
Reply all
Reply to author
Forward
0 new messages