This is the mail archive of the
mailing list for the GNU Fortran project.
Automatic parallelization in 4.3?
- From: "Brian Taylor" <spam dot brian dot taylor at gmail dot com>
- To: fortran at gcc dot gnu dot org
- Cc: rakdver at atrey dot karlin dot mff dot cuni dot cz
- Date: Mon, 23 Oct 2006 16:44:30 -0500
- Subject: Automatic parallelization in 4.3?
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:mime-version:content-type:content-transfer-encoding:content-disposition; b=fth9NAKxVzRKixgXZ7ACo8sO7//3+G2OGut5VBdroGdIq6kcLmnK5ZxrMSNu/bL0jZ/SuskmjY177/xiQcnHSWcjSHlybz5+oIPEf0eWnEd12FkN4Cya79OnT2NaU96QCjd+fDvTtAMEbZamWXUvEYk5gkoLlKxTvAllNqTJmqc=
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.