Module: OpenCL::CommandQueue::UnifiedSharedMemoryPreviewINTEL

Included in:
OpenCL::CommandQueue
Defined in:
lib/opencl_ruby_ffi/intel/unified_shared_memory_preview.rb

Instance Method Summary collapse

Instance Method Details

#clEnqueueMemAdviseINTELObject



557
558
559
560
561
562
563
# File 'lib/opencl_ruby_ffi/intel/unified_shared_memory_preview.rb', line 557

def clEnqueueMemAdviseINTEL
  @_clEnqueueMemAdviseINTEL ||= begin
    p = platform.get_extension_function("clEnqueueMemAdviseINTEL", :cl_int, [CommandQueue, :pointer, :size_t, :cl_mem_advice_intel, :cl_uint, :pointer, :pointer])
    error_check(OpenCL::INVALID_OPERATION) unless p
    p
  end
end

#clEnqueueMemcpyINTELObject



541
542
543
544
545
546
547
# File 'lib/opencl_ruby_ffi/intel/unified_shared_memory_preview.rb', line 541

def clEnqueueMemcpyINTEL
  @_clEnqueueMemcpyINTEL ||= begin
    p = platform.get_extension_function("clEnqueueMemcpyINTEL", :cl_int, [CommandQueue, :cl_bool, :pointer, :pointer, :size_t, :cl_uint, :pointer, :pointer])
    error_check(OpenCL::INVALID_OPERATION) unless p
    p
  end
end

#clEnqueueMemFillINTELObject



533
534
535
536
537
538
539
# File 'lib/opencl_ruby_ffi/intel/unified_shared_memory_preview.rb', line 533

def clEnqueueMemFillINTEL
  @_clEnqueueMemFillINTEL ||= begin
    p = platform.get_extension_function("clEnqueueMemFillINTEL", :cl_int, [CommandQueue, :pointer, :pointer, :size_t, :size_t, :cl_uint, :pointer, :pointer])
    error_check(OpenCL::INVALID_OPERATION) unless p
    p
  end
end

#clEnqueueMigrateMemINTELObject



549
550
551
552
553
554
555
# File 'lib/opencl_ruby_ffi/intel/unified_shared_memory_preview.rb', line 549

def clEnqueueMigrateMemINTEL
  @_clEnqueueMigrateMemINTEL ||= begin
    p = platform.get_extension_function("clEnqueueMigrateMemINTEL", :cl_int, [CommandQueue, :pointer, :size_t, :cl_mem_migration_flags_intel, :cl_uint, :pointer, :pointer])
    error_check(OpenCL::INVALID_OPERATION) unless p
    p
  end
end

#enqueue_mem_advise_intel(usm_ptr, advice, options = {}) ⇒ Object



600
601
602
603
604
605
606
607
608
# File 'lib/opencl_ruby_ffi/intel/unified_shared_memory_preview.rb', line 600

def enqueue_mem_advise_intel(usm_ptr, advice, options = {})
  num_events, events = get_event_wait_list( options )
  size = usm_ptr.size
  size = options[:size] if options[:size]
  event = MemoryPointer::new( Event )
  error = clEnqueueMemAdviseINTEL(self, usm_ptr, size, advice, num_events, events, event)
  error_check(error)
  return Event::new(event.read_pointer, false)
end

#enqueue_mem_fill_intel(usm_ptr, pattern, options = {}) ⇒ Object



565
566
567
568
569
570
571
572
573
574
575
# File 'lib/opencl_ruby_ffi/intel/unified_shared_memory_preview.rb', line 565

def enqueue_mem_fill_intel(usm_ptr, pattern, options = {})
  num_events, events = get_event_wait_list( options )
  pattern_size = pattern.size
  pattern_size = options[:pattern_size] if options[:pattern_size]
  size = usm_ptr.size
  size = options[:size] if options[:size]
  event = MemoryPointer::new( Event )
  error = clEnqueueMemFillINTEL.call(self, usm_ptr, pattern, pattern_size, size, num_events, events, event)
  error_check(error)
  return Event::new(event.read_pointer, false)
end

#enqueue_memcpy_intel(dst_ptr, src_ptr, options = {}) ⇒ Object



577
578
579
580
581
582
583
584
585
586
587
# File 'lib/opencl_ruby_ffi/intel/unified_shared_memory_preview.rb', line 577

def enqueue_memcpy_intel(dst_ptr, src_ptr, options = {})
  num_events, events = get_event_wait_list( options )
  blocking = FALSE
  blocking = TRUE if options[:blocking] or options[:blocking_copy]
  size = [dst_ptr.size, src_ptr.size].min
  size = options[:size] if options[:size]
  event = MemoryPointer::new( Event )
  error = clEnqueueMemcpyINTEL.call(self, blocking, dst_ptr, src_ptr, size, num_events, events, event)
  error_check(error)
  return Event::new(event.read_pointer, false)
end

#enqueue_migrate_mem_intel(usm_ptr, options = {}) ⇒ Object



589
590
591
592
593
594
595
596
597
598
# File 'lib/opencl_ruby_ffi/intel/unified_shared_memory_preview.rb', line 589

def enqueue_migrate_mem_intel(usm_ptr, options = {})
  num_events, events = get_event_wait_list( options )
  flags = get_flags( options )
  size = usm_ptr.size
  size = options[:size] if options[:size]
  event = MemoryPointer::new( Event )
  error = clEnqueueMigrateMemINTEL.call(self, usm_ptr, size, flags, num_events, events, event)
  error_check(error)
  return Event::new(event.read_pointer, false)
end