Module: OpenCL::Context::AcceleratorINTEL

Included in:
OpenCL::Context
Defined in:
lib/opencl_ruby_ffi/intel/accelerator.rb

Instance Method Summary collapse

Instance Method Details

#__release_accelerator_intel(ptr) ⇒ Object



128
129
130
131
132
133
134
135
136
# File 'lib/opencl_ruby_ffi/intel/accelerator.rb', line 128

def __release_accelerator_intel(ptr)
  name = "clReleaseAcceleratorINTEL"
  return_type = :cl_int
  params = [OpenCL::AcceleratorINTEL]
  f = platform.get_extension_function(name, return_type, params)
  error_check(OpenCL::INVALID_OPERATION) unless f
  error = f.call(ptr)
  error_check(error)
end

#__retain_accelerator_intel(ptr) ⇒ Object



138
139
140
141
142
143
144
145
146
# File 'lib/opencl_ruby_ffi/intel/accelerator.rb', line 138

def __retain_accelerator_intel(ptr)
  name = "clRetainAcceleratorINTEL"
  return_type = :cl_int
  params = [OpenCL::AcceleratorINTEL]
  f = platform.get_extension_function(name, return_type, params)
  error_check(OpenCL::INVALID_OPERATION) unless f
  error = f.call(ptr)
  error_check(error)
end

#create_accelerator_intel(accelerator_type, descriptor, options = {}) ⇒ Object



115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/opencl_ruby_ffi/intel/accelerator.rb', line 115

def create_accelerator_intel(accelerator_type, descriptor, options = {})
  name = "clCreateAcceleratorINTEL"
  return_type = OpenCL::AcceleratorINTEL
  params = [Context, :cl_accelerator_type_intel, :size_t, :pointer, :pointer]
  f = platform.get_extension_function(name, return_type, params)
  error_check(OpenCL::INVALID_OPERATION) unless f
  error = MemoryPointer::new( :cl_int )
  size = descriptor.size
  acc = f.call(self, accelerator_type, size, descriptor, error)
  error_check(error.read_cl_int)
  return OpenCL::AcceleratorINTEL::new( acc, self, false )
end