Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Why I did NOT get our application improved in performance?

dingjun_chencmgl_ca
206 Views

 

Hi, Intell technician,

I revised our application Fortran codes in terms of the instructions given in the following paper:

https://software.intel.com/en-us/articles/fortran-array-data-and-arguments-and-vectorization

However, our Fortran application did not improve in performance. On the contrary, our Fortran application get worse performances.

For example, if I add !dir$ vector aligned before a do loop:

!dir$ vector aligned

do itt=1, jgm

hmat(itt,mdnorp)=cs(itt)  *  hmat(itt,mdnorp)-sn(itt)   * hmat(itt,mdnorp)

end do

Could you tell me what probably caused such a poor performance? Do you have some standard Fortran OpenMP programmes for public to confirm any works given in the above paper?

I look forward to hearing from you.

 

Best regards,

 

Dingjun

 

 

 

 

 

0 Kudos
1 Reply
TimP
Honored Contributor III
206 Views

For the example you show, vector aligned could improve performance only if you can guarantee alignment for all used values of mdnorp for example with a leading dimension of a multiple of 16 for 32 bit data.  If the loop is long enough to measure performance accurately, any gain from the directive may be negligible. 

0 Kudos
Reply