===================================================================
@@ -63,6 +63,7 @@ typedef enum acc_device_t {
typedef enum acc_async_t {
/* Keep in sync with include/gomp-constants.h. */
+ acc_async_default = 0,
acc_async_noval = -1,
acc_async_sync = -2
} acc_async_t;
@@ -72,6 +73,8 @@ void acc_set_device_type (acc_device_t) __GOACC_NO
acc_device_t acc_get_device_type (void) __GOACC_NOTHROW;
void acc_set_device_num (int, acc_device_t) __GOACC_NOTHROW;
int acc_get_device_num (acc_device_t) __GOACC_NOTHROW;
+void acc_set_default_async (int) __GOACC_NOTHROW;
+int acc_get_default_async (void) __GOACC_NOTHROW;
int acc_async_test (int) __GOACC_NOTHROW;
int acc_async_test_all (void) __GOACC_NOTHROW;
void acc_wait (int) __GOACC_NOTHROW;
===================================================================
@@ -464,8 +464,12 @@ OACC_2.5 {
acc_delete_finalize_async_32_h_;
acc_delete_finalize_async_64_h_;
acc_delete_finalize_async_array_h_;
+ acc_get_default_async;
+ acc_get_default_async_h_;
acc_memcpy_from_device_async;
acc_memcpy_to_device_async;
+ acc_set_default_async;
+ acc_set_default_async_h_;
acc_update_device_async;
acc_update_device_async_32_h_;
acc_update_device_async_64_h_;
===================================================================
@@ -51,9 +51,10 @@ module openacc_kinds
integer, parameter :: acc_handle_kind = int32
- public :: acc_async_noval, acc_async_sync
+ public :: acc_async_default, acc_async_noval, acc_async_sync
! Keep in sync with include/gomp-constants.h.
+ integer (acc_handle_kind), parameter :: acc_async_default = 0
integer (acc_handle_kind), parameter :: acc_async_noval = -1
integer (acc_handle_kind), parameter :: acc_async_sync = -2
@@ -92,6 +93,16 @@ module openacc_internal
integer (acc_device_kind) d
end function
+ subroutine acc_set_default_async_h (a)
+ import
+ integer a
+ end subroutine
+
+ function acc_get_default_async_h ()
+ import
+ integer acc_get_default_async_h
+ end function
+
function acc_async_test_h (a)
logical acc_async_test_h
integer a
@@ -720,6 +731,7 @@ module openacc
public :: acc_get_num_devices, acc_set_device_type, acc_get_device_type
public :: acc_set_device_num, acc_get_device_num, acc_async_test
+ public :: acc_set_default_async, acc_get_default_async
public :: acc_async_test_all
public :: acc_wait, acc_async_wait, acc_wait_async
public :: acc_wait_all, acc_async_wait_all, acc_wait_all_async
@@ -752,6 +764,14 @@ module openacc
procedure :: acc_get_device_num_h
end interface
+ interface acc_set_default_async
+ procedure :: acc_set_default_async_h
+ end interface
+
+ interface acc_get_default_async
+ procedure :: acc_get_default_async_h
+ end interface
+
interface acc_async_test
procedure :: acc_async_test_h
end interface
===================================================================
@@ -46,6 +46,7 @@
integer, parameter :: acc_handle_kind = 4
! Keep in sync with include/gomp-constants.h.
+ integer (acc_handle_kind), parameter :: acc_async_default = 0
integer (acc_handle_kind), parameter :: acc_async_noval = -1
integer (acc_handle_kind), parameter :: acc_async_sync = -2
@@ -89,6 +90,18 @@
end function
end interface
+ interface acc_set_default_async
+ subroutine acc_set_default_async_h (a)
+ integer a
+ end subroutine
+ end interface
+
+ interface acc_get_default_async
+ function acc_get_default_async_h ()
+ integer acc_get_default_async_h
+ end function
+ end interface
+
interface acc_async_test
function acc_async_test_h (a)
logical acc_async_test_h