Dear Wayne,
To add a remark on the speedup you observed and your expectation, you
should keep in mind that vectorization only helps in case there are no
other bottlenecks in the code, like bandwidth from main memory or from a
particular cache level, how large the proportion of time is when
accessing the solution vectors via indirect addressing
(VectorizedArray::gather), and similar bottlenecks. Finally, not all
CPUs have the same number of AVX-512 execution units than scalar/SSE2
execution units. You need to look up these specifications, too.
Your approach to check more of the spectrum in vectorization is a step
in the direction of building a performance model that helps you
understand performance.
Best,
Martin
On 23.02.23 09:00, Peter Munch wrote:
Hi Wayne,
What is you error message?
> I replace all FEEvaluation, MatrixFree and VectorizedArray
construction with a VectorizedArray<number, width>, but make returns
some intricate error. Is specify vectorization length possible? I
think I've seen one in dealii/test ...
Yes, it is possible and the to specify the additional template
argument is the right approach.
I have introduced this template parameter for the hyper.deal project:
https://github.com/hyperdeal/hyperdeal, where we create a tensor
product of MatrixFree instances (where one is vectorized and the other
is not).
Take a look at the test:
https://github.com/dealii/dealii/blob/3b785178375a8ea233fada96cf987aed6d53583e/tests/matrix_free/ecl.h#L52
The important aspect is that the vector length has to match the ones
supported by given ISA. See table 1 in the release paper of deal.II
9.2: https://dealii.org/deal92-preprint.pdf
Peter
On Thursday, February 23, 2023 at 7:09:07 AM UTC+1 yy.wayne wrote:
Hi,
is it possible to specify vectorization length(<deafult)?
I'm running same code on local computer and server, whose cpu
supports SSE2+4.10GHz
and AVX512+2.60GHz respectively. The speed up for iteration time
is only 2 on server, which should be 8*2.6 / 2*4.1 > 2.5 times.
Therefore I'd like to run code with different
vectorization length on same computer to test Vectorization's power.
I replace all FEEvaluation, MatrixFree and VectorizedArray
construction with a VectorizedArray<number, width>, but make
returns some intricate error. Is specify vectorization length
possible? I think I've seen one in dealii/test ...
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google
Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/767b397f-7847-4e5b-ac63-95b2aad49da2n%40googlegroups.com
<https://groups.google.com/d/msgid/dealii/767b397f-7847-4e5b-ac63-95b2aad49da2n%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/578224ae-b99a-b995-e979-628f316d1764%40gmail.com.