This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Auto-vectorization of SUM intrinsic in gfortran


Thank you Tim
As you said with  -ffast-math option it works but others lines that
seems to be parallelizable doesn´t e.g.
Look at the two contiguous lines:

        INGTAR(HI,1:NETP)= ZERO  !Compiller says : not vectorized:
complicated access pattern.
        VAEMB(1:NEMB,HI,1:NETP)= ZERO ! Compiler says: note: LOOP VECTORIZED.

The code I am working is quit old (and big) and I am only researching
the (easy) ways to do it faster in actual computers
Regards
Wilfredo

2011/1/28 Tim Prince <n8tm@aol.com>:
> On 1/28/2011 11:03 AM, Wilfredo Sifuentes wrote:
>>
>> Dear all,
>> In spite that some information on the WWW says that the SUM intrinsic
>> function of Fortran 90 can be parallelizable, I found that gfortran
>> 4.5 do not parallelize the following line (even if I fix or change
>> “AHID” variable to “1” ):
>>
>> ? temporal= SUM(PERLIN(1:NLIN,AHID,1:NETP,1:NBLO))
>>
>> Where PERLIN is defined as: ?REAL*8 ?PERLIN(MAXLIN,0:1,MAXETP,MAXBLO).
>> The compiler report: “note: not vectorized: unsupported use in stmt.”
>> Am I missing something?
>>
>> Regards
>> Wilfredo
>
> I don't remember the diagnostic, but SUM vectorization would never occur
> without options implying -fassociative-math (unfortunately, specifying that
> one by itself doesn't help; -ffast-math does, but is too big a hammer).
> Even beyond that, more information from you may be useful.
>
> --
> Tim Prince
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]