This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran 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: Automatic parallelization in 4.3?


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
http://gcc.gnu.org/ml/gcc-patches/2006-09/msg01243.html

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.)


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