Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

vector nontemporal in Fortran

Rafael_Silva
Beginner
345 Views

Hello guys,

I'm using "vector aligned" and "vector nontemporal" directives on my fortran code. When I was using just "vector aligned" the code was running fine, but once used also "vector nontemporal" it started to crash. I'm using -xAVX, and the directive inside the code are like that:

!DIR$ vector always aligned
!DIR$ vector nontemporal (sxx)

Where sxx is an 3D array. Is there some requirement about "nontemporal" stuff? The arrays are 64 bytes aligned, and the code was working without "nontemporal" stuff. I'm using a Intel(R) Xeon(R) CPU E3-1230 @ 3.20GHz, but I've tested on an E5-2690 also and got the same error.

0 Kudos
3 Replies
TimP
Honored Contributor III
345 Views

even though you assert aligned avx code will handle misaligned (inefficiently on sandy bridge).  adding  nontemporal  brings failure on  misalignment.

0 Kudos
Rafael_Silva
Beginner
345 Views

Not sure if I understood. The problem is the arrays are not aligned? Because, as far as I know, they are aligned.

Is it a mistake to use the both directives?

0 Kudos
Rafael_Silva
Beginner
345 Views

By the way, they are 64bytes aligned.

0 Kudos
Reply