This is the mail archive of the
mailing list for the GNU Fortran project.
Re: Automatic parallelization in 4.3?
- From: Craig Powers <enigma at hal-pc dot org>
- To: fortran at gcc dot gnu dot org
- Cc: Brian Taylor <spam dot brian dot taylor at gmail dot com>, rakdver at atrey dot karlin dot mff dot cuni dot cz
- Date: Mon, 23 Oct 2006 21:40:46 -0400
- Subject: Re: Automatic parallelization in 4.3?
- References: <firstname.lastname@example.org>
Brian Taylor wrote:
I noticed that the GCC 4.3 projects page mentions plans for automatic
parallelization of loops using the framework developed for OpenMP (see
http://gcc.gnu.org/wiki/AutomaticParallelization ). I was wondering
if there are any specific plans to support the Fortran 95 forall
construct. These types of loops can be manually parallelized using
the OpenMP "workshare" directive.
Since all procedures within a forall construct must be pure (i.e. have
no side effects), it seems like they should be easier to analyze and
auto-parallelize than normal do loops. For similar reasons, the
"where" statement might be another candidate for auto-parallelization.
I found one post by Zdenek Dvorak regarding auto-parallelization, but
it doesn't mention Fortran AFAICT. See
Any comments? I can post a request for enhancement on bugzilla if it
would be useful.
One comment -- for my use of Fortran in a cluster environment, I
actually prefer to avoid use of additional processor cores because they
are controlled resources managed by the cluster's master scheduler. So
if I were to use gfortran to build my group's code, I would prefer to be
able to turn something like this off easily, preferably without
compromising other optimizations.
(It's not clear to me from glancing through the patch, as a casual user,
whether this is easy to turn off, independently of other options.)