opencl_ruby_ffi 0.2 → 0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -61,7 +61,7 @@ module OpenCL
61
61
  event = FFI::MemoryPointer.new( Event )
62
62
  error = OpenCL.clEnqueueMigrateMemObjects( command_queue, num_mem_objects, mem_list, flags, num_events, events, event )
63
63
  OpenCL.error_check( error )
64
- return OpenCL::Event::new( event.read_ptr )
64
+ return OpenCL::Event::new( event.read_ptr, false )
65
65
  end
66
66
 
67
67
  # Enqueues a command to map an Image into host memory
@@ -101,7 +101,7 @@ module OpenCL
101
101
  error = FFI::MemoryPointer.new( :cl_int )
102
102
  OpenCL.clEnqueueMapImage( command_queue, image, blocking, map_flags, origin, region, image_row_pitch, image_slice_pitch, num_events, events, event, error )
103
103
  OpenCL.error_check( error.read_cl_int )
104
- ev = OpenCL::Event::new( event.read_ptr )
104
+ ev = OpenCL::Event::new( event.read_ptr, false )
105
105
  return [ev, ptr, image_row_pitch.read_size_t, image_slice_pitch.read_size_t]
106
106
  end
107
107
 
@@ -139,7 +139,7 @@ module OpenCL
139
139
  error = FFI::MemoryPointer.new( :cl_int )
140
140
  ptr = OpenCL.clEnqueueMapBuffer( command_queue, buffer, blocking, map_flags, offset, size, num_events, events, error )
141
141
  OpenCL.error_check( error.read_cl_int )
142
- ev = OpenCL::Event::new( event.read_ptr )
142
+ ev = OpenCL::Event::new( event.read_ptr, false )
143
143
  return [ev, ptr]
144
144
  end
145
145
 
@@ -164,7 +164,7 @@ module OpenCL
164
164
  event = FFI::MemoryPointer.new( Event )
165
165
  error = OpenCL.clEnqueueUnmapMemObject( command_queue, mem_obj, mapped_ptr, num_events, events, event )
166
166
  OpenCL.error_check( error )
167
- return OpenCL::Event::new( event.read_ptr )
167
+ return OpenCL::Event::new( event.read_ptr, false )
168
168
  end
169
169
 
170
170
  # Enqueues a command to read from a rectangular region from a Buffer object to host memory
@@ -241,7 +241,7 @@ module OpenCL
241
241
  event = FFI::MemoryPointer.new( Event )
242
242
  error = OpenCL.clEnqueueReadBufferRect(command_queue, buffer, blocking, buffer_origin, host_origin, r, buffer_row_pitch, buffer_slice_pitch, host_row_pitch, host_slice_pitch, ptr, num_events, events, event)
243
243
  OpenCL.error_check(error)
244
- return OpenCL::Event::new(event.read_pointer)
244
+ return OpenCL::Event::new(event.read_pointer, false)
245
245
  end
246
246
 
247
247
  # Enqueues a command to write to a rectangular region in a Buffer object from host memory
@@ -318,7 +318,7 @@ module OpenCL
318
318
  event = FFI::MemoryPointer.new( Event )
319
319
  error = OpenCL.clEnqueueWriteBufferRect(command_queue, buffer, blocking, buffer_origin, host_origin, r, buffer_row_pitch, buffer_slice_pitch, host_row_pitch, host_slice_pitch, ptr, num_events, events, event)
320
320
  OpenCL.error_check(error)
321
- return OpenCL::Event::new(event.read_pointer)
321
+ return OpenCL::Event::new(event.read_pointer, false)
322
322
  end
323
323
 
324
324
  # Enqueues a command to copy a rectangular region into a Buffer object from another Buffer object
@@ -389,7 +389,7 @@ module OpenCL
389
389
  event = FFI::MemoryPointer.new( Event )
390
390
  error = OpenCL.clEnqueueCopyBufferRect(command_queue, src_buffer, dst_buffer, src_origin, dst_origin, r, src_row_pitch, src_slice_pitch, dst_row_pitch, dst_slice_pitch, num_events, events, event)
