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