예제 #1
0
 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);
         }
     });
 }
예제 #2
0
파일: CUevent.cs 프로젝트: xeno-by/libcuda
 public bool Equals(CUevent other) { return other.Handle.Equals(Handle); }
예제 #3
0
 //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);
예제 #4
0
        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);
                }
            });
        }
예제 #5
0
 // http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/online/group__CUEVENT_g349006734f6e7378ea36cb57c239d4c7.html
 private static extern CUresult nativeEventDestroy(CUevent hEvent);
예제 #6
0
 // 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);
예제 #7
0
 // 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);
예제 #8
0
 // http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/online/group__CUEVENT_ge3ed6a308c602d139373895cb99cb7ab.html
 private static extern CUresult nativeEventSynchronize(CUevent hEvent);
예제 #9
0
 public static void cuEventRecord(CUevent hEvent)
 {
     cuEventRecord(hEvent, CUstream.Null);
 }
예제 #10
0
 public bool Equals(CUevent other)
 {
     return(other.Handle.Equals(Handle));
 }