Module: OpenCL::Device::OpenCL30

Included in:
OpenCL::Device
Defined in:
lib/opencl_ruby_ffi/Device.rb

Instance Method Summary collapse

Instance Method Details

#atomic_fence_capabilitiesObject

Returns the OpenCL::Device::atomic_fence_capabilities info

Returns:

  • cl_device_atomic_capabilities



371
# File 'lib/opencl_ruby_ffi/Device.rb', line 371

get_info("Device", :cl_device_atomic_capabilities, "atomic_fence_capabilities")

#atomic_memory_capabilitiesObject

Returns the OpenCL::Device::atomic_memory_capabilities info

Returns:

  • cl_device_atomic_capabilities



370
# File 'lib/opencl_ruby_ffi/Device.rb', line 370

get_info("Device", :cl_device_atomic_capabilities, "atomic_memory_capabilities")

#built_in_kernels_with_versionObject



410
411
412
413
414
415
416
417
418
419
420
# File 'lib/opencl_ruby_ffi/Device.rb', line 410

def built_in_kernels_with_version
  sz = MemoryPointer::new( :size_t )
  error = OpenCL.clGetDeviceInfo( self, BUILT_IN_KERNELS_WITH_VERSION, 0, nil, sz)
  error_check(error)
  sz = sz.read_size_t
  ptr = MemoryPointer::new( sz )
  error = OpenCL.clGetDeviceInfo( self, BUILT_IN_KERNELS_WITH_VERSION, sz, ptr, nil)
  error_check(error)
  nvsz = NameVersion.size
  return (sz/nvsz).times.collect { |i| NameVersion::new(ptr + i*nvsz) }
end

#device_enqueue_supportObject

Returns the OpenCL::Device::device_enqueue_support info

Returns:

  • cl_bool



376
# File 'lib/opencl_ruby_ffi/Device.rb', line 376

get_info("Device", :cl_bool, "device_enqueue_support")

#extensions_with_versionObject



386
387
388
389
390
391
392
393
394
395
396
# File 'lib/opencl_ruby_ffi/Device.rb', line 386

def extensions_with_version
  sz = MemoryPointer::new( :size_t )
  error = OpenCL.clGetDeviceInfo( self, EXTENSIONS_WITH_VERSION, 0, nil, sz)
  error_check(error)
  sz = sz.read_size_t
  ptr = MemoryPointer::new( sz )
  error = OpenCL.clGetDeviceInfo( self, EXTENSIONS_WITH_VERSION, sz, ptr, nil)
  error_check(error)
  nvsz = NameVersion.size
  return (sz/nvsz).times.collect { |i| NameVersion::new(ptr + i*nvsz) }
end

#generic_address_space_supportObject

Returns the OpenCL::Device::generic_address_space_support info

Returns:

  • cl_bool



375
# File 'lib/opencl_ruby_ffi/Device.rb', line 375

get_info("Device", :cl_bool, "generic_address_space_support")

#ils_with_versionObject



398
399
400
401
402
403
404
405
406
407
408
# File 'lib/opencl_ruby_ffi/Device.rb', line 398

def ils_with_version
  sz = MemoryPointer::new( :size_t )
  error = OpenCL.clGetDeviceInfo( self, ILS_WITH_VERSION, 0, nil, sz)
  error_check(error)
  sz = sz.read_size_t
  ptr = MemoryPointer::new( sz )
  error = OpenCL.clGetDeviceInfo( self, ILS_WITH_VERSION, sz, ptr, nil)
  error_check(error)
  nvsz = NameVersion.size
  return (sz/nvsz).times.collect { |i| NameVersion::new(ptr + i*nvsz) }
end

#non_uniform_work_group_supportObject

Returns the OpenCL::Device::non_uniform_work_group_support info

Returns:

  • cl_bool



372
# File 'lib/opencl_ruby_ffi/Device.rb', line 372

get_info("Device", :cl_bool, "non_uniform_work_group_support")

#numeric_versionObject



379
380
381
382
383
384
# File 'lib/opencl_ruby_ffi/Device.rb', line 379

def numeric_version
  ptr = MemoryPointer::new( :cl_version )
  error = OpenCL.clGetDeviceInfo( self, NUMERIC_VERSION, 4, ptr, nil)
  error_check(error)
  return Version::from_int(ptr.read_cl_version)
end

#opencl_c_all_versionsObject



422
423
424
425
426
427
428
429
430
431
432
# File 'lib/opencl_ruby_ffi/Device.rb', line 422

def opencl_c_all_versions
  sz = MemoryPointer::new( :size_t )
  error = OpenCL.clGetDeviceInfo( self, OPENCL_C_ALL_VERSIONS, 0, nil, sz)
  error_check(error)
  sz = sz.read_size_t
  ptr = MemoryPointer::new( sz )
  error = OpenCL.clGetDeviceInfo( self, OPENCL_C_ALL_VERSIONS, sz, ptr, nil)
  error_check(error)
  nvsz = NameVersion.size
  return (sz/nvsz).times.collect { |i| NameVersion::new(ptr + i*nvsz) }
end

#opencl_c_featuresObject



434
435
436
437
438
439
440
441
442
443
444
# File 'lib/opencl_ruby_ffi/Device.rb', line 434

def opencl_c_features
  sz = MemoryPointer::new( :size_t )
  error = OpenCL.clGetDeviceInfo( self, OPENCL_C_FEATURES, 0, nil, sz)
  error_check(error)
  sz = sz.read_size_t
  ptr = MemoryPointer::new( sz )
  error = OpenCL.clGetDeviceInfo( self, OPENCL_C_FEATURES, sz, ptr, nil)
  error_check(error)
  nvsz = NameVersion.size
  return (sz/nvsz).times.collect { |i| NameVersion::new(ptr + i*nvsz) }
end

#pipe_supportObject

Returns the OpenCL::Device::pipe_support info

Returns:

  • cl_bool



377
# File 'lib/opencl_ruby_ffi/Device.rb', line 377

get_info("Device", :cl_bool, "pipe_support")

#preferred_work_group_size_multipleObject

Returns the OpenCL::Device::preferred_work_group_size_multiple info

Returns:

  • size_t



373
# File 'lib/opencl_ruby_ffi/Device.rb', line 373

get_info("Device", :size_t, "preferred_work_group_size_multiple")

#work_group_collective_functions_supportObject

Returns the OpenCL::Device::work_group_collective_functions_support info

Returns:

  • cl_bool



374
# File 'lib/opencl_ruby_ffi/Device.rb', line 374

get_info("Device", :cl_bool, "work_group_collective_functions_support")