+2019-11-13 Andrew Stubbs <ams@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
+ parameter.
+ * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
+ queue constructor.
+ * oacc-host.c (host_openacc_async_construct): Add device parameter.
+ * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
+ device parameter.
+
2019-11-13 Andrew Stubbs <ams@codesourcery.com>
* configure.tgt (nvptx*-*-*): Add "accel" directory.
void **, unsigned *, void *);
extern void *GOMP_OFFLOAD_openacc_create_thread_data (int);
extern void GOMP_OFFLOAD_openacc_destroy_thread_data (void *);
-extern struct goacc_asyncqueue *GOMP_OFFLOAD_openacc_async_construct (void);
+extern struct goacc_asyncqueue *GOMP_OFFLOAD_openacc_async_construct (int);
extern bool GOMP_OFFLOAD_openacc_async_destruct (struct goacc_asyncqueue *);
extern int GOMP_OFFLOAD_openacc_async_test (struct goacc_asyncqueue *);
extern bool GOMP_OFFLOAD_openacc_async_synchronize (struct goacc_asyncqueue *);
if (!dev->openacc.async.asyncqueue[async])
{
- dev->openacc.async.asyncqueue[async] = dev->openacc.async.construct_func ();
+ dev->openacc.async.asyncqueue[async]
+ = dev->openacc.async.construct_func (dev->target_id);
if (!dev->openacc.async.asyncqueue[async])
{
}
static struct goacc_asyncqueue *
-host_openacc_async_construct (void)
+host_openacc_async_construct (int device __attribute__((unused)))
{
/* Non-NULL 0xffff... value as opaque dummy. */
return (struct goacc_asyncqueue *) -1;
}
struct goacc_asyncqueue *
-GOMP_OFFLOAD_openacc_async_construct (void)
+GOMP_OFFLOAD_openacc_async_construct (int device __attribute__((unused)))
{
CUstream stream = NULL;
CUDA_CALL_ERET (NULL, cuStreamCreate, &stream, CU_STREAM_DEFAULT);