public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
From: Tobias Burnus <burnus@net-b.de>
To: Rheinhardt Matthias <matthias.rheinhardt@aalto.fi>,
	"fortran@gcc.gnu.org" <fortran@gcc.gnu.org>
Subject: Re: Open MP offloading
Date: Thu, 11 Jan 2024 21:38:28 +0100	[thread overview]
Message-ID: <df1e70b8-d6c9-4aca-a1e7-b7ba3d10a4ce@net-b.de> (raw)
In-Reply-To: <AS4P192MB145462E458054AB6FC2EDC778E682@AS4P192MB1454.EURP192.PROD.OUTLOOK.COM>

Hi,

Rheinhardt Matthias wrote:
> at the moment, offloading Open MP workshare section is not supported, 
> nor can implicit do-loops from expressions with array syntax be delt 
> with in another way for offloading. Are there any plannings to lift this 
> restriction, which is rather severe for - in particular scientific - 
> Fortran codes?

I think the real solution is 'coexecute' that can also be used as 
'target teams coexecute'.

However, 'coexecute' was only added to the second preview of OpenMP 
(TR/Technical Report 12); thus, it will take a while until it is 
implemented and even longer until compiler produce optimized code. The 
first preview of OpenMP 6.0 was released in November 2022, TR12 last 
November and the final OpenMP 6.0 is expected for this November (2024).

The TR12 specification can be found at 
https://www.openmp.org/specifications/ (as can all other OpenMP versions 
and also an a separate document with OpenMP examples).

* * *

With regards to 'workshare', I might miss something but I don't see a 
reason why:

!$omp target
...
  !$omp workshare
  !$omp end workshare
...
!$omp end target

wouldn't work.

* * *

With regards to GCC's OpenMP implementation status, see 
http://gcc.gnu.org/projects/gomp/ – some more items have been 
implemented but still need to be merged (they are in the OG13 / 
devel/omp/gcc-13 vendor branch) or are already work in progress.

GCC 14 is expected to be released in late spring and has currently the 
following new features: https://gcc.gnu.org/gcc-14/changes.html
(release notes not yet fully updated, albeit OpenMP is nearly complete) 
- note that certain features like memory management (like whether 
pinning supported etc.) do not show up in the list above as a compliant 
implementation does not have to support it; those get mentioned in the 
release notes and more details can be found in the manual.

For GCC 15, I hope to see a full support of OpenMP 5.x (x=0,1,2), but 
essentially no OpenMP 6 features like 'coexecute'.

Thanks,

Tobias

      reply	other threads:[~2024-01-11 20:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-11 19:15 Rheinhardt Matthias
2024-01-11 20:38 ` Tobias Burnus [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=df1e70b8-d6c9-4aca-a1e7-b7ba3d10a4ce@net-b.de \
    --to=burnus@net-b.de \
    --cc=fortran@gcc.gnu.org \
    --cc=matthias.rheinhardt@aalto.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).