Cache blocking techniques for element-wise math in large arrays - Fortran

Cache blocking techniques for element-wise math in large arrays - Fortran

I have a CFD code that does a lot of element-wise (A(i,j)*B(i,j)) math with large arrays. roughly 500x500 R*8s, with most sections of the code using a half dozen of these (1.5MB) arrays at a time.

To clean up the code, and in a naive hope that IFC would figure out the best way to manage the work, we vectorized most of the code.

VTune still shows a lot of time wasted with various stores, even with higher optimizations.

Is there a simple technique or a library that can block these operations to be efficient on a Xeon? Hopefully without rewriting all the code!

Thread moved to MKL from Fortran/Windows.

Thanks,

Art

1 post / novo 0
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.