This is an archive of the discontinued LLVM Phabricator instance.

[OPENMP][NVPTX]Improve performance + reduce number of used registers.
ClosedPublic

Authored by ABataev on Jan 3 2019, 10:27 AM.

Details

Summary

Reduced number of the used register + improved performance propagating
the information about current execution/data sharing mode directly from
the compiler, where it is possible.
In some cases, it requires new/reworked interfaces of the runtime
external functions. Old functions are marked as deprecated.

Diff Detail

Repository
rL LLVM

Event Timeline

ABataev created this revision.Jan 3 2019, 10:27 AM
grokos added inline comments.Jan 4 2019, 8:06 AM
libomptarget/deviceRTLs/nvptx/src/interface.h
557–562 ↗(On Diff #180097)

Don't these API functions need a _v2 version for backwards compatibility just like __kmpc_nvptx_parallel_reduce_nowait?

ABataev marked an inline comment as done.Jan 4 2019, 8:10 AM
ABataev added inline comments.
libomptarget/deviceRTLs/nvptx/src/interface.h
557–562 ↗(On Diff #180097)

No, those functions were not used in previous release versions, they were introduced only in current trunk version, so we can safely change them

grokos accepted this revision.Jan 4 2019, 8:25 AM

LGTM. Thanks for all this work!

This revision is now accepted and ready to land.Jan 4 2019, 8:25 AM
This revision was automatically updated to reflect the committed changes.