[PATCH] D28755: [OpenMP] Codegen for the 'target parallel' directive on the NVPTX device.

Arpith Jacob via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Jan 15 17:24:31 PST 2017


arpith-jacob created this revision.
arpith-jacob added reviewers: ABataev, sfantao, carlo.bertolli, caomhin, kkwli0, gtbercea.
arpith-jacob added a subscriber: cfe-commits.
Herald added a subscriber: jholewinski.

This patch adds codegen for the 'target parallel' directive on the NVPTX
device. We term offload OpenMP directives such as 'target parallel' and
'target teams distribute parallel for' as SPMD constructs. SPMD constructs,
in contrast to generic ones like the plain 'target', can never contain
a serial region.

SPMD constructs can be handled more efficiently on the GPU and do not
require the Warp loop of the generic codegen scheme. This patch adds
SPMD codegen support for 'target parallel' and can be reused for other
SPMD constructs.


https://reviews.llvm.org/D28755

Files:
  lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
  lib/CodeGen/CGOpenMPRuntimeNVPTX.h
  test/OpenMP/nvptx_target_codegen.cpp
  test/OpenMP/nvptx_target_parallel_codegen.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28755.84512.patch
Type: text/x-patch
Size: 27055 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170116/679bcffc/attachment-0001.bin>


More information about the cfe-commits mailing list