gem5-users@gem5.org

The gem5 Users mailing list

View all threads

SPEC2017 in FS mode

BB
Bobby Bruce
Tue, May 25, 2021 6:04 PM

FYI: Hoa has a fix for this, reported here:
https://gem5.atlassian.net/browse/GEM5-996.

Thanks Hoa!

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

web: https://www.bobbybruce.net

On Mon, May 24, 2021 at 4:22 AM Hoa Nguyen via gem5-users <
gem5-users(a)gem5.org> wrote:

Hi Victor,

I see the problem now.

In install-spec2017 script line 21
(
https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/disk-image/spec-2017/install-spec2017.sh#21
),
we replace the default gcc_dir so that specmake will use
Ubuntu-installed gcc rather than spec's one.
More specifically, it will replace
gcc_dir = "/opt/rh/devtoolset-7/root/usr"
by
gcc_dir = "/usr"

However, in your SPEC 2017 disc, it comes with devtoolset-9 and not
devtoolset-7.

So, one way to fix that is to change "devtoolset-7" in the line 21 to
"devtoolset-9".

Regards,
Hoa Nguyen

On 5/20/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org> wrote:

Hi Hoa,

Thanks for the help. I'm able now to look into why the builds fail.

The gcc and gfortran commands are not found, which is weird since in
install-spec2017.sh there is a command for installing them. In the
terminal, I can clearly see that it is executed.

qemu: build-essential is already the newest version (12.4ubuntu1).

qemu: gfortran is already the newest version (4:7.4.0-1ubuntu2.3).
qemu: 0 upgraded, 0 newly installed, 0 to remove and 176 not upgraded.

But when it's time to build spec benchmarks they fail.

specmake: /opt/rh/devtoolset-9/root/usr/bin/gfortran: Command not found

Thanks

On Thu, 20 May 2021 at 21:01, Liyichao via gem5-users <

gem5-users(a)gem5.org>

wrote:

Hi Hoa:
Is the spec-2017 img just for X86?

  Does it support for AARCH64?Does it support for running with

KVM+O3?

-----邮件原件-----
发件人: Hoa Nguyen via gem5-users [mailto:gem5-users(a)gem5.org]
发送时间: 2021年5月19日 19:09
收件人: gem5 users mailing list <gem5-users(a)gem5.org>
抄送: Hoa Nguyen <hoanguyen(a)ucdavis.edu>
主题: [gem5-users] Re: SPEC2017 in FS mode

Hi Victor,

I'm not sure what caused the errors of building the spec benchmarks.

Also, I'm not sure how to prevent the vm from being closed after the
builds fail. However, there are a few steps can be done to exterminate
the
disk image after the builds fail:

  • In the file src/spec-2017/disk-image/spec-2017/install-spec2017.sh,
    the last line "rm -f /home/gem5/spec2017/result/*" should be removed to
    keep the log generated by spec during benchmark compilation time.
  • When running packer, you can run "./packer build -on-error=abort
    spec-2017/spec-2017.json" to keep the disk image if the disk image
    building
    process fails.
  • After that, you can mount the disk image and check the log file
    generated by spec.

packer fails due to "output directory already exists". In this case,
you'll need to remove the "spec-2017/spec-2017-image" folder before
starting packer again.

Regards,
Hoa Nguyen

On 5/17/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org>
wrote:

Hi,

I've tried running the SPEC2017 benchmarks in FS mode of gem5 using
the instructions/files provided by the gem5 resources page.

e/src/spec-2017

I've also followed the step by step instructions in the git repo for
gem5-art.

https://github.com/darchr/gem5art-experiments/blob/master/README.md

Everything works as intended until the benchmarks are supposed to be

built.

All of them fail with one of the two following errors:

  1. Error with make!
  2. Error with fdo_make_pass1!

First of all, why is this happening? Secondly, the vm closes after the
builds fail. I don't have the opportunity to check the make.out files
that have more information about the errors. Is there a way to prevent
the connection from closing or reopening it again? Running it again
with packer fails due to the directory existing already.

I'd appreciate any help,
Victor


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


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


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

