Module: OpenCL::Kernel::KHRSubGroups
- Included in:
- OpenCL::Kernel
- Defined in:
- lib/opencl_ruby_ffi/khr/sub_groups.rb
Instance Method Summary collapse
- #max_sub_group_size_for_ndrange_khr(local_work_size, device = program.devices.first) ⇒ Object
- #sub_groups_count_for_ndrange_khr(local_work_size, device = program.devices.first) ⇒ Object
Instance Method Details
#max_sub_group_size_for_ndrange_khr(local_work_size, device = program.devices.first) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/opencl_ruby_ffi/khr/sub_groups.rb', line 16 def max_sub_group_size_for_ndrange_khr(local_work_size, device = program.devices.first) error_check(INVALID_OPERATION) unless device.extensions.include?( "cl_khr_sub_groups" ) local_work_size = [local_work_size].flatten lws_p = MemoryPointer::new( :size_t, local_work_size.length ) local_work_size.each_with_index { |e,i| lws_p[i].write_size_t( e ) } ptr = MemoryPointer::new( :size_t ) error = OpenCL.clGetKernelSubGroupInfoKHR(self, device, MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR, lws_p.size, lws_p, ptr.size, ptr, nil) error_check(error) return ptr.read_size_t end |
#sub_groups_count_for_ndrange_khr(local_work_size, device = program.devices.first) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/opencl_ruby_ffi/khr/sub_groups.rb', line 29 def sub_groups_count_for_ndrange_khr(local_work_size, device = program.devices.first) error_check(INVALID_OPERATION) unless device.extensions.include?( "cl_khr_sub_groups" ) local_work_size = [local_work_size].flatten lws_p = MemoryPointer::new( :size_t, local_work_size.length ) local_work_size.each_with_index { |e,i| lws_p[i].write_size_t( e ) } ptr = MemoryPointer::new( :size_t ) error = OpenCL.clGetKernelSubGroupInfoKHR(self, device, SUB_GROUP_COUNT_FOR_NDRANGE_KHR, lws_p.size, lws_p, ptr.size, ptr, nil) error_check(error) return ptr.read_size_t end |