public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
* Open MP offloading
@ 2024-01-11 19:15 Rheinhardt Matthias
  2024-01-11 20:38 ` Tobias Burnus
  0 siblings, 1 reply; 2+ messages in thread
From: Rheinhardt Matthias @ 2024-01-11 19:15 UTC (permalink / raw)
  To: fortran

[-- Attachment #1: Type: text/plain, Size: 338 bytes --]

Hi,

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?

Best regards,
M. Rheinhardt


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Open MP offloading
  2024-01-11 19:15 Open MP offloading Rheinhardt Matthias
@ 2024-01-11 20:38 ` Tobias Burnus
  0 siblings, 0 replies; 2+ messages in thread
From: Tobias Burnus @ 2024-01-11 20:38 UTC (permalink / raw)
  To: Rheinhardt Matthias, fortran

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-01-11 20:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-11 19:15 Open MP offloading Rheinhardt Matthias
2024-01-11 20:38 ` Tobias Burnus

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