391
391
  OpenCL.error_check(error)
392
- return OpenCL::Event::new(event.read_pointer)
392
+ return OpenCL::Event::new(event.read_pointer, false)
393
393
  end
394
394
 
395
395
  # Enqueues a command to copy data from a Buffer object into another Buffer object
@@ -422,7 +422,7 @@ module OpenCL
422
422
  event = FFI::MemoryPointer.new( Event )
423
423
  error = OpenCL.clEnqueueCopyBuffer(command_queue, src_buffer, dst_buffer, src_offset, dst_offset, size, num_events, events, event)
424
424
  OpenCL.error_check(error)
425
- return OpenCL::Event::new(event.read_pointer)
425
+ return OpenCL::Event::new(event.read_pointer, false)
426
426
  end
427
427
 
428
428
 
@@ -457,7 +457,7 @@ module OpenCL
457
457
  event = FFI::MemoryPointer.new( Event )
458
458
  error = OpenCL.clEnqueueWriteBuffer(command_queue, buffer, blocking, offset, size, ptr, num_events, events, event)
459
459
  OpenCL.error_check(error)
460
- return OpenCL::Event::new(event.read_pointer)
460
+ return OpenCL::Event::new(event.read_pointer, false)
461
461
  end
462
462
 
463
463
  # Enqueues a command to read from a Buffer object to host memory
@@ -491,7 +491,7 @@ module OpenCL
491
491
  event = FFI::MemoryPointer.new( Event )
492
492
  error = OpenCL.clEnqueueReadBuffer(command_queue, buffer, blocking, offset, size, ptr, num_events, events, event)
493
493
  OpenCL.error_check(error)
494
- return OpenCL::Event::new(event.read_pointer)
494
+ return OpenCL::Event::new(event.read_pointer, false)
495
495
  end
496
496
 
497
497
  # Acquire OpenCL Mem objects that have been created from OpenGL objects
@@ -522,7 +522,7 @@ module OpenCL
522
522
  event = FFI::MemoryPointer.new( Event )
523
523
  error = OpenCL.clEnqueueAcquireGLObject( command_queue, num_objs, objs, num_events, events, event )
524
524
  OpenCL.error_check(error)
525
- return OpenCL::Event::new(event.read_pointer)
525
+ return OpenCL::Event::new(event.read_pointer, false)
526
526
  end
527
527
 
528
528
  # Release OpenCL Mem objects that have been created from OpenGL objects and previously acquired
@@ -553,7 +553,7 @@ module OpenCL
553
553
  event = FFI::MemoryPointer.new( Event )
554
554
  error = OpenCL.clEnqueueReleaseGLObject( command_queue, num_objs, objs, num_events, events, event )
555
555
  OpenCL.error_check(error)
556
- return OpenCL::Event::new(event.read_pointer)
556
+ return OpenCL::Event::new(event.read_pointer, false)
557
557
  end
558
558
 
559
559
  # Enqueues a command to fill a Buffer with the given pattern
@@ -587,7 +587,7 @@ module OpenCL
587
587
  event = FFI::MemoryPointer.new( Event )
588
588
  error = OpenCL.clEnqueueFillBuffer( command_queue, buffer, pattern, pattern_size, offset, size, num_events, events, event )
589
589
  OpenCL.error_check(error)
590
- return OpenCL::Event::new(event.read_pointer)
590
+ return OpenCL::Event::new(event.read_pointer, false)
591
591
  end
592
592
 
593
593
  # Enqueues a command to fill an Image with the given color
@@ -615,7 +615,7 @@ module OpenCL
615
615
  event = FFI::MemoryPointer.new( Event )
616
616
  error = OpenCL.clEnqueueFillImage( command_queue, image, fill_color, origin, region, num_events, events, event )
617
617
  OpenCL.error_check(error)
618
- return OpenCL::Event::new(event.read_pointer)
618
+ return OpenCL::Event::new(event.read_pointer, false)
619
619
  end
620
620
 
