[gem5-users] Re: some problem about IO device's write or read function's return tick

2021-12-27 Thread Gabe Black via gem5-users
I think this may not be quite right, or I'm misunderstanding what Jason is
saying. The Tick number returned in atomic mode is supposed to approximate
how long the access took, and it's up to the caller to do something with
that. Often the caller does throw away the number, but that's what it's
supposed to mean.

In timing mode, there is no returned Tick value, and it's up to the device
servicing the access (the thing *implementing* the read or write) to delay
the response to the access by whatever length of time it would take. This
is also done by all the steps along the way as the access is propagated, so
the interconnect, caches, etc. Cumulatively those all add up to how long
the access takes, which is what the atomic mode return value is supposed to
approximate.

When using atomic mode, performance is very loosely modeled. When using
timing mode, your device should implement delays by scheduling events for
in the future which actually send a response to a given access.

Gabe

On Mon, Dec 27, 2021 at 3:59 PM Jason Lowe-Power via gem5-users <
gem5-users@gem5.org> wrote:

> Hello,
>
> If you are using *atomic* memory mode, then the tick number is mostly
> ignored. If you're using *timing* mode, then the tick number should be used
> by whatever object calls the read/write function and the delay is inserted
> there. Also, if your program doesn't have a direct dependence on the I/O
> device, the latency may be hidden. Enabling various debug flags should help
> you track this down.
>
> Cheers,
> Jason
>
> On Thu, Dec 23, 2021 at 8:58 AM lin via gem5-users 
> wrote:
>
>> Hi
>>
>> I make an IO device link to the membus and complete the Tick
>> read(PacketPtr pkt) and the write() function .But I find that no matter how
>> many ticks ( the funciton return n*tick) I set,the simSeconds no change.If
>> it normal?If not , what can I do to set the return ticks of the read() or
>> write() function?
>>
>> Thanks everyone!
>>
>>
>>
>> ___
>> gem5-users mailing list -- gem5-users@gem5.org
>> To unsubscribe send an email to gem5-users-le...@gem5.org
>> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: some problem about util/tlm in gem5v20.1.0.5

2021-12-27 Thread Gabe Black via gem5-users
The issue in Jira is a known issue where the cxx config mechanism works in
a fundamentally not quite correct way, and while it usually works out, it
doesn't for the systemc stuff. You can use the cxx config mechanism or the
(built in) systemc, but not both.

Given that these instructions build gem5 as a whole into a systemc
simulation which will have its own systemc kernel already, you really
wouldn't want to have another competing systemc kernel inside gem5 also, so
it's not really a limitation to have to choose between cxx config and
systemc, since in this case you need the cxx config and would definitely
want to disable the built in systemc support.

What I built (and what is exercised regularly at Google) is to run systemc
models inside of gem5 using its own built in systemc kernel, which is
distinct and separate from this other method. As far as I know there are no
tests for the gem5-as-a-black-box-inside-systemc setup, so it's not *that*
surprising that it's bitrot a bit. I haven't looked at what's going wrong,
but there's a good chance it will be fairly easy to fix.

Gabe

On Mon, Dec 27, 2021 at 6:15 PM Bobby Bruce  wrote:

> Also, in looking into this problem I encountered the following bug:
>
> https://gem5.atlassian.net/browse/GEM5-1141
>
> i haven't dived much deeper than what's logged in the Jira.
>
> --
> Dr. Bobby R. Bruce
> Room 3050,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
>
>
> On Mon, Dec 27, 2021 at 3:07 PM Bobby Bruce  wrote:
>
>> You are right, the instructions provided in the utils/tlm/README will not
>> generate the gem5.sc file.
>>
>> @gabe: How do you go about doing this?
>>
>> --
>> Dr. Bobby R. Bruce
>> Room 3050,
>> Kemper Hall, UC Davis
>> Davis,
>> CA, 95616
>>
>> web: https://www.bobbybruce.net
>>
>>
>> On Mon, Dec 20, 2021 at 11:19 PM lin via gem5-users 
>> wrote:
>>
>>> Hi
>>> I read the README in util/tlm and follow the  following command:
>>> >cd ../..
>>> >scons build/ARM/gem5.opt
>>> >scons --with-cxx-config --without-python --without-tcmalloc
>>> build/ARM/libgem5_opt.so
>>> >cd util/tlm
>>>
>>> Then I run the command:
>>>
>>> >../../build/ARM/gem5.opt conf/tlm_slave.py
>>>
>>> It report that:
>>>
>>>   fatal: Can't find port handler type 'tlm_master', just like the README 
>>> said.
>>>
>>> But when I run the following command:
>>>
>>> >build/examples/master_port/gem5.sc m5out/config.ini -e 100
>>>
>>>
>>> The error is that
>>>
>>> bash:build/examples/master_port/gem5.sc :No such file or directory.
>>>
>>>
>>> How can I solve this problem?
>>>
>>> Thanks!
>>>
>>> ___
>>> gem5-users mailing list -- gem5-users@gem5.org
>>> To unsubscribe send an email to gem5-users-le...@gem5.org
>>> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>>
>>
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] 答复: Re: some problem about IO device's write or read function's return tick

2021-12-27 Thread yaogang via gem5-users
Hi Jason,

  A side question regarding to the performance of the GEM5.  To a single 
threaded workload,  GEM5 is normally running as the single thread in the host 
processor as well.  Do we have any road map on the lower level library which 
could split the multiple sim events into
different processes which could possibility accelerate  the gem5 speed?

Regards
Yao

发件人: Jason Lowe-Power via gem5-users [mailto:gem5-users@gem5.org]
发送时间: 2021年12月28日 4:59
收件人: gem5 users mailing list 
抄送: lin <863342...@qq.com>; Jason Lowe-Power 
主题: [gem5-users] Re: some problem about IO device's write or read function's 
return tick

Hello,

If you are using *atomic* memory mode, then the tick number is mostly ignored. 
If you're using *timing* mode, then the tick number should be used by whatever 
object calls the read/write function and the delay is inserted there. Also, if 
your program doesn't have a direct dependence on the I/O device, the latency 
may be hidden. Enabling various debug flags should help you track this down.

Cheers,
Jason

On Thu, Dec 23, 2021 at 8:58 AM lin via gem5-users 
mailto:gem5-users@gem5.org>> wrote:
Hi

I make an IO device link to the membus and complete the Tick read(PacketPtr 
pkt) and the write() function .But I find that no matter how many ticks ( the 
funciton return n*tick) I set,the simSeconds no change.If it normal?If not , 
what can I do to set the return ticks of the read() or write() function?

Thanks everyone!




___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to 
gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] ?????? some problem about IO device's write or read function's return tick

2021-12-27 Thread lin via gem5-users
Thanks!
Now I want to evulate the performance(e.g running time) about a system with my 
own IO device,which mode of the "cpu" and the "memory" should I use,*atomic* or 
*timing*?






----
??: 
   "Jason Lowe-Power"   
 
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: some problem about util/tlm in gem5v20.1.0.5

2021-12-27 Thread Bobby Bruce via gem5-users
Also, in looking into this problem I encountered the following bug:

https://gem5.atlassian.net/browse/GEM5-1141

i haven't dived much deeper than what's logged in the Jira.

--
Dr. Bobby R. Bruce
Room 3050,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net


On Mon, Dec 27, 2021 at 3:07 PM Bobby Bruce  wrote:

> You are right, the instructions provided in the utils/tlm/README will not
> generate the gem5.sc file.
>
> @gabe: How do you go about doing this?
>
> --
> Dr. Bobby R. Bruce
> Room 3050,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
>
>
> On Mon, Dec 20, 2021 at 11:19 PM lin via gem5-users 
> wrote:
>
>> Hi
>> I read the README in util/tlm and follow the  following command:
>> >cd ../..
>> >scons build/ARM/gem5.opt
>> >scons --with-cxx-config --without-python --without-tcmalloc
>> build/ARM/libgem5_opt.so
>> >cd util/tlm
>>
>> Then I run the command:
>>
>> >../../build/ARM/gem5.opt conf/tlm_slave.py
>>
>> It report that:
>>
>>   fatal: Can't find port handler type 'tlm_master', just like the README 
>> said.
>>
>> But when I run the following command:
>>
>> >build/examples/master_port/gem5.sc m5out/config.ini -e 100
>>
>>
>> The error is that
>>
>> bash:build/examples/master_port/gem5.sc :No such file or directory.
>>
>>
>> How can I solve this problem?
>>
>> Thanks!
>>
>> ___
>> gem5-users mailing list -- gem5-users@gem5.org
>> To unsubscribe send an email to gem5-users-le...@gem5.org
>> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>
>
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: some problem about util/tlm in gem5v20.1.0.5

2021-12-27 Thread Bobby Bruce via gem5-users
You are right, the instructions provided in the utils/tlm/README will not
generate the gem5.sc file.

@gabe: How do you go about doing this?

--
Dr. Bobby R. Bruce
Room 3050,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net


On Mon, Dec 20, 2021 at 11:19 PM lin via gem5-users 
wrote:

> Hi
> I read the README in util/tlm and follow the  following command:
> >cd ../..
> >scons build/ARM/gem5.opt
> >scons --with-cxx-config --without-python --without-tcmalloc
> build/ARM/libgem5_opt.so
> >cd util/tlm
>
> Then I run the command:
>
> >../../build/ARM/gem5.opt conf/tlm_slave.py
>
> It report that:
>
>   fatal: Can't find port handler type 'tlm_master', just like the README said.
>
> But when I run the following command:
>
> >build/examples/master_port/gem5.sc m5out/config.ini -e 100
>
>
> The error is that
>
> bash:build/examples/master_port/gem5.sc :No such file or directory.
>
>
> How can I solve this problem?
>
> Thanks!
>
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: some problem about IO device's write or read function's return tick

2021-12-27 Thread Jason Lowe-Power via gem5-users
Hello,

If you are using *atomic* memory mode, then the tick number is mostly
ignored. If you're using *timing* mode, then the tick number should be used
by whatever object calls the read/write function and the delay is inserted
there. Also, if your program doesn't have a direct dependence on the I/O
device, the latency may be hidden. Enabling various debug flags should help
you track this down.

Cheers,
Jason

On Thu, Dec 23, 2021 at 8:58 AM lin via gem5-users 
wrote:

> Hi
>
> I make an IO device link to the membus and complete the Tick
> read(PacketPtr pkt) and the write() function .But I find that no matter how
> many ticks ( the funciton return n*tick) I set,the simSeconds no change.If
> it normal?If not , what can I do to set the return ticks of the read() or
> write() function?
>
> Thanks everyone!
>
>
>
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: RISCV Full System with Ruby

2021-12-27 Thread Jason Lowe-Power via gem5-users
Hi Fu,

You can modify that file to import a Ruby-based cache hierarchy (e.g.,
MESI_Two_Level and MI_Example have been tested). Or, better yet, create
your own run script. `riscv_fs.py` is just an *example* of how to use the
standard library components.

Cheers,
Jason

On Fri, Dec 24, 2021 at 7:57 AM FU zx via gem5-users 
wrote:

> Hello!
>
>
> I just tried your riscv_fs.py in configs/example/gem5_library(I think this
> is where it is in the latest version, am I right?), and it did boot Linux,
> but I can't find how to config the script to enable the ruby cache system,
> the default config is just a classic cache model. Is there any guide to
> enable the ruby cache system in fs mode? Any help would be appreciated.
>
>
>
> Thanks in advance.
>
> Fu
>
>
>
>
>
>
>
>
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-users] Re: Errors when using gem5art

2021-12-27 Thread Zhang Li via gem5-users
Hi,
I had just solved the problem by degrading pymongo to version 3.11! Thank you!

Best regards,
Zhang

发件人: Zhang Li 
发送时间: Sunday, December 26, 2021 8:46:43 PM
收件人: gem5-users@gem5.org 
主题: Errors when using gem5art

Hi Jason or Ayaz,
I recently read your gem5art paper and documents about gem5art in 
https://gem5art.readthedocs.io/en/latest/main-doc/artifacts.html. I used a 
virtual envioronment as tutorials. But I encountered a problem when I try to 
connect to MongoDB. Below is my output. I found that disable_md5 parameter was 
removed in pymongo v4.0 in 
https://pymongo.readthedocs.io/en/stable/api/gridfs/index.html. I tried to 
remove disable_md5 parameter and then there was no error when connecting 
database. But when I tried to register a artifact, another error occurred as 
the following traceback. I have no idea to solve the problem. Maybe someone 
else have experience working with gem5art? Can I get some advice or I made a 
wrong way in using gem5art? I am looking forward to your reply. Thank you!

Best regard,
Zhang


Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from gem5art.artifact import *
>>> db = getDBConnection()
Traceback (most recent call last):
  File "", line 1, in 
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/gem5art/artifact/_artifactdb.py",
 line 247, in getDBConnection
_db = typ(uri)
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/gem5art/artifact/_artifactdb.py",
 line 133, in __init__
self.fs = gridfs.GridFSBucket(self.db, disable_md5=True)
TypeError: __init__() got an unexpected keyword argument 'disable_md5'
>>>


Traceback (most recent call last):
  File "launch_boot_tests.py", line 16, in 
packer = Artifact.registerArtifact(
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/gem5art/artifact/artifact.py",
 line 187, in registerArtifact
_db.upload(self._id, self.path)
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/gem5art/artifact/_artifactdb.py",
 line 143, in upload
self.fs.upload_from_stream_with_id(key, str(path), f)
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/gridfs/__init__.py",
 line 668, in upload_from_stream_with_id
gin.write(source)
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/gridfs/grid_file.py",
 line 411, in __exit__
self.close()
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/gridfs/grid_file.py",
 line 320, in close
self.__flush()
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/gridfs/grid_file.py",
 line 304, in __flush
return self._coll.files.insert_one(
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/pymongo/collection.py",
 line 524, in insert_one
self._insert_one(
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/pymongo/collection.py",
 line 474, in _insert_one
self.__database.client._retryable_write(
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/pymongo/mongo_client.py",
 line 1340, in _retryable_write
return self._retry_with_session(retryable, func, s, None)
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/pymongo/mongo_client.py",
 line 1229, in _retry_with_session
return self._retry_internal(retryable, func, session, bulk)
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/pymongo/mongo_client.py",
 line 1261, in _retry_internal
return func(session, sock_info, retryable)
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/pymongo/collection.py",
 line 462, in _insert_command
result = sock_info.command(
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/pymongo/pool.py",
 line 735, in command
self._raise_connection_failure(error)
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/pymongo/pool.py",
 line 719, in command
return command(self, dbname, spec, secondary_ok,
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/pymongo/network.py",
 line 118, in command
request_id, msg, size, max_doc_size = message._op_msg(
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/pymongo/message.py",
 line 597, in _op_msg
return _op_msg_uncompressed(
  File 
"/home/terminal/work/boot-tests/venv/lib/python3.8/site-packages/bson/binary.py",
 line 251, in from_uuid
raise ValueError(
ValueError: cannot encode native uuid.UUID with UuidRepresentation.UNSPECIFIED. 
UUIDs can be manually converted to bson.Binary instances using 
bson.Binary.from_uuid() or a different UuidRepresentation can be configured. 
See the documentation for UuidRepresentation for more information.
___
gem5-users 

[gem5-users] gem5 v21.2 released!

2021-12-27 Thread Bobby Bruce via gem5-users
Dear all,

gem5 v21.2.0.0 has officially been released.

You can use  `git clone https://gem5.googlesource.com/public/gem5`
 to obtain the latest release
and consult the RELEASE-NOTES.md for a high-level overview of significant
changes:
https://gem5.googlesource.com/public/gem5/+/refs/heads/stable/RELEASE-NOTES.md

A special thank you to all our contributors for making this possible. We
had 790 commits from 33 unique contributors over the past few months. We
look forward to your continued support in our v22.0 release!

Kind regards,
Bobby
--
Dr. Bobby R. Bruce
Room 3050,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s