[gem5-users] Re: HPCG on RISCV

2022-09-21 Thread Jason Lowe-Power
Hi Nikos,

You can use --debug-start to start the debugging after some number of
ticks. Also, I would expect that the difference should come up quickly, so
no need to run the program to the end.

For the FS mode one, you will want to just start the trace as the
application starts. This could be a bit of a pain.

I'm not really sure what fundamentally could be different. FS and SE mode
use the exact same code for executing instructions, so I don't think that's
the problem. Have you tried running for smaller inputs or just one
iteration?

Jason



On Wed, Sep 21, 2022 at 9:04 AM Νικόλαος Ταμπουρατζής <
ntampourat...@ece.auth.gr> wrote:

> Dear Bobby,
>
> Iam trying to add --debug-flags=Exec (building the gem5 for gem5.opt
> not for gem5.fast which I had) but the debug traces exceed the 20GB
> (and it is not finished yet) for less than 1 simulated second. How can
> I reduce the size of the debug-flags (or set something more specific)?
>
> In contrast I build the HPCG benchmark with DHPCG_DEBUG flag. If you
> want, you can compare these two output files
> (hpcg20010909T014640_SE_Mode & HPCG-Benchmark_3.1_FS_Mode). As you can
> see, something goes wrong with the accuracy of calculations in FS mode
> (benchmark uses double precission). You can find the files here:
> http://kition.mhl.tuc.gr:8000/d/68d82f3533/
>
> Best regards,
> Nikos
>
> Quoting Jason Lowe-Power :
>
> > That's quite odd that it works in SE mode but not FS mode!
> >
> > I would suggest running with --debug-flags=Exec for both and then
> perform a
> > diff to see how they differ.
> >
> > Cheers,
> > Jason
> >
> > On Tue, Sep 20, 2022 at 2:45 PM Νικόλαος Ταμπουρατζής <
> > ntampourat...@ece.auth.gr> wrote:
> >
> >> Dear Bobby,
> >>
> >> In QEMU I get the same (correct) results that I get in SE mode
> >> simulation. I get invalid results in FS simulation (in both
> >> riscv-fs.py and riscv-ubuntu-run.py). I cannot access real RISCV
> >> hardware at this moment, however, if you want you may execute my xhpcg
> >> binary (http://kition.mhl.tuc.gr:8000/f/4ca25fdd3c/) with the
> >> following configuration:
> >>
> >> ./xhpcg --nx=16 --ny=16 --nz=16 --npx=1 --npy=1 --npz=1 --rt=0.1
> >>
> >> Please let me know if you have any updates!
> >>
> >> Best regards,
> >> Nikos
> >>
> >>
> >> Quoting Jason Lowe-Power :
> >>
> >> > Hi Nikos,
> >> >
> >> > I notice you said the following in your original email:
> >> >
> >> > In addition, I used the RISCV Ubuntu image
> >> >> (https://github.com/gem5/gem5-resources/tree/stable/src/riscv-ubuntu
> ),
> >> >> I installed the gcc compiler, compile it (through qemu) and I get
> >> >> wrong results too.
> >> >
> >> >
> >> > Is this saying you get the wrong results is QEMU? If so, the bug is in
> >> GCC
> >> > or the HPCG workload, not in gem5. If not, I would test in QEMU to
> make
> >> > sure the binary works there. Another way you could test to see if the
> >> > problem is your binary or gem5 would be to run it on real hardware. We
> >> have
> >> > access to some RISC-V hardware here at UC Davis, if you don't have
> access
> >> > to it.
> >> >
> >> > Cheers,
> >> > Jason
> >> >
> >> > On Tue, Sep 20, 2022 at 12:58 AM Νικόλαος Ταμπουρατζής <
> >> > ntampourat...@ece.auth.gr> wrote:
> >> >
> >> >> Dear Bobby,
> >> >>
> >> >> 1) I use the original riscv-fs.py which is provided in the latest
> gem5
> >> >> release.
> >> >> I run the gem5 once (./build/RISCV/gem5.fast -d ./HPCG_FS_results
> >> >> ./configs/example/gem5_library/riscv-fs.py) in order to download the
> >> >> riscv-bootloader-vmlinux-5.10 and riscv-disk-img.
> >> >> After this I mount the riscv-disk-img (sudo mount -o loop
> >> >> riscv-disk-img /mnt), put the xhpcg executable and I do the following
> >> >> changes in riscv-fs.py to boot the riscv-disk-img with executable:
> >> >>
> >> >> image = CustomDiskImageResource(
> >> >>  local_path = "/home/cossim/.cache/gem5/riscv-disk-img",
> >> >> )
> >> >>
> >> >> # Set the Full System workload.
> >> >> board.set_kernel_disk_workload(
> >> >> kernel=Resource("riscv-bootloader-vmlinux-5.10"),
> >> >> disk_image=image,
> >> >> )
> >> >>
> >> >> Finally, in the gem5/src/python/gem5/components/boards/riscv_board.py
> >> >> I change the last line to "return ["console=ttyS0",
> >> >> "root={root_value}", "rw"]" in order to allow the write permissions
> in
> >> >> the image.
> >> >>
> >> >>
> >> >> 2) The HPCG benchmark after some iterations calculates if the results
> >> >> are valid or not valid. In the case of FS it gives invalid results.
> As
> >> >> I see from the results, one (at least) problem is that produces
> >> >> different results in each HPCG execution (with the same
> configuration).
> >> >>
> >> >> Here is the HPCG output and riscv-fs.py
> >> >> (http://kition.mhl.tuc.gr:8000/d/68d82f3533/). You may reproduce the
> >> >> results in the video if you use the xhpcg executable
> >> >> (http://kition.mhl.tuc.gr:8000/f/4ca25fdd3c/)
> >> >>
> >> >> Please help me in order 

[gem5-users] Re: HPCG on RISCV

2022-09-21 Thread Νικόλαος Ταμπουρατζής

Dear Bobby,

Iam trying to add --debug-flags=Exec (building the gem5 for gem5.opt  
not for gem5.fast which I had) but the debug traces exceed the 20GB  
(and it is not finished yet) for less than 1 simulated second. How can  
I reduce the size of the debug-flags (or set something more specific)?


In contrast I build the HPCG benchmark with DHPCG_DEBUG flag. If you  
want, you can compare these two output files  
(hpcg20010909T014640_SE_Mode & HPCG-Benchmark_3.1_FS_Mode). As you can  
see, something goes wrong with the accuracy of calculations in FS mode  
(benchmark uses double precission). You can find the files here:  
http://kition.mhl.tuc.gr:8000/d/68d82f3533/


Best regards,
Nikos

Quoting Jason Lowe-Power :


That's quite odd that it works in SE mode but not FS mode!

I would suggest running with --debug-flags=Exec for both and then perform a
diff to see how they differ.

Cheers,
Jason

On Tue, Sep 20, 2022 at 2:45 PM Νικόλαος Ταμπουρατζής <
ntampourat...@ece.auth.gr> wrote:


Dear Bobby,

In QEMU I get the same (correct) results that I get in SE mode
simulation. I get invalid results in FS simulation (in both
riscv-fs.py and riscv-ubuntu-run.py). I cannot access real RISCV
hardware at this moment, however, if you want you may execute my xhpcg
binary (http://kition.mhl.tuc.gr:8000/f/4ca25fdd3c/) with the
following configuration:

./xhpcg --nx=16 --ny=16 --nz=16 --npx=1 --npy=1 --npz=1 --rt=0.1

Please let me know if you have any updates!

Best regards,
Nikos


Quoting Jason Lowe-Power :

> Hi Nikos,
>
> I notice you said the following in your original email:
>
> In addition, I used the RISCV Ubuntu image
>> (https://github.com/gem5/gem5-resources/tree/stable/src/riscv-ubuntu),
>> I installed the gcc compiler, compile it (through qemu) and I get
>> wrong results too.
>
>
> Is this saying you get the wrong results is QEMU? If so, the bug is in
GCC
> or the HPCG workload, not in gem5. If not, I would test in QEMU to make
> sure the binary works there. Another way you could test to see if the
> problem is your binary or gem5 would be to run it on real hardware. We
have
> access to some RISC-V hardware here at UC Davis, if you don't have access
> to it.
>
> Cheers,
> Jason
>
> On Tue, Sep 20, 2022 at 12:58 AM Νικόλαος Ταμπουρατζής <
> ntampourat...@ece.auth.gr> wrote:
>
>> Dear Bobby,
>>
>> 1) I use the original riscv-fs.py which is provided in the latest gem5
>> release.
>> I run the gem5 once (./build/RISCV/gem5.fast -d ./HPCG_FS_results
>> ./configs/example/gem5_library/riscv-fs.py) in order to download the
>> riscv-bootloader-vmlinux-5.10 and riscv-disk-img.
>> After this I mount the riscv-disk-img (sudo mount -o loop
>> riscv-disk-img /mnt), put the xhpcg executable and I do the following
>> changes in riscv-fs.py to boot the riscv-disk-img with executable:
>>
>> image = CustomDiskImageResource(
>>  local_path = "/home/cossim/.cache/gem5/riscv-disk-img",
>> )
>>
>> # Set the Full System workload.
>> board.set_kernel_disk_workload(
>> kernel=Resource("riscv-bootloader-vmlinux-5.10"),
>> disk_image=image,
>> )
>>
>> Finally, in the gem5/src/python/gem5/components/boards/riscv_board.py
>> I change the last line to "return ["console=ttyS0",
>> "root={root_value}", "rw"]" in order to allow the write permissions in
>> the image.
>>
>>
>> 2) The HPCG benchmark after some iterations calculates if the results
>> are valid or not valid. In the case of FS it gives invalid results. As
>> I see from the results, one (at least) problem is that produces
>> different results in each HPCG execution (with the same configuration).
>>
>> Here is the HPCG output and riscv-fs.py
>> (http://kition.mhl.tuc.gr:8000/d/68d82f3533/). You may reproduce the
>> results in the video if you use the xhpcg executable
>> (http://kition.mhl.tuc.gr:8000/f/4ca25fdd3c/)
>>
>> Please help me in order to solve it!
>>
>> Finally, I get invalid results in the HPL benchmark in FS mode too.
>>
>> Best regards,
>> Nikos
>>
>>
>> Quoting Bobby Bruce :
>>
>> > I'm going to need a bit more information to help:
>> >
>> > 1. In what way have you modified
>> > ./configs/example/gem5_library/riscv-fs.py? Can you attach the script
>> here?
>> > 2. What error are you getting or in what way are the results invalid?
>> >
>> > -
>> > Dr. Bobby R. Bruce
>> > Room 3050,
>> > Kemper Hall, UC Davis
>> > Davis,
>> > CA, 95616
>> >
>> > web: https://www.bobbybruce.net
>> >
>> >
>> > On Mon, Sep 19, 2022 at 1:43 PM Νικόλαος Ταμπουρατζής <
>> > ntampourat...@ece.auth.gr> wrote:
>> >
>> >>
>> >> Dear gem5 community,
>> >>
>> >> I have successfully cross-compile the HPCG benchmark for RISCV
(Serial
>> >> version, without MPI and OpenMP). While it working properly in gem5
SE
>> >> mode (./build/RISCV/gem5.fast -d ./HPCG_SE_results
>> >> ./configs/example/se.py -c xhpcg --options '--nx=16 --ny=16 --nz=16
>> >> --npx=1 --npy=1 --npz=1 --rt=0.1'), I get invalid results in FS
>> >> simulation using "./build/RISCV/gem5.fast -d 

[gem5-users] Re: 3D NoC and Routerless NoC support in gem5

2022-09-21 Thread Jason Lowe-Power
Hi Ali,

For a 3D mesh, you'll have to create your own topology. This video should
be helpful in explaining how to do that: https://youtu.be/rZ-AYaKBK4M

For the most recent updates to the network models, you can see information
on HeteroGarnet: https://www.gem5.org/2020/05/27/heterogarnet.html

Cheers,
Jason

On Wed, Sep 21, 2022 at 12:37 AM Ali Karazmoodeh 
wrote:

> Hello,
> I am new to gem5 and I want to simulate a 3D Mesh in Heterogarnet. I was
> wondering if there is a standard 3D Mesh topology file to build upon it and
> continue my work from there, or if each researcher needs to create their 3D
> topology from the 2D counterparts.
> Moreover, in the paper "The gem5 simulator: version 20.0+", it is
> mentioned that work is in progress to include support for routerless NoCs
> in the gem5 simulator. Where can I find this work?
>
> Sincerely yours,
> Ali Karazmoodeh.
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
>
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] 3D NoC and Routerless NoC support in gem5

2022-09-21 Thread Ali Karazmoodeh
Hello,
I am new to gem5 and I want to simulate a 3D Mesh in Heterogarnet. I was
wondering if there is a standard 3D Mesh topology file to build upon it and
continue my work from there, or if each researcher needs to create their 3D
topology from the 2D counterparts.
Moreover, in the paper "The gem5 simulator: version 20.0+", it is mentioned
that work is in progress to include support for routerless NoCs in the gem5
simulator. Where can I find this work?

Sincerely yours,
Ali Karazmoodeh.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org