621
621
  # Enqueues a command to copy an Image into a Buffer
@@ -645,7 +645,7 @@ module OpenCL
645
645
  event = FFI::MemoryPointer.new( Event )
646
646
  error = OpenCL.clEnqueueCopyImageToBuffer( command_queue, src_image, dst_buffer, src_origin, region, dst_offset, num_events, events, event )
647
647
  OpenCL.error_check(error)
648
- return OpenCL::Event::new(event.read_pointer)
648
+ return OpenCL::Event::new(event.read_pointer, false)
649
649
  end
650
650
 
651
651
  # Enqueues a command to copy a Buffer into an Image
@@ -675,7 +675,7 @@ module OpenCL
675
675
  event = FFI::MemoryPointer.new( Event )
676
676
  error = OpenCL.clEnqueueCopyBufferToImage( command_queue, src_buffer, dst_image, src_offset, dst_origin, region, num_events, events, event )
677
677
  OpenCL.error_check(error)
678
- return OpenCL::Event::new(event.read_pointer)
678
+ return OpenCL::Event::new(event.read_pointer, false)
679
679
  end
680
680
 
681
681
  # Enqueues a command to copy from host memory into an Image
@@ -714,7 +714,7 @@ module OpenCL
714
714
  event = FFI::MemoryPointer.new( Event )
715
715
  error = OpenCL.clEnqueueWriteImage( command_queue, image, blocking, origin, region, input_row_pitch, input_slice_pitch, ptr, num_events, events, event )
716
716
  OpenCL.error_check(error)
717
- return OpenCL::Event::new(event.read_pointer)
717
+ return OpenCL::Event::new(event.read_pointer, false)
718
718
  end
719
719
 
720
720
  # Enqueues a command to copy from an Image into an Image
@@ -747,7 +747,7 @@ module OpenCL
747
747
  event = FFI::MemoryPointer.new( Event )
748
748
  error = OpenCL.clEnqueueCopyImage( command_queue, src_image, dst_image, src_origin, dst_origin, region, num_events, events, event )
749
749
  OpenCL.error_check(error)
750
- return OpenCL::Event::new(event.read_pointer)
750
+ return OpenCL::Event::new(event.read_pointer, false)
751
751
  end
752
752
 
753
753
  # Enqueues a command to copy from an Image into host memory
@@ -785,7 +785,7 @@ module OpenCL
785
785
  event = FFI::MemoryPointer.new( Event )
786
786
  error = OpenCL.clEnqueueReadImage( command_queue, image, blocking, origin, region, row_pitch, slice_pitch, ptr, num_events, events, event )
787
787
  OpenCL.error_check(error)
788
- return OpenCL::Event::new(event.read_pointer)
788
+ return OpenCL::Event::new(event.read_pointer, false)
789
789
  end
790
790
 
791
791
  # Enqueues a native kernel
@@ -820,7 +820,7 @@ module OpenCL
820
820
  event = FFI::MemoryPointer.new( Event )
821
821
  error = OpenCL.clEnqueueNativeKernel( command_queue, func, nil, 0, 0, nil, nil, num_events, events, event )
822
822
  OpenCL.error_check(error)
823
- return OpenCL::Event::new(event.read_pointer)
823
+ return OpenCL::Event::new(event.read_pointer, false)
824
824
  end
825
825
 
826
826
  # Enqueues a kernel as a task
@@ -843,7 +843,7 @@ module OpenCL
843
843
  event = FFI::MemoryPointer.new( Event )
844
844
  error = OpenCL.clEnqueueTask( command_queue, kernel, num_events, events, event )
845
845
  OpenCL.error_check(error)
846
- return OpenCL::Event::new(event.read_pointer)
846
+ return OpenCL::Event::new(event.read_pointer, false)
847
847
  end
848
848
 
849
849
  # Enqueues a kernel as a NDrange
@@ -887,7 +887,7 @@ module OpenCL
887
887
  event = FFI::MemoryPointer.new( Event )
