From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
requires
directive are now accepted. However, the
> requires_offload
, unified_address
> - and unified_shared_memory
clauses cause that the
> - only available device is the initial device (the host). Fortran no=
w
> + and unified_shared_memory
clauses imply the initial
> + device (=3D the host) as the only available device. Fortran now
I really stumble over the "as" =E2=80=93 that sounds wrong and I fail to pa=
rse this part.
I think it should be "is".
On the technical side, in principle, available devices are the host (aka "i=
nitial device") =E2=80=93
and all installed** (nonhost) devices =E2=80=93 in our case nvptx and (amd)=
gcn GPUs.
However, when using 'requires', all installed devices which do not fulfill
the requirement(s) are removed from the list of available devices. In case =
of
'dynamic_allocators', all devices support it, in case of 'reverse_offload' =
all installed
amdgcn devices are filtered out and, for unified-shared memory,* neither nv=
ptx nor
amdgcn support it =E2=80=93 and are removed from the list =E2=80=93 such th=
at at the end, only
the host remains. (Hence, device code ('target regions') will run on the ho=
st
=E2=86=92 host fallback.)
BTW: Before the release, further updates to changes.html are required. =E2=
=80=93 For instance,
as alluded in the previous paragraph, 'reverse offload' is (now) supported =
for nvptx.
(But not yet with amdgcn.)
Tobias
(*) There is support for unified-shared memory for both nvptx and gcn,
but the existing patches either have to be reviewed or to be revised.
(**) I coined the term 'installed device'. OpenMP since TR11 contains some
definitions for 'available devices' =E2=80=93 which consists of the union o=
f supported
and accessible devices (possibly after sorting and further filtering). Name=
ly:
accessible devices =E2=80=93 The host device and all non-host devices acces=
sible for execution.
supported devices =E2=80=93 The host device and all non-host devices suppor=
ted by the
implementation for execution of target code for which the device-related re=
quirements
of the requires directive are fulfilled.
The available-devices-var is in turn by default "*" =E2=80=93 where "* expa=
nds to all accessible
and supported devices". (The device list can be further filtered and sorted=
via
the environment variable OMP_AVAILABLE_DEVICES.)
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201=
, 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3=
=A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf=
t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955