public static void cuEventRecord(CUevent hEvent, CUstream hStream) { Wrap(() => { try { var error = nativeEventRecord(hEvent, hStream); if (error != CUresult.CUDA_SUCCESS) throw new CudaException(error); } catch (CudaException) { throw; } catch (DllNotFoundException dnfe) { throw new CudaException(CudaError.NoDriver, dnfe); } catch (Exception e) { throw new CudaException(CudaError.Unknown, e); } }); }
public bool Equals(CUevent other) { return other.Handle.Equals(Handle); }
//http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/online/group__CUEVENT_g93468fbdae4190b79926381a90a94301.html private static extern CUresult nativeEventRecord(CUevent hEvent, CUstream hStream);
public static ElapsedTime cuEventElapsedTime(CUevent hStart, CUevent hEnd) { return Wrap(() => { try { float milliseconds; var error = nativeEventElapsedTime(out milliseconds, hStart, hEnd); if (error != CUresult.CUDA_SUCCESS) throw new CudaException(error); // note. cannot use TimeSpan here because it ain't work with fractions of milliseconds return new ElapsedTime(milliseconds); } catch (CudaException) { throw; } catch (DllNotFoundException dnfe) { throw new CudaException(CudaError.NoDriver, dnfe); } catch (Exception e) { throw new CudaException(CudaError.Unknown, e); } }); }
// http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/online/group__CUEVENT_g349006734f6e7378ea36cb57c239d4c7.html private static extern CUresult nativeEventDestroy(CUevent hEvent);
// http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/online/group__CUEVENT_g7895332c94680b174ef41373af09d9ce.html private static extern CUresult nativeEventElapsedTime(out float pMilliseconds, CUevent hStart, CUevent hEnd);
// http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/online/group__CUEVENT_g433317083f929b9298f8a88d57aa5017.html private static extern CUresult nativeEventCreate(out CUevent phEvent, CUevent_flags Flags);
// http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/online/group__CUEVENT_ge3ed6a308c602d139373895cb99cb7ab.html private static extern CUresult nativeEventSynchronize(CUevent hEvent);
public static void cuEventRecord(CUevent hEvent) { cuEventRecord(hEvent, CUstream.Null); }
public bool Equals(CUevent other) { return(other.Handle.Equals(Handle)); }