[petsc-users] PETSc with modern C++
Matthew Knepley
knepley at gmail.com
Tue Apr 4 22:34:21 CDT 2017
On Tue, Apr 4, 2017 at 10:02 PM, Jed Brown <jed at jedbrown.org> wrote:
> Matthew Knepley <knepley at gmail.com> writes:
>
> > On Tue, Apr 4, 2017 at 3:40 PM, Filippo Leonardi <filippo.leon at gmail.com
> >
> > wrote:
> >
> >> I had weird issues where gcc (that I am using for my tests right now)
> >> wasn't vectorising properly (even enabling all flags, from
> tree-vectorize,
> >> to mavx). According to my tests, I know the Intel compiler was a bit
> better
> >> at that.
> >>
> >
> > We are definitely at the mercy of the compiler for this. Maybe Jed has an
> > idea why its not vectorizing.
>
> Is this so bad?
>
> 000000000024080e <VecMAXPY_Seq+0x2fe> mov rax,QWORD PTR [rbp-0xb0]
> 0000000000240815 <VecMAXPY_Seq+0x305> add ebx,0x1
> 0000000000240818 <VecMAXPY_Seq+0x308> vmulpd ymm0,ymm7,YMMWORD PTR
> [rax+r9*1]
> 000000000024081e <VecMAXPY_Seq+0x30e> mov rax,QWORD PTR [rbp-0xa8]
> 0000000000240825 <VecMAXPY_Seq+0x315> vfmadd231pd ymm0,ymm8,YMMWORD PTR
> [rax+r9*1]
> 000000000024082b <VecMAXPY_Seq+0x31b> mov rax,QWORD PTR [rbp-0xb8]
> 0000000000240832 <VecMAXPY_Seq+0x322> vfmadd231pd ymm0,ymm6,YMMWORD PTR
> [rax+r9*1]
> 0000000000240838 <VecMAXPY_Seq+0x328> vfmadd231pd ymm0,ymm5,YMMWORD PTR
> [r10+r9*1]
> 000000000024083e <VecMAXPY_Seq+0x32e> vaddpd ymm0,ymm0,YMMWORD PTR
> [r11+r9*1]
> 0000000000240844 <VecMAXPY_Seq+0x334> vmovapd YMMWORD PTR [r11+r9*1],ymm0
> 000000000024084a <VecMAXPY_Seq+0x33a> add r9,0x20
> 000000000024084e <VecMAXPY_Seq+0x33e> cmp DWORD PTR [rbp-0xa0],ebx
> 0000000000240854 <VecMAXPY_Seq+0x344> ja 000000000024080e
> <VecMAXPY_Seq+0x2fe>
>
I agree that is what we should see. It cannot be what Fillippo has if he is
getting ~4x with the template stuff.
Matt
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170404/33e108c9/attachment.html>
More information about the petsc-users
mailing list