Mercurial > hg > CbC > CbC_gcc
diff libgomp/openacc.h @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line diff
--- a/libgomp/openacc.h Thu Oct 25 07:37:49 2018 +0900 +++ b/libgomp/openacc.h Thu Feb 13 11:34:05 2020 +0900 @@ -1,6 +1,6 @@ /* OpenACC Runtime Library User-facing Declarations - Copyright (C) 2013-2018 Free Software Foundation, Inc. + Copyright (C) 2013-2020 Free Software Foundation, Inc. Contributed by Mentor Embedded. @@ -49,18 +49,29 @@ /* Types */ typedef enum acc_device_t { /* Keep in sync with include/gomp-constants.h. */ + acc_device_current = -3, acc_device_none = 0, acc_device_default = 1, acc_device_host = 2, /* acc_device_host_nonshm = 3 removed. */ acc_device_not_host = 4, acc_device_nvidia = 5, + acc_device_radeon = 8, _ACC_device_hwm, /* Ensure enumeration is layout compatible with int. */ _ACC_highest = __INT_MAX__, _ACC_neg = -1 } acc_device_t; +typedef enum acc_device_property_t { + /* Keep in sync with 'libgomp/libgomp-plugin.h:goacc_property'. */ + acc_property_memory = 1, + acc_property_free_memory = 2, + acc_property_name = 0x10001, + acc_property_vendor = 0x10002, + acc_property_driver = 0x10003 +} acc_device_property_t; + typedef enum acc_async_t { /* Keep in sync with include/gomp-constants.h. */ acc_async_noval = -1, @@ -72,6 +83,10 @@ 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; +size_t acc_get_property + (int, acc_device_t, acc_device_property_t) __GOACC_NOTHROW; +const char *acc_get_property_string + (int, acc_device_t, acc_device_property_t) __GOACC_NOTHROW; int acc_async_test (int) __GOACC_NOTHROW; int acc_async_test_all (void) __GOACC_NOTHROW; void acc_wait (int) __GOACC_NOTHROW; @@ -108,12 +123,28 @@ int acc_is_present (void *, size_t) __GOACC_NOTHROW; void acc_memcpy_to_device (void *, void *, size_t) __GOACC_NOTHROW; void acc_memcpy_from_device (void *, void *, size_t) __GOACC_NOTHROW; +void acc_attach (void **) __GOACC_NOTHROW; +void acc_attach_async (void **, int) __GOACC_NOTHROW; +void acc_detach (void **) __GOACC_NOTHROW; +void acc_detach_async (void **, int) __GOACC_NOTHROW; /* Finalize versions of copyout/delete functions, specified in OpenACC 2.5. */ void acc_copyout_finalize (void *, size_t) __GOACC_NOTHROW; void acc_copyout_finalize_async (void *, size_t, int) __GOACC_NOTHROW; void acc_delete_finalize (void *, size_t) __GOACC_NOTHROW; void acc_delete_finalize_async (void *, size_t, int) __GOACC_NOTHROW; +void acc_detach_finalize (void **) __GOACC_NOTHROW; +void acc_detach_finalize_async (void **, int) __GOACC_NOTHROW; + +/* Async functions, specified in OpenACC 2.5. */ +void acc_copyin_async (void *, size_t, int) __GOACC_NOTHROW; +void acc_create_async (void *, size_t, int) __GOACC_NOTHROW; +void acc_copyout_async (void *, size_t, int) __GOACC_NOTHROW; +void acc_delete_async (void *, size_t, int) __GOACC_NOTHROW; +void acc_update_device_async (void *, size_t, int) __GOACC_NOTHROW; +void acc_update_self_async (void *, size_t, int) __GOACC_NOTHROW; +void acc_memcpy_to_device_async (void *, void *, size_t, int) __GOACC_NOTHROW; +void acc_memcpy_from_device_async (void *, void *, size_t, int) __GOACC_NOTHROW; /* CUDA-specific routines. */ void *acc_get_current_cuda_device (void) __GOACC_NOTHROW;