888
888
  error = OpenCL.clEnqueueNDRangeKernel(command_queue, kernel, global_work_size.length, gwo, gws, lws, num_events, events, event)
889
889
  OpenCL.error_check(error)
890
- return OpenCL::Event::new(event.read_pointer)
890
+ return OpenCL::Event::new(event.read_pointer, false)
891
891
  end
892
892
 
893
893
  # Enqueues a barrier on a list of envents
@@ -940,7 +940,7 @@ module OpenCL
940
940
  event = FFI::MemoryPointer.new( Event )
941
941
  error = OpenCL.clEnqueueBarrierWithWaitList( command_queue, num_events, evts, event )
942
942
  OpenCL.error_check(error)
943
- return OpenCL::Event::new(event.read_pointer)
943
+ return OpenCL::Event::new(event.read_pointer, false)
944
944
  end
945
945
  end
946
946
 
@@ -970,7 +970,7 @@ module OpenCL
970
970
  error = OpenCL.clEnqueueMarkerWithWaitList( command_queue, num_events, evts, event )
971
971
  end
972
972
  OpenCL.error_check(error)
973
- return OpenCL::Event::new(event.read_pointer)
973
+ return OpenCL::Event::new(event.read_pointer, false)
974
974
  end
975
975
 
976
976
  # Maps the cl_command_queue object of OpenCL
@@ -726,7 +726,6 @@ module OpenCL
726
726
 
727
727
  # method called at Platform deletion, releases the object if aplicable
728
728
  def self.release(ptr)
729
- #STDERR.puts "Releasing Platform: #{ptr}"
730
729
  end
731
730
  end
732
731
 
@@ -859,7 +858,6 @@ module OpenCL
859
858
 
860
859
  # method called at Device deletion, releases the object if aplicable
861
860
  def self.release(ptr)
862
- #STDERR.puts "Releasing Device: #{ptr}"
863
861
  end
864
862
  end
865
863
 
@@ -999,6 +997,9 @@ module OpenCL
999
997
  # method called at Context deletion, releases the object if aplicable
1000
998
  def self.release(ptr)
1001
999
  #STDERR.puts "Releasing Context: #{ptr}"
1000
+ #ref_count = FFI::MemoryPointer.new( :cl_uint )
1001
+ #OpenCL.clGetContextInfo(ptr, OpenCL::Context::REFERENCE_COUNT, ref_count.size, ref_count, nil)
1002
+ #STDERR.puts "reference counter: #{ref_count.read_cl_uint}"
1002
1003
  error = OpenCL.clReleaseContext(ptr)
1003
1004
  #STDERR.puts "Object released! #{error}"
1004
1005
  OpenCL.error_check( error )
@@ -1026,6 +1027,9 @@ module OpenCL
1026
1027
  # method called at CommandQueue deletion, releases the object if aplicable
1027
1028
  def self.release(ptr)
1028
1029
  #STDERR.puts "Releasing CommandQueue: #{ptr}"
1030
+ #ref_count = FFI::MemoryPointer.new( :cl_uint )
1031
+ #OpenCL.clGetCommandQueueInfo(ptr, OpenCL::CommandQueue::REFERENCE_COUNT, ref_count.size, ref_count, nil)
1032
+ #STDERR.puts "reference counter: #{ref_count.read_cl_uint}"
1029
1033
  error = OpenCL.clReleaseCommandQueue(ptr)
1030
1034
  #STDERR.puts "Object released! #{error}"
1031
1035
  OpenCL.error_check( error )
@@ -1096,6 +1100,9 @@ module OpenCL
1096
1100
  # method called at Mem deletion, releases the object if aplicable
1097
1101
  def self.release(ptr)
1098
1102
  #STDERR.puts "Releasing Mem: #{ptr}"
1103
+ #ref_count = FFI::MemoryPointer.new( :cl_uint )
1104
+ #OpenCL.clGetMemObjectInfo(ptr, OpenCL::Mem::REFERENCE_COUNT, ref_count.size, ref_count, nil)
1105
+ #STDERR.puts "reference counter: #{ref_count.read_cl_uint}"
1099
1106
  error = OpenCL.clReleaseMemObject(ptr)
