On Tue, Jan 5, 2016 at 8:43 AM, Paul T. Bauman <ptbau...@gmail.com> wrote:

>
>
> On Tue, Jan 5, 2016 at 12:30 AM, Roy Stogner <royst...@ices.utexas.edu>
> wrote:
>
>>
>> On Mon, 4 Jan 2016, Tim Adowski wrote:
>>
>> > However, all versions of GCC were unable to vectorize the Ke loop
>> > due to "bad data ref", and both Intel versions required "#pragma
>> > ivdep" in order to vectorize the Ke loop.
>>
>> One last thought: is it possible that what is confusing gcc isn't your
>> class, but rather the DenseMatrix class?  Try replacing "Ke(i,j)" with
>> "my_vector[i*M+j]" or whatever and see if gcc can handle that?
>
>
> I'd bet on it. Tim, had you not tried this already? I thought we'd chatted
> about this?
>
​

​I just redid my test by replacing Ke with a vector of vectors and Fe with
a vector.
According to the vec report, the Ke loop got closer to vectorization, but
still failed due to ​"note: bad operation or unsupported loop bound." Tried
pulling the loop limit out and making it const, but nothing changed.
I also made Ke a 1D vector and did the index conversion myself, but that
gave the same vectorization error as using the DenseMatrix.
------------------------------------------------------------------------------
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to