FYI: Hoa has a fix for this, reported here: https://gem5.atlassian.net/browse/GEM5-996. Thanks Hoa! -- Dr. Bobby R. Bruce Room 3050, Kemper Hall, UC Davis Davis, CA, 95616 web: https://www.bobbybruce.net On Mon, May 24, 2021 at 4:22 AM Hoa Nguyen via gem5-users < gem5-users(a)gem5.org> wrote: > Hi Victor, > > I see the problem now. > > In install-spec2017 script line 21 > ( > https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/disk-image/spec-2017/install-spec2017.sh#21 > ), > we replace the default gcc_dir so that specmake will use > Ubuntu-installed gcc rather than spec's one. > More specifically, it will replace > gcc_dir = "/opt/rh/devtoolset-7/root/usr" > by > gcc_dir = "/usr" > > However, in your SPEC 2017 disc, it comes with devtoolset-9 and not > devtoolset-7. > > So, one way to fix that is to change "devtoolset-7" in the line 21 to > "devtoolset-9". > > Regards, > Hoa Nguyen > > On 5/20/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org> wrote: > > Hi Hoa, > > > > Thanks for the help. I'm able now to look into why the builds fail. > > > > The gcc and gfortran commands are not found, which is weird since in > > *install-spec2017.sh* there is a command for installing them. In the > > terminal, I can clearly see that it is executed. > > > > qemu: build-essential is already the newest version (12.4ubuntu1). > >> qemu: gfortran is already the newest version (4:7.4.0-1ubuntu2.3). > >> qemu: 0 upgraded, 0 newly installed, 0 to remove and 176 not upgraded. > >> > > > > But when it's time to build spec benchmarks they fail. > > > > specmake: /opt/rh/devtoolset-9/root/usr/bin/gfortran: Command not found > >> > > > > Thanks > > > > On Thu, 20 May 2021 at 21:01, Liyichao via gem5-users < > gem5-users(a)gem5.org> > > wrote: > > > >> Hi Hoa: > >> Is the spec-2017 img just for X86? > >> > >> Does it support for AARCH64?Does it support for running with > KVM+O3? > >> > >> > >> -----邮件原件----- > >> 发件人: Hoa Nguyen via gem5-users [mailto:gem5-users(a)gem5.org] > >> 发送时间: 2021年5月19日 19:09 > >> 收件人: gem5 users mailing list <gem5-users(a)gem5.org> > >> 抄送: Hoa Nguyen <hoanguyen(a)ucdavis.edu> > >> 主题: [gem5-users] Re: SPEC2017 in FS mode > >> > >> Hi Victor, > >> > >> I'm not sure what caused the errors of building the spec benchmarks. > >> > >> Also, I'm not sure how to prevent the vm from being closed after the > >> builds fail. However, there are a few steps can be done to exterminate > >> the > >> disk image after the builds fail: > >> - In the file src/spec-2017/disk-image/spec-2017/install-spec2017.sh, > >> the last line "rm -f /home/gem5/spec2017/result/*" should be removed to > >> keep the log generated by spec during benchmark compilation time. > >> - When running packer, you can run "./packer build -on-error=abort > >> spec-2017/spec-2017.json" to keep the disk image if the disk image > >> building > >> process fails. > >> - After that, you can mount the disk image and check the log file > >> generated by spec. > >> > >> packer fails due to "output directory already exists". In this case, > >> you'll need to remove the "spec-2017/spec-2017-image" folder before > >> starting packer again. > >> > >> Regards, > >> Hoa Nguyen > >> > >> On 5/17/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org> > >> wrote: > >> > Hi, > >> > > >> > I've tried running the SPEC2017 benchmarks in FS mode of gem5 using > >> > the instructions/files provided by the gem5 resources page. > >> > > >> > > https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stabl > >> > e/src/spec-2017 > >> > > >> > I've also followed the step by step instructions in the git repo for > >> > gem5-art. > >> > > >> > https://github.com/darchr/gem5art-experiments/blob/master/README.md > >> > > >> > Everything works as intended until the benchmarks are supposed to be > >> built. > >> > All of them fail with one of the two following errors: > >> > > >> > 1) Error with make! > >> > 2) Error with fdo_make_pass1! > >> > > >> > First of all, why is this happening? Secondly, the vm closes after the > >> > builds fail. I don't have the opportunity to check the make.out files > >> > that have more information about the errors. Is there a way to prevent > >> > the connection from closing or reopening it again? Running it again > >> > with packer fails due to the directory existing already. > >> > > >> > I'd appreciate any help, > >> > Victor > >> > > >> _______________________________________________ > >> gem5-users mailing list -- gem5-users(a)gem5.org To unsubscribe send an > >> email to gem5-users-leave(a)gem5.org > >> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s > >> _______________________________________________ > >> gem5-users mailing list -- gem5-users(a)gem5.org > >> To unsubscribe send an email to gem5-users-leave(a)gem5.org > >> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s > > > _______________________________________________ > gem5-users mailing list -- gem5-users(a)gem5.org > To unsubscribe send an email to gem5-users-leave(a)gem5.org > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
VK
Victor Kariofillis
Thu, May 27, 2021 11:43 PM

First of all, thanks Hoa for the help. Indeed, there was an issue with the
gcc directory.

Unfortunately, I'm having some other issues as well.

  1. With the gem5 resources method, the intrate benchmarks build and train
    successfully in the vm. (Only 502.gcc_r has a problem). However, using
    run_spec.py to run them with gem5 results in an error.

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "build/X86/python/m5/main.py", line 457, in main
File "~/spec2017/gem5-resources/configs/run_spec.py", line 254, in
<module>
root, system = create_system(linux_kernel_path, disk_image_path,
File "~/spec2017/gem5-resources/configs/run_spec.py", line 142, in
create_system
system = MySystem(kernel = linux_kernel_path,
File "~/spec2017/gem5-resources/configs/system/system.py", line 63, in
init
self.system_port = self.membus.cpu_side_ports
File "build/X86/python/m5/SimObject.py", line 1277, in getattr
AttributeError: object 'SystemXBar' has no attribute 'cpu_side_ports'
(C++ object is not yet constructed, so wrapped C++ methods are
unavailable.)

I know that gem5 has made some changes recently to the naming of the ports,
but looking at SystemXBar there is definitely a cpu_side_ports object.

  1. I've also tried the approach using gem5art based on this
    http://www.gem5.org/documentation/gem5art/tutorials/spec-tutorial
    tutorial. There are two issues.
    a) I get an error that there is no -E option for the celery command.
    Looking at the documentation of celery and at --help, there's no mention of
    an -E option.
    b) At the end of the launch_spec2017_experiment.py file, there is mention
    of run_script_repo that is not defined as an artifact beforehand. Should it
    be defined, and if yes how?

Thanks,
Victor

On Tue, 25 May 2021 at 14:05, Bobby Bruce via gem5-users <
gem5-users(a)gem5.org> wrote:

FYI: Hoa has a fix for this, reported here:
https://gem5.atlassian.net/browse/GEM5-996.

Thanks Hoa!

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

web: https://www.bobbybruce.net

On Mon, May 24, 2021 at 4:22 AM Hoa Nguyen via gem5-users <
gem5-users(a)gem5.org> wrote:

Hi Victor,

I see the problem now.

In install-spec2017 script line 21
(
https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/disk-image/spec-2017/install-spec2017.sh#21
),
we replace the default gcc_dir so that specmake will use
Ubuntu-installed gcc rather than spec's one.
More specifically, it will replace
gcc_dir = "/opt/rh/devtoolset-7/root/usr"
by
gcc_dir = "/usr"

However, in your SPEC 2017 disc, it comes with devtoolset-9 and not
devtoolset-7.

So, one way to fix that is to change "devtoolset-7" in the line 21 to
"devtoolset-9".

Regards,
Hoa Nguyen

On 5/20/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org>
wrote:

Hi Hoa,

Thanks for the help. I'm able now to look into why the builds fail.

The gcc and gfortran commands are not found, which is weird since in
install-spec2017.sh there is a command for installing them. In the
terminal, I can clearly see that it is executed.

qemu: build-essential is already the newest version (12.4ubuntu1).

qemu: gfortran is already the newest version (4:7.4.0-1ubuntu2.3).
qemu: 0 upgraded, 0 newly installed, 0 to remove and 176 not upgraded.

But when it's time to build spec benchmarks they fail.

specmake: /opt/rh/devtoolset-9/root/usr/bin/gfortran: Command not found

Thanks

On Thu, 20 May 2021 at 21:01, Liyichao via gem5-users <

gem5-users(a)gem5.org>

wrote:

Hi Hoa:
Is the spec-2017 img just for X86?

  Does it support for AARCH64?Does it support for running with

KVM+O3?

-----邮件原件-----
发件人: Hoa Nguyen via gem5-users [mailto:gem5-users(a)gem5.org]
发送时间: 2021年5月19日 19:09
收件人: gem5 users mailing list <gem5-users(a)gem5.org>
抄送: Hoa Nguyen <hoanguyen(a)ucdavis.edu>
主题: [gem5-users] Re: SPEC2017 in FS mode

Hi Victor,

I'm not sure what caused the errors of building the spec benchmarks.

Also, I'm not sure how to prevent the vm from being closed after the
builds fail. However, there are a few steps can be done to exterminate
the
disk image after the builds fail:

  • In the file src/spec-2017/disk-image/spec-2017/install-spec2017.sh,
    the last line "rm -f /home/gem5/spec2017/result/*" should be removed to
    keep the log generated by spec during benchmark compilation time.
  • When running packer, you can run "./packer build -on-error=abort
    spec-2017/spec-2017.json" to keep the disk image if the disk image
    building
    process fails.
  • After that, you can mount the disk image and check the log file
    generated by spec.

packer fails due to "output directory already exists". In this case,
you'll need to remove the "spec-2017/spec-2017-image" folder before
starting packer again.

Regards,
Hoa Nguyen

On 5/17/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org>
wrote:

Hi,

I've tried running the SPEC2017 benchmarks in FS mode of gem5 using
the instructions/files provided by the gem5 resources page.

e/src/spec-2017