1100
1107
  #STDERR.puts "Object released! #{error}"
1101
1108
  OpenCL.error_check( error )
@@ -1200,6 +1207,9 @@ module OpenCL
1200
1207
  # method called at Program deletion, releases the object if aplicable
1201
1208
  def self.release(ptr)
1202
1209
  #STDERR.puts "Releasing Program: #{ptr}"
1210
+ #ref_count = FFI::MemoryPointer.new( :cl_uint )
1211
+ #OpenCL.clGetProgramInfo(ptr, OpenCL::Program::REFERENCE_COUNT, ref_count.size, ref_count, nil)
1212
+ #STDERR.puts "reference counter: #{ref_count.read_cl_uint}"
1203
1213
  error = OpenCL.clReleaseProgram(ptr)
1204
1214
  #STDERR.puts "Object released! #{error}"
1205
1215
  OpenCL.error_check( error )
@@ -1271,6 +1281,9 @@ module OpenCL
1271
1281
  # method called at Kernel deletion, releases the object if aplicable
1272
1282
  def self.release(ptr)
1273
1283
  #STDERR.puts "Releasing Kernel: #{ptr}"
1284
+ #ref_count = FFI::MemoryPointer.new( :cl_uint )
1285
+ #OpenCL.clGetKernelInfo(ptr, OpenCL::Kernel::REFERENCE_COUNT, ref_count.size, ref_count, nil)
1286
+ #STDERR.puts "reference counter: #{ref_count.read_cl_uint}"
1274
1287
  error = OpenCL.clReleaseKernel(ptr)
1275
1288
  #STDERR.puts "Object released! #{error}"
1276
1289
  OpenCL.error_check( error )
@@ -1380,6 +1393,9 @@ module OpenCL
1380
1393
  # method called at Event deletion, releases the object if aplicable
1381
1394
  def self.release(ptr)
1382
1395
  #STDERR.puts "Releasing Event: #{ptr}"
1396
+ #ref_count = FFI::MemoryPointer.new( :cl_uint )
1397
+ #OpenCL.clGetEventInfo(ptr, OpenCL::Event::REFERENCE_COUNT, ref_count.size, ref_count, nil)
1398
+ #STDERR.puts "reference counter: #{ref_count.read_cl_uint}"
1383
1399
  error = OpenCL.clReleaseEvent(ptr)
1384
1400
  #STDERR.puts "Object released! #{error}"
1385
1401
  OpenCL.error_check( error )
@@ -1406,6 +1422,9 @@ module OpenCL
1406
1422
  # method called at Sampler deletion, releases the object if aplicable
1407
1423
  def self.release(ptr)
1408
1424
  #STDERR.puts "Releasing Sampler: #{ptr}"
1425
+ #ref_count = FFI::MemoryPointer.new( :cl_uint )
1426
+ #OpenCL.clGetSamplerInfo(ptr, OpenCL::Sampler::REFERENCE_COUNT, ref_count.size, ref_count, nil)
1427
+ #STDERR.puts "reference counter: #{ref_count.read_cl_uint}"
1409
1428
  error = OpenCL.clReleaseSampler(ptr)
1410
1429
  #STDERR.puts "Object released! #{error}"
1411
1430
  OpenCL.error_check( error )
@@ -1426,7 +1445,6 @@ module OpenCL
1426
1445
 
1427
1446
  # method called at GLsync deletion, releases the object if aplicable
1428
1447
  def self.release(ptr)
1429
- #STDERR.puts "Releasing GLsync: #{ptr}"
1430
1448
  end
1431
1449
  end
1432
1450
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'opencl_ruby_ffi'
3
- s.version = "0.2"
3
+ s.version = "0.3"
4
4
  s.author = "Brice Videau"
5
5
  s.email = "brice.videau@imag.fr"
6
6
  s.homepage = "https://forge.imag.fr/projects/opencl-ruby/"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opencl_ruby_ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: '0.3'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: