This is the mail archive of the
mailing list for the GNU Fortran project.
Re: A prototype loop reverser for the scalarizer
- From: Tim Prince <timothyprince at sbcglobal dot net>
- To: Jack Howarth <howarth at bromo dot msbb dot uc dot edu>
- Cc: fortran at gcc dot gnu dot org, Paul dot Richard dot THOMAS at cea dot fr
- Date: Fri, 06 Oct 2006 07:23:20 -0700
- Subject: Re: A prototype loop reverser for the scalarizer
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=sbcglobal.net; h=Received:Message-ID:Date:From:Reply-To:User-Agent:MIME-Version:To:CC:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=De/DsWH1PGarqH82RNsBwtq2Daw9EdIDBexWQjGrM7zQ4D1nBJvKEammgLKBYPMeVFZOMrApeA7UdfWnYnYulH7TKo46zEAyL7zC+5mR1lXJhTcbvP3/lngjpMS/zQLUz3TRQhTH+SfORBK6Azbb2o3sqNvXCH+f8VT+OG6Cb0M= ;
- References: <20061006140416.F3A2511003F@bromo.msbb.uc.edu>
- Reply-to: tprince at myrealbox dot com
Jack Howarth wrote:
Posts I have seen on Polyhedron showed no use of the vectorizer. I
haven't seen any code there which depends on loop reversal analysis, but
there is plenty which depends on loop nest switching to enable
vectorization and parallelization. The air benchmark could gain 25% by
vectorization, and 50% more by parallelization on single socket dual core.
Have you tried the prototype code with any of
the common benchmarks like Polyhedron? If so
did it make a noticable difference?
Levine-Callahan-Dongarra vector benchmark includes several loops which
are efficiently vectorized only with loop reversal analysis. gfortran
already saves 2 cases where ifort inserts temporary arrays.