Module: OpenCL::Device::OpenCL30
- Included in:
- OpenCL::Device
- Defined in:
- lib/opencl_ruby_ffi/Device.rb
Instance Method Summary collapse
-
#atomic_fence_capabilities ⇒ Object
Returns the OpenCL::Device::atomic_fence_capabilities info.
-
#atomic_memory_capabilities ⇒ Object
Returns the OpenCL::Device::atomic_memory_capabilities info.
- #built_in_kernels_with_version ⇒ Object
-
#device_enqueue_support ⇒ Object
Returns the OpenCL::Device::device_enqueue_support info.
- #extensions_with_version ⇒ Object
-
#generic_address_space_support ⇒ Object
Returns the OpenCL::Device::generic_address_space_support info.
- #ils_with_version ⇒ Object
-
#non_uniform_work_group_support ⇒ Object
Returns the OpenCL::Device::non_uniform_work_group_support info.
- #numeric_version ⇒ Object
- #opencl_c_all_versions ⇒ Object
- #opencl_c_features ⇒ Object
-
#pipe_support ⇒ Object
Returns the OpenCL::Device::pipe_support info.
-
#preferred_work_group_size_multiple ⇒ Object
Returns the OpenCL::Device::preferred_work_group_size_multiple info.
-
#work_group_collective_functions_support ⇒ Object
Returns the OpenCL::Device::work_group_collective_functions_support info.
Instance Method Details
#atomic_fence_capabilities ⇒ Object
Returns the OpenCL::Device::atomic_fence_capabilities info
371 |
# File 'lib/opencl_ruby_ffi/Device.rb', line 371 get_info("Device", :cl_device_atomic_capabilities, "atomic_fence_capabilities") |
#atomic_memory_capabilities ⇒ Object
Returns the OpenCL::Device::atomic_memory_capabilities info
370 |
# File 'lib/opencl_ruby_ffi/Device.rb', line 370 get_info("Device", :cl_device_atomic_capabilities, "atomic_memory_capabilities") |
#built_in_kernels_with_version ⇒ Object
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_support ⇒ Object
Returns the OpenCL::Device::device_enqueue_support info
376 |
# File 'lib/opencl_ruby_ffi/Device.rb', line 376 get_info("Device", :cl_bool, "device_enqueue_support") |
#extensions_with_version ⇒ Object
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_support ⇒ Object
Returns the OpenCL::Device::generic_address_space_support info
375 |
# File 'lib/opencl_ruby_ffi/Device.rb', line 375 get_info("Device", :cl_bool, "generic_address_space_support") |
#ils_with_version ⇒ Object
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_support ⇒ Object
Returns the OpenCL::Device::non_uniform_work_group_support info
372 |
# File 'lib/opencl_ruby_ffi/Device.rb', line 372 get_info("Device", :cl_bool, "non_uniform_work_group_support") |
#numeric_version ⇒ Object
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_versions ⇒ Object
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_features ⇒ Object
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_support ⇒ Object
Returns the OpenCL::Device::pipe_support info
377 |
# File 'lib/opencl_ruby_ffi/Device.rb', line 377 get_info("Device", :cl_bool, "pipe_support") |
#preferred_work_group_size_multiple ⇒ Object
Returns the OpenCL::Device::preferred_work_group_size_multiple info
373 |
# File 'lib/opencl_ruby_ffi/Device.rb', line 373 get_info("Device", :size_t, "preferred_work_group_size_multiple") |
#work_group_collective_functions_support ⇒ Object
Returns the OpenCL::Device::work_group_collective_functions_support info
374 |
# File 'lib/opencl_ruby_ffi/Device.rb', line 374 get_info("Device", :cl_bool, "work_group_collective_functions_support") |