Esempio n. 1
0
        /// <summary>
        /// Creates a new Stream
        /// </summary>
        /// <param name="flags">Parameters for stream creation (must be <see cref="CUStreamFlags.None"/>)</param>
        public CudaStream(CUStreamFlags flags)
        {
            _stream = new CUstream();

            res = DriverAPINativeMethods.Streams.cuStreamCreate(ref _stream, flags);
            Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuStreamCreate", res));
            if (res != CUResult.Success) throw new CudaException(res);
			_isOwner = true;
        }
Esempio n. 2
0
        /// <summary>
        /// Creates a new Stream using <see cref="CUStreamFlags.None"/> and with the given priority<para/>
        /// This API alters the scheduler priority of work in the stream. Work in a higher priority stream
        /// may preempt work already executing in a low priority stream.<para/>
        /// <c>priority</c> follows a convention where lower numbers represent higher priorities.<para/>
        /// '0' represents default priority.
        /// </summary>
        /// <param name="priority">Stream priority. Lower numbers represent higher priorities.</param>
        /// <param name="flags">Parameters for stream creation (must be <see cref="CUStreamFlags.None"/>)</param>
        public CudaStream(int priority, CUStreamFlags flags)
        {
            _stream = new CUstream();

            res = DriverAPINativeMethods.Streams.cuStreamCreateWithPriority(ref _stream, flags, priority);
            Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuStreamCreateWithPriority", res));
            if (res != CUResult.Success)
            {
                throw new CudaException(res);
            }
            _isOwner = true;
        }
Esempio n. 3
0
        /// <summary>
        /// Query the flags of this stream.
        /// </summary>
        /// <returns>the stream's flags<para/>
        /// The value returned in <c>flags</c> is a logical 'OR' of all flags that
        /// were used while creating this stream.</returns>
        public CUStreamFlags cuStreamGetFlags()
        {
            CUStreamFlags flags = 0;
            CUResult      res   = DriverAPINativeMethods.Streams.cuStreamGetFlags(_stream, ref flags);

            Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuStreamGetFlags", res));
            if (res != CUResult.Success)
            {
                throw new CudaException(res);
            }
            return(flags);
        }
Esempio n. 4
0
			public static extern CUResult cuStreamGetFlags(CUstream hStream, ref CUStreamFlags flags);
Esempio n. 5
0
			public static extern CUResult cuStreamCreateWithPriority(ref CUstream phStream, CUStreamFlags flags, int priority);
Esempio n. 6
0
 public static extern CUResult  cuStreamCreate( ref CUstream phStream, CUStreamFlags Flags );