I think the problem exists for vector-valued problem.
I modified the vectorization length of step-37 and it works fine.
But for vector value problem, on line 6090 of 
deal.II/matrix_free/fe_evaluation.h:

   - val_in[comp] * weight * jac[comp][comp]

The jac is defined as const Tensor<2, dim, 
dealii::VectorizedArray<Number>>, which doesn't
match customized VectorizedArrayType.

Similar on line 6101

   - transpose(invert(inv_t_jac))

where inv_t_jac is also dealii::VectorizedArray<Number> type data.
在2023年2月23日星期四 UTC+8 18:43:07<yy.wayne> 写道:

> Thanks you Peter,
>
> The error message is quite long and tricky (beyond my terminal can show) 
> when I set
> VectorizedArray<double, width> with width=1.
> Knowing that deal.II do support this function is great. I‘ll try debug the 
> code first and came back with
> further progress or questions :)
>
> Best,
> Wayne
>
> 在2023年2月23日星期四 UTC+8 16:00:43<peterr...@gmail.com> 写道:
>
>> 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/ef2097ba-e23f-45e8-ae43-cde84f65d305n%40googlegroups.com.

Reply via email to