class MetaCL::Templates::KernelInit
Attributes
counter[R]
kernel_code[R]
m_from[R]
m_to[R]
n_from[R]
n_to[R]
template_params[R]
Public Instance Methods
gen_kernel_code()
click to toggle source
# File lib/metacl/templates/kernel_init.rb, line 20 def gen_kernel_code params = [] @objects.each do |x| case x.klass when :matrix, :array params << "global const #{x.type}* #{x.name}" when :numeric # TODO end end params << "global #{@result_object.type}* #{@result_object.name}" @kernel_code = Templates::Kernel.render(params.join(', '), @code, @n_from, @m_from, @counter) @kernel_code = Utils.stringify_text(@kernel_code) end
gen_template_params()
click to toggle source
# File lib/metacl/templates/kernel_init.rb, line 36 def gen_template_params params = [] @objects.each do |x| case x.klass when :matrix, :array params << "cl::Buffer&" when :numeric # TODO end end params << "cl::Buffer&" # for result @template_params = params.join(', ') end
render(from_border, to_border, code, result_object, objects, counter, platform)
click to toggle source
Calls superclass method
# File lib/metacl/templates/kernel_init.rb, line 6 def render(from_border, to_border, code, result_object, objects, counter, platform) if platform == :cl @counter = counter @code = Utils.tab_text(code, 1) @result_object = result_object @objects = objects @n_from, @m_from = from_border @n_to, @m_to = to_border gen_kernel_code gen_template_params super IO.read("#{__dir__}/kernel_init.cl.template") end end