[gem5-users] Re: Extra timing for specific instruction not registered for RISC-V

2020-12-02 Thread Gabe Black via gem5-users
I just did a quick check, and it looks like the RISCV ISA definition
includes support for the instruction based pseudo ops. If you add support
to the m5 utility, then it might just work.

Gabe

On Wed, Dec 2, 2020 at 9:04 PM Volkan Mutlu via gem5-users <
gem5-users@gem5.org> wrote:

> Hello everyone, I believe I found a small problem with the way custom
> timings are handled through the MinorFUTiming class. I wanted to submit it
> to the tracker but the Jira webpage constantly keeps refreshing and I can't
> access any issue pages. If anybody knows an alternate way to make this
> issue known please let me know.
>
> I was trying to add a new functional unit to the MinorCPU through the
> python interface and I specified some custom timings for a set of custom
> instructions that I have. One snippet looked like this:
>
> timings =
> [MinorFUTiming(match=0x200300b,mask=0xfe00707f,description='shatransform',extraCommitLat=65,srcRegsRelativeLats=[0]),
>
> MinorFUTiming(match=0x8000100b,mask=0xfe00707f,description='sipcompress',extraCommitLat=3,srcRegsRelativeLats=[0]),
>
> MinorFUTiming(match=0x8000200b,mask=0xfe00707f,description='sipfinalize',extraCommitLat=4,srcRegsRelativeLats=[0])]
>
> But I noticed the extraCommitLat values were not affecting anything in my
> simulations. I tracked the issue down to a function called findTiming in
> /gem5/src/cpu/minor/func_unit.cc . It seems this is the function
> responsible for finding this extra timing information. However, there is a
> conditional directive at the beginning of the function that is as follows:
>
> #if THE_ISA == ARM_ISA
> /* This should work for any ISA with a POD mach_inst */
> TheISA::ExtMachInst mach_inst = inst->machInst;
> #else
> /* Just allow extra decode based on op classes */
> uint64_t mach_inst = 0;
> #endif
>
> So if gem5 is not built for ARM, it seems you can only specify extra
> timing information for op classes in general. Different instructions from
> the same op class will not get assigned timing information even if you
> specify it as I did above. I changed the conditional to be (THE_ISA ==
> ARM_ISA) || (THE_ISA == RISCV_ISA) , and that seems to have fixed the issue.
>
> If anybody working with RISC-V builds experienced similar issues maybe
> this can help. Also let me know if this fix is somehow not appropriate or
> might have other consequences to be mindful of.
>
> Thanks.
>
> PS: As an off-topic question, does anyone know of a reliable way to
> instrument code running in SE mode for RISC-V? I asked a similar question
> here before, m5ops was suggested but there are no m5ops pseudo-instructions
> implemented for RISC-V as of now to the best of my knowledge. I've been
> trying to make use of hardware performance counters (for instance using
> rdcycle), but I find that its unreliable and doesn't add up when compared
> to the stat dump that I see from gem5. Thanks in advance.
> ___
> 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] Extra timing for specific instruction not registered for RISC-V

2020-12-02 Thread Volkan Mutlu via gem5-users
Hello everyone, I believe I found a small problem with the way custom timings 
are handled through the MinorFUTiming class. I wanted to submit it to the 
tracker but the Jira webpage constantly keeps refreshing and I can't access any 
issue pages. If anybody knows an alternate way to make this issue known please 
let me know.

I was trying to add a new functional unit to the MinorCPU through the python 
interface and I specified some custom timings for a set of custom instructions 
that I have. One snippet looked like this:

timings = 
[MinorFUTiming(match=0x200300b,mask=0xfe00707f,description='shatransform',extraCommitLat=65,srcRegsRelativeLats=[0]),

MinorFUTiming(match=0x8000100b,mask=0xfe00707f,description='sipcompress',extraCommitLat=3,srcRegsRelativeLats=[0]),

MinorFUTiming(match=0x8000200b,mask=0xfe00707f,description='sipfinalize',extraCommitLat=4,srcRegsRelativeLats=[0])]

But I noticed the extraCommitLat values were not affecting anything in my 
simulations. I tracked the issue down to a function called findTiming in 
/gem5/src/cpu/minor/func_unit.cc . It seems this is the function responsible 
for finding this extra timing information. However, there is a conditional 
directive at the beginning of the function that is as follows:

#if THE_ISA == ARM_ISA
/* This should work for any ISA with a POD mach_inst */
TheISA::ExtMachInst mach_inst = inst->machInst;
#else
/* Just allow extra decode based on op classes */
uint64_t mach_inst = 0;
#endif

So if gem5 is not built for ARM, it seems you can only specify extra timing 
information for op classes in general. Different instructions from the same op 
class will not get assigned timing information even if you specify it as I did 
above. I changed the conditional to be (THE_ISA == ARM_ISA) || (THE_ISA == 
RISCV_ISA) , and that seems to have fixed the issue.

If anybody working with RISC-V builds experienced similar issues maybe this can 
help. Also let me know if this fix is somehow not appropriate or might have 
other consequences to be mindful of.

Thanks.

PS: As an off-topic question, does anyone know of a reliable way to instrument 
code running in SE mode for RISC-V? I asked a similar question here before, 
m5ops was suggested but there are no m5ops pseudo-instructions implemented for 
RISC-V as of now to the best of my knowledge. I've been trying to make use of 
hardware performance counters (for instance using rdcycle), but I find that its 
unreliable and doesn't add up when compared to the stat dump that I see from 
gem5. Thanks in advance.
___
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] Prefetch Accuracy