I've also followed the step by step instructions in the git repo for
gem5-art.

https://github.com/darchr/gem5art-experiments/blob/master/README.md

Everything works as intended until the benchmarks are supposed to be

built.

All of them fail with one of the two following errors:

  1. Error with make!
  2. Error with fdo_make_pass1!

First of all, why is this happening? Secondly, the vm closes after

the

builds fail. I don't have the opportunity to check the make.out files
that have more information about the errors. Is there a way to

prevent

the connection from closing or reopening it again? Running it again
with packer fails due to the directory existing already.

I'd appreciate any help,
Victor


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


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


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


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

First of all, thanks Hoa for the help. Indeed, there was an issue with the gcc directory. Unfortunately, I'm having some other issues as well. 1) With the gem5 resources method, the intrate benchmarks build and train successfully in the vm. (Only 502.gcc_r has a problem). However, using run_spec.py to run them with gem5 results in an error. Traceback (most recent call last): File "<string>", line 1, in <module> File "build/X86/python/m5/main.py", line 457, in main File "~/spec2017/gem5-resources/configs/run_spec.py", line 254, in <module> root, system = create_system(linux_kernel_path, disk_image_path, File "~/spec2017/gem5-resources/configs/run_spec.py", line 142, in create_system system = MySystem(kernel = linux_kernel_path, File "~/spec2017/gem5-resources/configs/system/system.py", line 63, in __init__ self.system_port = self.membus.cpu_side_ports File "build/X86/python/m5/SimObject.py", line 1277, in __getattr__ *AttributeError: object 'SystemXBar' has no attribute 'cpu_side_ports'* (C++ object is not yet constructed, so wrapped C++ methods are unavailable.) I know that gem5 has made some changes recently to the naming of the ports, but looking at SystemXBar there is definitely a cpu_side_ports object. 2) I've also tried the approach using gem5art based on this <http://www.gem5.org/documentation/gem5art/tutorials/spec-tutorial> tutorial. There are two issues. a) I get an error that there is no -E option for the celery command. Looking at the documentation of celery and at --help, there's no mention of an -E option. b) At the end of the launch_spec2017_experiment.py file, there is mention of run_script_repo that is not defined as an artifact beforehand. Should it be defined, and if yes how? Thanks, Victor On Tue, 25 May 2021 at 14:05, Bobby Bruce via gem5-users < gem5-users(a)gem5.org> wrote: > FYI: Hoa has a fix for this, reported here: > https://gem5.atlassian.net/browse/GEM5-996. > > Thanks Hoa! > -- > Dr. Bobby R. Bruce > Room 3050, > Kemper Hall, UC Davis > Davis, > CA, 95616 > > web: https://www.bobbybruce.net > > > On Mon, May 24, 2021 at 4:22 AM Hoa Nguyen via gem5-users < > gem5-users(a)gem5.org> wrote: > >> Hi Victor, >> >> I see the problem now. >> >> In install-spec2017 script line 21 >> ( >> https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/disk-image/spec-2017/install-spec2017.sh#21 >> ), >> we replace the default gcc_dir so that specmake will use >> Ubuntu-installed gcc rather than spec's one. >> More specifically, it will replace >> gcc_dir = "/opt/rh/devtoolset-7/root/usr" >> by >> gcc_dir = "/usr" >> >> However, in your SPEC 2017 disc, it comes with devtoolset-9 and not >> devtoolset-7. >> >> So, one way to fix that is to change "devtoolset-7" in the line 21 to >> "devtoolset-9". >> >> Regards, >> Hoa Nguyen >> >> On 5/20/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org> >> wrote: >> > Hi Hoa, >> > >> > Thanks for the help. I'm able now to look into why the builds fail. >> > >> > The gcc and gfortran commands are not found, which is weird since in >> > *install-spec2017.sh* there is a command for installing them. In the >> > terminal, I can clearly see that it is executed. >> > >> > qemu: build-essential is already the newest version (12.4ubuntu1). >> >> qemu: gfortran is already the newest version (4:7.4.0-1ubuntu2.3). >> >> qemu: 0 upgraded, 0 newly installed, 0 to remove and 176 not upgraded. >> >> >> > >> > But when it's time to build spec benchmarks they fail. >> > >> > specmake: /opt/rh/devtoolset-9/root/usr/bin/gfortran: Command not found >> >> >> > >> > Thanks >> > >> > On Thu, 20 May 2021 at 21:01, Liyichao via gem5-users < >> gem5-users(a)gem5.org> >> > wrote: >> > >> >> Hi Hoa: >> >> Is the spec-2017 img just for X86? >> >> >> >> Does it support for AARCH64?Does it support for running with >> KVM+O3? >> >> >> >> >> >> -----邮件原件----- >> >> 发件人: Hoa Nguyen via gem5-users [mailto:gem5-users(a)gem5.org] >> >> 发送时间: 2021年5月19日 19:09 >> >> 收件人: gem5 users mailing list <gem5-users(a)gem5.org> >> >> 抄送: Hoa Nguyen <hoanguyen(a)ucdavis.edu> >> >> 主题: [gem5-users] Re: SPEC2017 in FS mode >> >> >> >> Hi Victor, >> >> >> >> I'm not sure what caused the errors of building the spec benchmarks. >> >> >> >> Also, I'm not sure how to prevent the vm from being closed after the >> >> builds fail. However, there are a few steps can be done to exterminate >> >> the >> >> disk image after the builds fail: >> >> - In the file src/spec-2017/disk-image/spec-2017/install-spec2017.sh, >> >> the last line "rm -f /home/gem5/spec2017/result/*" should be removed to >> >> keep the log generated by spec during benchmark compilation time. >> >> - When running packer, you can run "./packer build -on-error=abort >> >> spec-2017/spec-2017.json" to keep the disk image if the disk image >> >> building >> >> process fails. >> >> - After that, you can mount the disk image and check the log file >> >> generated by spec. >> >> >> >> packer fails due to "output directory already exists". In this case, >> >> you'll need to remove the "spec-2017/spec-2017-image" folder before >> >> starting packer again. >> >> >> >> Regards, >> >> Hoa Nguyen >> >> >> >> On 5/17/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org> >> >> wrote: >> >> > Hi, >> >> > >> >> > I've tried running the SPEC2017 benchmarks in FS mode of gem5 using >> >> > the instructions/files provided by the gem5 resources page. >> >> > >> >> > >> https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stabl >> >> > e/src/spec-2017 >> >> > >> >> > I've also followed the step by step instructions in the git repo for >> >> > gem5-art. >> >> > >> >> > https://github.com/darchr/gem5art-experiments/blob/master/README.md >> >> > >> >> > Everything works as intended until the benchmarks are supposed to be >> >> built. >> >> > All of them fail with one of the two following errors: >> >> > >> >> > 1) Error with make! >> >> > 2) Error with fdo_make_pass1! >> >> > >> >> > First of all, why is this happening? Secondly, the vm closes after >> the >> >> > builds fail. I don't have the opportunity to check the make.out files >> >> > that have more information about the errors. Is there a way to >> prevent >> >> > the connection from closing or reopening it again? Running it again >> >> > with packer fails due to the directory existing already. >> >> > >> >> > I'd appreciate any help, >> >> > Victor >> >> > >> >> _______________________________________________ >> >> gem5-users mailing list -- gem5-users(a)gem5.org To unsubscribe send an >> >> email to gem5-users-leave(a)gem5.org >> >> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s >> >> _______________________________________________ >> >> gem5-users mailing list -- gem5-users(a)gem5.org >> >> To unsubscribe send an email to gem5-users-leave(a)gem5.org >> >> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s >> > >> _______________________________________________ >> gem5-users mailing list -- gem5-users(a)gem5.org >> To unsubscribe send an email to gem5-users-leave(a)gem5.org >> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s > > _______________________________________________ > gem5-users mailing list -- gem5-users(a)gem5.org > To unsubscribe send an email to gem5-users-leave(a)gem5.org > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
HN
Hoa Nguyen
Sun, May 30, 2021 11:16 PM

Hi Victor,

Thanks for reporting these problems! It really helps us improve the resources.

Regarding 1), I'm not sure about the cause of the error. However,
please make sure that you are using gem5/stable with
gem5-resources/stable. An alternative is to use gem5/develop with
gem5-resources/develop.

As a note, the current spec-2017 configs in gem5-resources/stable is
broken. To fix this, you'll need to cherry-pick this change
(https://gem5-review.googlesource.com/c/public/gem5-resources/+/46219).
There is a download button telling the commands could be used to
cherry-pick the change.

Regarding 2a), it seems that celery has changed since we made that
tutorials. An alternative is to use run_job_pool() as specified here
(https://gem5art.readthedocs.io/en/latest/main-doc/faq.html) and here
(https://gem5art.readthedocs.io/en/latest/main-doc/tasks.html#use-of-python-multiprocessing).

Regarding 2b), it should be "experiments_repo" that is defined earlier
in the tutorial instead of "run_script_repo".

Regards,
Hoa Nguyen

On 5/27/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org> wrote:

First of all, thanks Hoa for the help. Indeed, there was an issue with the
gcc directory.

Unfortunately, I'm having some other issues as well.

  1. With the gem5 resources method, the intrate benchmarks build and train
    successfully in the vm. (Only 502.gcc_r has a problem). However, using
    run_spec.py to run them with gem5 results in an error.

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "build/X86/python/m5/main.py", line 457, in main
File "~/spec2017/gem5-resources/configs/run_spec.py", line 254, in
<module>
root, system = create_system(linux_kernel_path, disk_image_path,
File "~/spec2017/gem5-resources/configs/run_spec.py", line 142, in
create_system
system = MySystem(kernel = linux_kernel_path,
File "~/spec2017/gem5-resources/configs/system/system.py", line 63, in
init
self.system_port = self.membus.cpu_side_ports
File "build/X86/python/m5/SimObject.py", line 1277, in getattr
AttributeError: object 'SystemXBar' has no attribute 'cpu_side_ports'
(C++ object is not yet constructed, so wrapped C++ methods are
unavailable.)

I know that gem5 has made some changes recently to the naming of the ports,
but looking at SystemXBar there is definitely a cpu_side_ports object.

  1. I've also tried the approach using gem5art based on this
    http://www.gem5.org/documentation/gem5art/tutorials/spec-tutorial
    tutorial. There are two issues.
    a) I get an error that there is no -E option for the celery command.
    Looking at the documentation of celery and at --help, there's no mention of
    an -E option.
    b) At the end of the launch_spec2017_experiment.py file, there is mention
    of run_script_repo that is not defined as an artifact beforehand. Should it
    be defined, and if yes how?

Thanks,
Victor

On Tue, 25 May 2021 at 14:05, Bobby Bruce via gem5-users <
gem5-users(a)gem5.org> wrote:

FYI: Hoa has a fix for this, reported here:
https://gem5.atlassian.net/browse/GEM5-996.

Thanks Hoa!

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

web: https://www.bobbybruce.net

On Mon, May 24, 2021 at 4:22 AM Hoa Nguyen via gem5-users <
gem5-users(a)gem5.org> wrote:

Hi Victor,

I see the problem now.

In install-spec2017 script line 21
(
https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/disk-image/spec-2017/install-spec2017.sh#21
),
we replace the default gcc_dir so that specmake will use
Ubuntu-installed gcc rather than spec's one.
More specifically, it will replace
gcc_dir = "/opt/rh/devtoolset-7/root/usr"
by
gcc_dir = "/usr"

However, in your SPEC 2017 disc, it comes with devtoolset-9 and not
devtoolset-7.

So, one way to fix that is to change "devtoolset-7" in the line 21 to
"devtoolset-9".

Regards,
Hoa Nguyen

On 5/20/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org>
wrote:

Hi Hoa,

Thanks for the help. I'm able now to look into why the builds fail.

The gcc and gfortran commands are not found, which is weird since in
install-spec2017.sh there is a command for installing them. In the
terminal, I can clearly see that it is executed.

qemu: build-essential is already the newest version (12.4ubuntu1).

qemu: gfortran is already the newest version (4:7.4.0-1ubuntu2.3).
qemu: 0 upgraded, 0 newly installed, 0 to remove and 176 not
upgraded.

But when it's time to build spec benchmarks they fail.

specmake: /opt/rh/devtoolset-9/root/usr/bin/gfortran: Command not
found

Thanks

On Thu, 20 May 2021 at 21:01, Liyichao via gem5-users <

gem5-users(a)gem5.org>

wrote:

Hi Hoa:
Is the spec-2017 img just for X86?

  Does it support for AARCH64?Does it support for running with

KVM+O3?

-----邮件原件-----
发件人: Hoa Nguyen via gem5-users [mailto:gem5-users(a)gem5.org]
发送时间: 2021年5月19日 19:09
收件人: gem5 users mailing list <gem5-users(a)gem5.org>
抄送: Hoa Nguyen <hoanguyen(a)ucdavis.edu>
主题: [gem5-users] Re: SPEC2017 in FS mode

Hi Victor,

I'm not sure what caused the errors of building the spec benchmarks.

Also, I'm not sure how to prevent the vm from being closed after the
builds fail. However, there are a few steps can be done to
exterminate
the
disk image after the builds fail:

  • In the file src/spec-2017/disk-image/spec-2017/install-spec2017.sh,
    the last line "rm -f /home/gem5/spec2017/result/*" should be removed
    to
    keep the log generated by spec during benchmark compilation time.
  • When running packer, you can run "./packer build -on-error=abort
    spec-2017/spec-2017.json" to keep the disk image if the disk image
    building
    process fails.
  • After that, you can mount the disk image and check the log file
    generated by spec.

packer fails due to "output directory already exists". In this case,
you'll need to remove the "spec-2017/spec-2017-image" folder before
starting packer again.

Regards,
Hoa Nguyen

On 5/17/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org>
wrote:

Hi,

I've tried running the SPEC2017 benchmarks in FS mode of gem5 using
the instructions/files provided by the gem5 resources page.

e/src/spec-2017

I've also followed the step by step instructions in the git repo
for
gem5-art.

https://github.com/darchr/gem5art-experiments/blob/master/README.md

Everything works as intended until the benchmarks are supposed to
be

built.

All of them fail with one of the two following errors:

  1. Error with make!
  2. Error with fdo_make_pass1!

First of all, why is this happening? Secondly, the vm closes after

the

builds fail. I don't have the opportunity to check the make.out
files
that have more information about the errors. Is there a way to

prevent

the connection from closing or reopening it again? Running it again
with packer fails due to the directory existing already.

I'd appreciate any help,
Victor


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


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


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


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

Hi Victor, Thanks for reporting these problems! It really helps us improve the resources. Regarding 1), I'm not sure about the cause of the error. However, please make sure that you are using gem5/stable with gem5-resources/stable. An alternative is to use gem5/develop with gem5-resources/develop. As a note, the current spec-2017 configs in gem5-resources/stable is broken. To fix this, you'll need to cherry-pick this change (https://gem5-review.googlesource.com/c/public/gem5-resources/+/46219). There is a download button telling the commands could be used to cherry-pick the change. Regarding 2a), it seems that celery has changed since we made that tutorials. An alternative is to use run_job_pool() as specified here (https://gem5art.readthedocs.io/en/latest/main-doc/faq.html) and here (https://gem5art.readthedocs.io/en/latest/main-doc/tasks.html#use-of-python-multiprocessing). Regarding 2b), it should be "experiments_repo" that is defined earlier in the tutorial instead of "run_script_repo". Regards, Hoa Nguyen On 5/27/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org> wrote: > First of all, thanks Hoa for the help. Indeed, there was an issue with the > gcc directory. > > Unfortunately, I'm having some other issues as well. > > 1) With the gem5 resources method, the intrate benchmarks build and train > successfully in the vm. (Only 502.gcc_r has a problem). However, using > run_spec.py to run them with gem5 results in an error. > > Traceback (most recent call last): > File "<string>", line 1, in <module> > File "build/X86/python/m5/main.py", line 457, in main > File "~/spec2017/gem5-resources/configs/run_spec.py", line 254, in > <module> > root, system = create_system(linux_kernel_path, disk_image_path, > File "~/spec2017/gem5-resources/configs/run_spec.py", line 142, in > create_system > system = MySystem(kernel = linux_kernel_path, > File "~/spec2017/gem5-resources/configs/system/system.py", line 63, in > __init__ > self.system_port = self.membus.cpu_side_ports > File "build/X86/python/m5/SimObject.py", line 1277, in __getattr__ > *AttributeError: object 'SystemXBar' has no attribute 'cpu_side_ports'* > (C++ object is not yet constructed, so wrapped C++ methods are > unavailable.) > > I know that gem5 has made some changes recently to the naming of the ports, > but looking at SystemXBar there is definitely a cpu_side_ports object. > > 2) I've also tried the approach using gem5art based on this > <http://www.gem5.org/documentation/gem5art/tutorials/spec-tutorial> > tutorial. There are two issues. > a) I get an error that there is no -E option for the celery command. > Looking at the documentation of celery and at --help, there's no mention of > an -E option. > b) At the end of the launch_spec2017_experiment.py file, there is mention > of run_script_repo that is not defined as an artifact beforehand. Should it > be defined, and if yes how? > > Thanks, > Victor > > On Tue, 25 May 2021 at 14:05, Bobby Bruce via gem5-users < > gem5-users(a)gem5.org> wrote: > >> FYI: Hoa has a fix for this, reported here: >> https://gem5.atlassian.net/browse/GEM5-996. >> >> Thanks Hoa! >> -- >> Dr. Bobby R. Bruce >> Room 3050, >> Kemper Hall, UC Davis >> Davis, >> CA, 95616 >> >> web: https://www.bobbybruce.net >> >> >> On Mon, May 24, 2021 at 4:22 AM Hoa Nguyen via gem5-users < >> gem5-users(a)gem5.org> wrote: >> >>> Hi Victor, >>> >>> I see the problem now. >>> >>> In install-spec2017 script line 21 >>> ( >>> https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/disk-image/spec-2017/install-spec2017.sh#21 >>> ), >>> we replace the default gcc_dir so that specmake will use >>> Ubuntu-installed gcc rather than spec's one. >>> More specifically, it will replace >>> gcc_dir = "/opt/rh/devtoolset-7/root/usr" >>> by >>> gcc_dir = "/usr" >>> >>> However, in your SPEC 2017 disc, it comes with devtoolset-9 and not >>> devtoolset-7. >>> >>> So, one way to fix that is to change "devtoolset-7" in the line 21 to >>> "devtoolset-9". >>> >>> Regards, >>> Hoa Nguyen >>> >>> On 5/20/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org> >>> wrote: >>> > Hi Hoa, >>> > >>> > Thanks for the help. I'm able now to look into why the builds fail. >>> > >>> > The gcc and gfortran commands are not found, which is weird since in >>> > *install-spec2017.sh* there is a command for installing them. In the >>> > terminal, I can clearly see that it is executed. >>> > >>> > qemu: build-essential is already the newest version (12.4ubuntu1). >>> >> qemu: gfortran is already the newest version (4:7.4.0-1ubuntu2.3). >>> >> qemu: 0 upgraded, 0 newly installed, 0 to remove and 176 not >>> >> upgraded. >>> >> >>> > >>> > But when it's time to build spec benchmarks they fail. >>> > >>> > specmake: /opt/rh/devtoolset-9/root/usr/bin/gfortran: Command not >>> > found >>> >> >>> > >>> > Thanks >>> > >>> > On Thu, 20 May 2021 at 21:01, Liyichao via gem5-users < >>> gem5-users(a)gem5.org> >>> > wrote: >>> > >>> >> Hi Hoa: >>> >> Is the spec-2017 img just for X86? >>> >> >>> >> Does it support for AARCH64?Does it support for running with >>> KVM+O3? >>> >> >>> >> >>> >> -----邮件原件----- >>> >> 发件人: Hoa Nguyen via gem5-users [mailto:gem5-users(a)gem5.org] >>> >> 发送时间: 2021年5月19日 19:09 >>> >> 收件人: gem5 users mailing list <gem5-users(a)gem5.org> >>> >> 抄送: Hoa Nguyen <hoanguyen(a)ucdavis.edu> >>> >> 主题: [gem5-users] Re: SPEC2017 in FS mode >>> >> >>> >> Hi Victor, >>> >> >>> >> I'm not sure what caused the errors of building the spec benchmarks. >>> >> >>> >> Also, I'm not sure how to prevent the vm from being closed after the >>> >> builds fail. However, there are a few steps can be done to >>> >> exterminate >>> >> the >>> >> disk image after the builds fail: >>> >> - In the file src/spec-2017/disk-image/spec-2017/install-spec2017.sh, >>> >> the last line "rm -f /home/gem5/spec2017/result/*" should be removed >>> >> to >>> >> keep the log generated by spec during benchmark compilation time. >>> >> - When running packer, you can run "./packer build -on-error=abort >>> >> spec-2017/spec-2017.json" to keep the disk image if the disk image >>> >> building >>> >> process fails. >>> >> - After that, you can mount the disk image and check the log file >>> >> generated by spec. >>> >> >>> >> packer fails due to "output directory already exists". In this case, >>> >> you'll need to remove the "spec-2017/spec-2017-image" folder before >>> >> starting packer again. >>> >> >>> >> Regards, >>> >> Hoa Nguyen >>> >> >>> >> On 5/17/21, Victor Kariofillis via gem5-users <gem5-users(a)gem5.org> >>> >> wrote: >>> >> > Hi, >>> >> > >>> >> > I've tried running the SPEC2017 benchmarks in FS mode of gem5 using >>> >> > the instructions/files provided by the gem5 resources page. >>> >> > >>> >> > >>> https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stabl >>> >> > e/src/spec-2017 >>> >> > >>> >> > I've also followed the step by step instructions in the git repo >>> >> > for >>> >> > gem5-art. >>> >> > >>> >> > https://github.com/darchr/gem5art-experiments/blob/master/README.md >>> >> > >>> >> > Everything works as intended until the benchmarks are supposed to >>> >> > be >>> >> built. >>> >> > All of them fail with one of the two following errors: >>> >> > >>> >> > 1) Error with make! >>> >> > 2) Error with fdo_make_pass1! >>> >> > >>> >> > First of all, why is this happening? Secondly, the vm closes after >>> the >>> >> > builds fail. I don't have the opportunity to check the make.out >>> >> > files >>> >> > that have more information about the errors. Is there a way to >>> prevent >>> >> > the connection from closing or reopening it again? Running it again >>> >> > with packer fails due to the directory existing already. >>> >> > >>> >> > I'd appreciate any help, >>> >> > Victor >>> >> > >>> >> _______________________________________________ >>> >> gem5-users mailing list -- gem5-users(a)gem5.org To unsubscribe send an >>> >> email to gem5-users-leave(a)gem5.org >>> >> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s >>> >> _______________________________________________ >>> >> gem5-users mailing list -- gem5-users(a)gem5.org >>> >> To unsubscribe send an email to gem5-users-leave(a)gem5.org >>> >> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s >>> > >>> _______________________________________________ >>> gem5-users mailing list -- gem5-users(a)gem5.org >>> To unsubscribe send an email to gem5-users-leave(a)gem5.org >>> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s >> >> _______________________________________________ >> gem5-users mailing list -- gem5-users(a)gem5.org >> To unsubscribe send an email to gem5-users-leave(a)gem5.org >> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s >