OpenMP/nvptx: support 'arch(nvptx64)' as context selector
The main 'arch' context selector for nvptx is, well, 'nvptx'; however, as 'nvptx64' is used as by LLVM, it makes sense to support it as well. Note that LLVM has: "The triple architecture can be one of ``nvptx`` (32-bit PTX) or ``nvptx64`` (64-bit PTX)." GCC effectively only supports the 64bit variant (at least for offloading). Thus, GCC's 'nvptx' is not quite the same as LLVM's. The device-compiler part (nvptx_omp_device_kind_arch_isa) uses TARGET_ABI64 such that nvptx64 is only defined with -m64. gcc/ChangeLog: * config/nvptx/gen-omp-device-properties.sh: Add 'nvptx64' to arch. * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Likewise. libgomp/ChangeLog: * libgomp.texi (OpenMP Context Selectors): Add 'nvptx64' as additional 'arch' value for nvptx.
This commit is contained in:
parent
51c0ff6f50
commit
703d14132e
3 changed files with 4 additions and 3 deletions
|
@ -23,7 +23,7 @@ nvptx_sm_def="$1/nvptx-sm.def"
|
|||
sms=$(grep ^NVPTX_SM $nvptx_sm_def | sed 's/.*(//;s/,.*//')
|
||||
|
||||
echo kind: gpu
|
||||
echo arch: nvptx
|
||||
echo arch: nvptx nvptx64
|
||||
|
||||
isa=""
|
||||
for sm in $sms; do
|
||||
|
|
|
@ -6403,7 +6403,8 @@ nvptx_omp_device_kind_arch_isa (enum omp_device_kind_arch_isa trait,
|
|||
case omp_device_kind:
|
||||
return strcmp (name, "gpu") == 0;
|
||||
case omp_device_arch:
|
||||
return strcmp (name, "nvptx") == 0;
|
||||
return (strcmp (name, "nvptx") == 0
|
||||
|| (TARGET_ABI64 && strcmp (name, "nvptx64") == 0));
|
||||
case omp_device_isa:
|
||||
#define NVPTX_SM(XX, SEP) \
|
||||
{ \
|
||||
|
|
|
@ -6098,7 +6098,7 @@ on more architectures, GCC currently does not match any @code{arch} or
|
|||
@item @code{amdgcn}, @code{gcn}
|
||||
@tab See @code{-march=} in ``AMD GCN Options''@footnote{Additionally,
|
||||
@code{gfx803} is supported as an alias for @code{fiji}.}
|
||||
@item @code{nvptx}
|
||||
@item @code{nvptx}, @code{nvptx64}
|
||||
@tab See @code{-march=} in ``Nvidia PTX Options''
|
||||
@end multitable
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue