Re: [gem5-users] Is AVX supported in gem5?

2020-01-22 Thread Jason Lowe-Power
Hello,

No, the AVX instructions haven't been implemented in gem5, yet. We will
have a Jira issue created for this soon on https://gem5.atlassian.net/.
This is high priority for us to work on! It's just a lot of work. If this
is something that you're interested in contributing to, we would love the
help!

In KVM mode, gem5 uses the host CPU so it executes the AVX instructions
correctly. However, when running in timing mode, gem5 just ignores all AVX
instructions. So, the answers you're getting from the benchmarks when
running in timing mode will almost certainly be wrong. For the most part,
the NPB workloads don't do much data dependent computation, so it's not too
surprising that things aren't crashing.

Again, if this is something you'd be interested in contributing to, we are
looking for people to help out with it! We have a plan on what needs to be
done, though it's not written down, yet. I imagine this could lead to a
publication as well :).

Cheers,
Jason

On Wed, Jan 22, 2020 at 8:20 AM Da Zhang  wrote:

> Hey guys,
>
> Is AVX supported by the atomic CPU and/or O3 CPU in gem5? If NOT, what
> will happen if a benchmark compiles with vectorization and run in X86 full
> system mode?
>
> The thing is that we have created X86 disk images for running NPB
> benchmark suite. In the disk images, we compiled NPB in qemu with kvm. We
> have confirmed that many loops in NPB were vectorized by checking
> gfortran/gcc optimization information. So far, we have created many
> checkpoints with the NPB disk image and run thousands of experiments
> without obvious problems regarding AVX support. Since I don't recall that
> gem5 supports AVX, I am wondering that what was happened? (Additional info:
> almost every vectorized loop in NPB, gfortran/gcc also print "loop turned
> into non-loop; it never loops" after the vectorization, does anyone have
> some hints about this?)
>
> Thanks in advance.
>
> best,
> Da Zhang
> ___
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

[gem5-users] Is AVX supported in gem5?

2020-01-22 Thread Da Zhang
Hey guys,

Is AVX supported by the atomic CPU and/or O3 CPU in gem5? If NOT, what will
happen if a benchmark compiles with vectorization and run in X86 full
system mode?

The thing is that we have created X86 disk images for running NPB benchmark
suite. In the disk images, we compiled NPB in qemu with kvm. We have
confirmed that many loops in NPB were vectorized by checking gfortran/gcc
optimization information. So far, we have created many checkpoints with the
NPB disk image and run thousands of experiments without obvious problems
regarding AVX support. Since I don't recall that gem5 supports AVX, I am
wondering that what was happened? (Additional info: almost every vectorized
loop in NPB, gfortran/gcc also print "loop turned into non-loop; it never
loops" after the vectorization, does anyone have some hints about this?)

Thanks in advance.

best,
Da Zhang
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users