void GOMP_OFFLOAD_fini_device (int n) { pthread_mutex_lock (&ptx_dev_lock); if (ptx_devices[n] != NULL) { nvptx_attach_host_thread_to_device (n); nvptx_close_device (ptx_devices[n]); ptx_devices[n] = NULL; instantiated_devices--; } pthread_mutex_unlock (&ptx_dev_lock); }
bool GOMP_OFFLOAD_fini_device (int n) { pthread_mutex_lock (&ptx_dev_lock); if (ptx_devices[n] != NULL) { if (!nvptx_attach_host_thread_to_device (n) || !nvptx_close_device (ptx_devices[n])) { pthread_mutex_unlock (&ptx_dev_lock); return false; } ptx_devices[n] = NULL; instantiated_devices--; } pthread_mutex_unlock (&ptx_dev_lock); return true; }