2020-12-02 Thread Sharma, Deepika via gem5-users
I want to calculate the prefetch accuracy for stride prefetcher. I saw that 
there are two variables usefulPrefetches and issuedPrefetches in Base 
Pefetcher. These are used in Queued Prefetcher class to calculate prefetch 
accuracy. I tried using them for stride prefetcher as well. But the value of 
usefulPrefetches is always 0. Is this a bug or am I understanding something 
wrong?

Best Regards,
Deepika
___
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: Preferred way of dumping checkpoints for Aarch64

2020-12-02 Thread ARTHUR PERAIS via gem5-users
Boya, thank you for the input.
Do you have first hand experience with using the Graviton instances and kvm ? I 
am also not sure kvm can speedup basic-block collection, but at least it can 
speedup simpoint collection which is half of the time spent, so that's pretty 
decent !Best,
Arthur Perais
TIMA - 46 Avenue Félix Viallet, 38000 GrenobleBureau T419


- Mail d’origine -
De: Boya Chen via gem5-users 
À: gem5-users@gem5.org
Cc: chenb...@huawei.com
Envoyé: Wed, 02 Dec 2020 09:16:24 +0100 (CET)
Objet: [gem5-users] Re: Preferred way of dumping checkpoints for Aarch64

Using KVM mode can be faster.
You can use the amazon cloud server with ARM CPU.
___
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: Looking for Linux disk image for 64-bit ARM with Ubuntu 18.04 or GLIBC 2.27

2020-12-02 Thread Liyichao via gem5-users
Hi:

I have use your Ubuntu 18.04 img to bootup, but I want to know how to 
modify to enable autologin with root and readfile from GEM5, also systemd 
service work normally.

If I cp /init.gem5 to /sbin/init, although it can enable autologin and 
read script from GEM5,but system can not work.



-邮件原件-
发件人: Giacomo Travaglini via gem5-users [mailto:gem5-users@gem5.org] 
发送时间: 2020年11月30日 16:47
收件人: gem5 users mailing list 
抄送: Giacomo Travaglini 
主题: [gem5-users] Re: Looking for Linux disk image for 64-bit ARM with Ubuntu 
18.04 or GLIBC 2.27

Hi Jiwon

We recently uploaded a prebuilt Ubuntu18.04 on gem5.org:

http://dist.gem5.org/dist/current/arm/disks/ubuntu-18.04-arm64-docker.img.bz2

Kind Regards

Giacomo

> -Original Message-
> From: Choe, Jiwon via gem5-users 
> Sent: 29 November 2020 04:42
> To: gem5 users mailing list 
> Cc: Choe, Jiwon 
> Subject: [gem5-users] Looking for Linux disk image for 64-bit ARM with 
> Ubuntu
> 18.04 or GLIBC 2.27
>
> Hi all,
>
> I'm looking for a Linux disk image for 64-bit ARM that has GLIBC 
> version 2.27 (Ubuntu 18.04+ I think).
>
> I am trying to run Java JDK that has been compiled on Ubuntu 18.04 
> (with GLIBC 2.27) on a gem5 ARM FS simulation. I am currently using 
> the disk image that I got from here: 
> http://dist.gem5.org/dist/current/arm/disks/aarch64-
> ubuntu-trusty-headless.img.bz2
>
> But when I try to run java, I get the following error within the simulated 
> system:
> java -version java -version
>
> Error: dl failure on line 604
> Error: failed /usr/lib/jvm/jdk/lib/server/libjvm.so, because 
> /lib/aarch64-linux-
> gnu/libm.so.6: version `GLIBC_2.27' not found (required by
> /usr/lib/jvm/jdk/lib/server/libjvm.so)
>
>
> I think this happens because the disk image that I am using runs 
> Ubuntu 14.04, which has GLIBC 2.19, but I compiled the java executable 
> on Ubuntu 18.04 with GLIBC 2.27.
>
> So, if anyone has a Linux disk image (for 64-bit ARM) that has GLIBC 
> 2.27, or if anyone knows how to upgrade GLIBC on the existing disk 
> image, I would greatly appreciate your help.
>
> Thanks!
> Jiwon
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 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: 答复: 答复: Re: Looking for Linux disk image for 64-bit ARM with Ubuntu 18.04 or GLIBC 2.27

2020-12-02 Thread Gabe Black via gem5-users
Don't use -o,loop with mount. That creates another loopback device and then
tries to use that, and apparently reuses /dev/loop4. If you look in /dev,
there will also be a /dev/loop4p1 (for instance) for each partition. Mount
that device instead.

Gabe

On Wed, Dec 2, 2020 at 12:07 AM Boya Chen via gem5-users <
gem5-users@gem5.org> wrote:

> This image can work.
> The offset of the image is 65536, not 32256
> ___
> 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: Preferred way of dumping checkpoints for Aarch64

2020-12-02 Thread Boya Chen via gem5-users
Using KVM mode can be faster.
You can use the amazon cloud server with ARM CPU.
___
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: 答复: 答复: Re: Looking for Linux disk image for 64-bit ARM with Ubuntu 18.04 or GLIBC 2.27

2020-12-02 Thread Boya Chen via gem5-users
This image can work.
The offset of the image is 65536, not 32256
___
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