[Bug libgomp/88370] acc_get_cuda_stream/acc_set_cuda_stream: acc_async_sync, acc_async_noval

tschwinge at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Dec 14 20:42:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88370

--- Comment #1 from Thomas Schwinge <tschwinge at gcc dot gnu.org> ---
Author: tschwinge
Date: Fri Dec 14 20:42:08 2018
New Revision: 267147

URL: https://gcc.gnu.org/viewcvs?rev=267147&root=gcc&view=rev
Log:
[PR88370] acc_get_cuda_stream/acc_set_cuda_stream: acc_async_sync,
acc_async_noval

Per my reading of the OpenACC specification (and as supported by secondary
documentation, such as code examples, or presentations), it's valid to call
"acc_get_cuda_stream"/"acc_set_cuda_stream" also with "acc_async_sync",
"acc_async_noval" arguments, not just with the nonnegative values as currently
implemented.

        libgomp/
        PR libgomp/88370
        * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
        (acc_set_cuda_stream): Clarify.
        * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
        "async_valid_p".
        * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
        acc_async_sync".
        * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New
file.
        * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
        * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
        * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.

Added:
    trunk/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c
    trunk/libgomp/testsuite/libgomp.oacc-c-c++-common/async_queue-1.c
Modified:
    trunk/libgomp/ChangeLog
    trunk/libgomp/libgomp.texi
    trunk/libgomp/oacc-cuda.c
    trunk/libgomp/plugin/plugin-nvptx.c
    trunk/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-84.c
    trunk/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-85.c


More information about the Gcc-bugs mailing list