Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.
I tried run tests in newset Clootils (Cloo 0.8.0). Its end with:
------------| Start OpenCL 1.1 test |------------
Creating command queue… done.
Generating data… done.
Creating buffer… done.
Writing to buffer (linear)… done.
Reading from buffer (linear)… done.
Comparing data… passed.
Writing to buffer (rectangular)… System.AccessViolationException: Attempted to read or write protected memory.
in Cloo.Bindings.CL11.EnqueueWriteBufferRect(IntPtr command_queue, IntPtr buffer, ComputeBoolean blocking_write, SysIntX3* buffer_offset, SysIntX3* host_offset, SysIntX3* region, IntPtr buffer_row_pitch, IntPtr buffer_slice_pitch, IntPtr host_row_pitch, IntPtr host_slice_pitch, IntPtr ptr, Int32 num_events_in_wait_list, IntPtr* event_wait_list, IntPtr* new_event)
w Cloo.ComputeCommandQueue.Write(ComputeBufferBase`1 destination, Boolean blocking, SysIntX3 sourceOffset, SysIntX3 destinationOffset, SysIntX3 region, Int64 destinationRowPitch, Int64 destinationSlicePitch, Int64 sourceRowPitch, Int64 sourceSlicePitch, IntPtr source, ICollection`1 events) w C:\Project\MES-OpenCL\libs\Cloo\Source\ComputeCommandQueue.cs:line 693
in Cloo.ComputeCommandQueue.WriteToBuffer(T source, ComputeBufferBase`1 destination, Boolean blocking, SysIntX2 sourceOffset, SysIntX2 destinationOffset, SysIntX2 region, Int64 sourceRowPitch, Int64 destinationRowPitch, ICollection`1 events) in C:\Project\MES-OpenCL\libs\Cloo\Source\ComputeCommandQueue.Added.cs:line 624
in Cloo.ComputeCommandQueue.WriteToBuffer(T source, ComputeBufferBase`1 destination, Boolean blocking, SysIntX2 sourceOffset, SysIntX2 destinationOffset, SysIntX2 region, ICollection`1 events) in C:\Project\MES-OpenCL\libs\Cloo\Source\ComputeCommandQueue.Added.cs:line 580
in Clootils.CL11Test.Run(TextWriter log, ComputeContext context) w C:\Project\MES-OpenCL\libs\Clootils\CL11Test.cs:line 102
-------------| End OpenCL 1.1 test |-------------
What cause that problems? I use GeForce GT 240 with 258.96 Drivers.
I don't know the exact cause of the error (nythrix will have to answer that), but the driver you have should only support OpenCL 1.0. As far as I know, the only nVidia OpenCL 1.1 driver available is a pre-release version only available to registered developers.
At a guess, that would be the base cause of the error.
Quite right. Most of the new command queue methods require the new event callback mechanism in order to work. Unless the driver supports it, this test will fail exactly on that call. I'm afraid, you'll have to wait for an OpenCL 1.1 Nvidia driver. There's not much I can do about this.