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

vector nontemporal in Fortran

Rafael_Silva
Beginner
157 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
Black Belt
157 Views

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

Rafael_Silva
Beginner
157 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?

Rafael_Silva
Beginner
157 Views

By the way, they are 64bytes aligned.

Reply