opencl_ruby_ffi 0.995 → 0.996

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0713a0dacbcdc402b03447ecb6de63b041b359a3
4
+ data.tar.gz: 48115b80e8d5bade57ef1634972c52b1d3ce381b
5
+ SHA512:
6
+ metadata.gz: 8ba6e9b12fb6ffb166c57613bfd76011fbc28d92fa57b72661591870d34d188db580c8ba8d548bc6d658b3142e3e8b7d10442d67539593e7f0945bcd618cdaa2
7
+ data.tar.gz: 8dfe8b59516785150b979adf667ad85ce9dfae59589ab8167ee00181a323fecd5da5a0ea0876492c53859831636cfb8109e9e1ae04ac5a2512dbf6c42dd9c37e
@@ -549,7 +549,7 @@ module OpenCL
549
549
  # ==== Returns
550
550
  #
551
551
  # the Event associated with the command
552
- def self.enqueue_acquire_GL_object( command_queue, mem_objects, options = {} )
552
+ def self.enqueue_acquire_GL_objects( command_queue, mem_objects, options = {} )
553
553
  num_objs = [mem_objects].flatten.length
554
554
  objs = nil
555
555
  if num_objs > 0 then
@@ -560,10 +560,13 @@ module OpenCL
560
560
  end
561
561
  num_events, events = get_event_wait_list( options )
562
562
  event = FFI::MemoryPointer::new( Event )
563
- error = clEnqueueAcquireGLObject( command_queue, num_objs, objs, num_events, events, event )
563
+ error = clEnqueueAcquireGLObjects( command_queue, num_objs, objs, num_events, events, event )
564
564
  error_check(error)
565
565
  return Event::new(event.read_pointer, false)
566
566
  end
567
+ class << self
568
+ alias :enqueue_acquire_gl_objects :enqueue_acquire_GL_objects
569
+ end
567
570
 
568
571
  # Release OpenCL Mem objects that have been created from OpenGL objects and previously acquired
569
572
  #
@@ -580,7 +583,7 @@ module OpenCL
580
583
  # ==== Returns
581
584
  #
582
585
  # the Event associated with the command
583
- def self.enqueue_release_GL_object( command_queue, mem_objects, options = {} )
586
+ def self.enqueue_release_GL_objects( command_queue, mem_objects, options = {} )
584
587
  num_objs = [mem_objects].flatten.length
585
588
  objs = nil
586
589
  if num_objs > 0 then
@@ -591,10 +594,13 @@ module OpenCL
591
594
  end
592
595
  num_events, events = get_event_wait_list( options )
593
596
  event = FFI::MemoryPointer::new( Event )
594
- error = clEnqueueReleaseGLObject( command_queue, num_objs, objs, num_events, events, event )
597
+ error = clEnqueueReleaseGLObjects( command_queue, num_objs, objs, num_events, events, event )
595
598
  error_check(error)
596
599
  return Event::new(event.read_pointer, false)
597
600
  end
601
+ class << self
602
+ alias :enqueue_release_gl_objects :enqueue_release_GL_objects
603
+ end
598
604
 
599
605
  # Enqueues a command to fill a Buffer with the given pattern
600
606
  #
@@ -954,6 +960,9 @@ module OpenCL
954
960
  error_check(error)
955
961
  return Event::new(event.read_pointer, false)
956
962
  end
963
+ class << self
964
+ alias :enqueue_nd_range_kernel :enqueue_NDrange_kernel
965
+ end
957
966
 
958
967
  # Enqueues a barrier on a list of envents
959
968
  #
@@ -1077,25 +1086,6 @@ module OpenCL
1077
1086
  # Returns the :cl_command_queue_properties used to create the CommandQueue
1078
1087
  eval get_info("CommandQueue", :cl_command_queue_properties, "PROPERTIES")
1079
1088
 
1080
- # Enqueues a native kernel using the CommandQueue
1081
- # not yet fully implemented
1082
- #
1083
- # ==== Attributes
1084
- #
1085
- # * +options+ - a hash containing named options
1086
- # * +func+ - a Proc object to execute
1087
- #
1088
- # ==== Options
1089
- #
1090
- # * +:event_wait_list+ - if provided, a list of Event to wait upon before executing the command
1091
- #
1092
- # ==== Returns
1093
- #
1094
- # the Event associated with the command
1095
- def enqueue_native_kernel( options = {}, &func )
1096
- return OpenCL.enqueue_native_kernel( self, options, &func )
1097
- end
1098
-
1099
1089
  # Enqueues a kernel as a task using the CommandQueue
1100
1090
  #
1101
1091
  # ==== Attributes
@@ -1134,6 +1124,7 @@ module OpenCL
1134
1124
  def enqueue_NDrange_kernel( kernel, global_work_size, options = {} )
1135
1125
  return OpenCL.enqueue_NDrange_kernel( self, kernel, global_work_size, options )
1136
1126
  end
1127
+ alias :enqueue_nd_range_kernel :enqueue_NDrange_kernel
1137
1128
 
1138
1129
  # Enqueues a command to write to a Buffer object from host memory using the CommandQueue
1139
1130
  #
@@ -1497,9 +1488,10 @@ module OpenCL
1497
1488
  # ==== Returns
1498
1489
  #
1499
1490
  # the Event associated with the command
1500
- def enqueue_acquire_GL_object( mem_objects, options = {} )
1501
- return OpenCL.enqueue_acquire_GL_object( self, mem_objects, options )
1491
+ def enqueue_acquire_GL_objects( mem_objects, options = {} )
1492
+ return OpenCL.enqueue_acquire_GL_objects( self, mem_objects, options )
1502
1493
  end
1494
+ alias :enqueue_acquire_gl_objects :enqueue_acquire_GL_objects
1503
1495
 
1504
1496
  # Release OpenCL Mem objects that have been created from OpenGL objects and previously acquired using the CommandQueue
1505
1497
  #
@@ -1515,9 +1507,10 @@ module OpenCL
1515
1507
  # ==== Returns
1516
1508
  #
1517
1509
  # the Event associated with the command
1518
- def enqueue_release_GL_object( mem_objects, options = {} )
1519
- return OpenCL.enqueue_release_GL_object( self, mem_objects, options )
1510
+ def enqueue_release_GL_objects( mem_objects, options = {} )
1511
+ return OpenCL.enqueue_release_GL_objects( self, mem_objects, options )
1520
1512
  end
1513
+ alias :enqueue_release_gl_objects :enqueue_release_GL_objects
1521
1514
 
1522
1515
  # Enqueues a command to map a Buffer into host memory using the CommandQueue
1523
1516
  #
@@ -1697,8 +1690,8 @@ module OpenCL
1697
1690
  # ==== Returns
1698
1691
  #
1699
1692
  # the Event associated with the command
1700
- def enqueue_svm_fill(command_queue, svm_ptr, pattern, size, options = {})
1701
- return OpenCL.enqueue_svm_fill(self, svm_ptr, pattern, size, options)
1693
+ def enqueue_svm_mem_fill(command_queue, svm_ptr, pattern, size, options = {})
1694
+ return OpenCL.enqueue_svm_mem_fill(self, svm_ptr, pattern, size, options)
1702
1695
  end
1703
1696
 
1704
1697
  # Enqueues a command to map an Image into host memory using the CommandQueue
@@ -197,7 +197,7 @@ module OpenCL
197
197
  end
198
198
 
199
199
  # Maps the cl_mem OpenCL objects of type CL_MEM_OBJECT_IMAGE*
200
- class Image
200
+ class Image #< Mem
201
201
 
202
202
  ##
203
203
  # :method: element_size
@@ -21,7 +21,7 @@ module OpenCL
21
21
  end
22
22
 
23
23
  # Maps the cl_mem OpenCL objects of type CL_MEM_OBJECT_PIPE
24
- class Pipe
24
+ class Pipe #< Mem
25
25
  include InnerInterface
26
26
 
27
27
  class << self
@@ -4,19 +4,25 @@ module OpenCL
4
4
  class SVMPointer < FFI::Pointer
5
5
 
6
6
  # create a new SVMPointer from its address and the context it pertains to
7
- def initialize( address, context )
7
+ def initialize( address, context, size, base = nil )
8
8
  super( address )
9
9
  @context = context
10
+ if base then
11
+ @base = base
12
+ else
13
+ @base = address
14
+ end
15
+ @size = size
10
16
  end
11
17
 
12
18
  # creates a new SVMPointer relative to an existing one from an offset
13
19
  def +( offset )
14
- return SVMPointer::new( self.address + offset, @context )
20
+ return SVMPointer::new( self.address + offset, @context, @size, @base )
15
21
  end
16
22
 
17
- # frees the SVMPointer (must not be called on an SVMPointer obtained from an offset)
23
+ # frees the parent memory region associated to this SVMPointer
18
24
  def free
19
- return OpenCL::svm_free( @context, self )
25
+ return OpenCL::svm_free( @context, @base )
20
26
  end
21
27
 
22
28
  end
@@ -40,7 +46,7 @@ module OpenCL
40
46
  alignment = options[:alignment] if options[:alignment]
41
47
  ptr = clSVMAlloc( context, flags, size, alignment )
42
48
  error_check(MEM_OBJECT_ALLOCATION_FAILURE) if ptr.null?
43
- return SVMPointer::new( ptr, context )
49
+ return SVMPointer::new( ptr, context, size )
44
50
  end
45
51
 
46
52
  # Frees an SVMPointer
@@ -140,12 +146,12 @@ module OpenCL
140
146
  # ==== Returns
141
147
  #
142
148
  # the Event associated with the command
143
- def self.enqueue_svm_fill(command_queue, svm_ptr, pattern, size, options = {})
149
+ def self.enqueue_svm_mem_fill(command_queue, svm_ptr, pattern, size, options = {})
144
150
  num_events, events = get_event_wait_list( options )
145
151
  pattern_size = pattern.size
146
152
  pattern_size = options[:pattern_size] if options[:pattern_size]
147
153
  event = FFI::MemoryPointer::new( Event )
148
- error = clEnqueueSVMFill(command_queue, svm_ptr, pattern, pattern_size, size, num_events, events, event)
154
+ error = clEnqueueSVMMemFill(command_queue, svm_ptr, pattern, pattern_size, size, num_events, events, event)
149
155
  error_check(error)
150
156
  return Event::new(event.read_pointer, false)
151
157
  end
@@ -6,7 +6,15 @@ module OpenCL
6
6
  begin
7
7
  ffi_lib "OpenCL"
8
8
  rescue LoadError => e
9
- ffi_lib "libOpenCL.so.1"
9
+ begin
10
+ ffi_lib "libOpenCL.so.1"
11
+ rescue LoadError => e
12
+ begin
13
+ ffi_lib '/System/Library/Frameworks/OpenCL.framework/OpenCL'
14
+ rescue LoadError => e
15
+ raise "OpenCL implementation not found!"
16
+ end
17
+ end
10
18
  end
11
19
  #:stopdoc:
12
20
  SUCCESS = 0
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'opencl_ruby_ffi'
3
- s.version = "0.995"
3
+ s.version = "0.996"
4
4
  s.author = "Brice Videau"
5
5
  s.email = "brice.videau@imag.fr"
6
6
  s.homepage = "https://github.com/Nanosim-LIG/opencl-ruby"
metadata CHANGED
@@ -1,62 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opencl_ruby_ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.995'
5
- prerelease:
4
+ version: '0.996'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Brice Videau
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-10-10 00:00:00.000000000 Z
11
+ date: 2014-12-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: narray
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: 0.6.0.8
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: 0.6.0.8
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: ffi
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: 1.9.3
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: 1.9.3
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: narray_ffi
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0.2'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0.2'
62
55
  description: Ruby OpenCL FFI bindings. OpenCL 2.0 ready
@@ -65,7 +58,6 @@ executables: []
65
58
  extensions: []
66
59
  extra_rdoc_files: []
67
60
  files:
68
- - opencl_ruby_ffi.gemspec
69
61
  - LICENSE
70
62
  - lib/opencl_ruby_ffi.rb
71
63
  - lib/opencl_ruby_ffi/Arithmetic_gen.rb
@@ -77,36 +69,36 @@ files:
77
69
  - lib/opencl_ruby_ffi/Image.rb
78
70
  - lib/opencl_ruby_ffi/Kernel.rb
79
71
  - lib/opencl_ruby_ffi/Mem.rb
80
- - lib/opencl_ruby_ffi/opencl_ruby_ffi_base_gen.rb
81
- - lib/opencl_ruby_ffi/opencl_ruby_ffi_base.rb
72
+ - lib/opencl_ruby_ffi/Pipe.rb
82
73
  - lib/opencl_ruby_ffi/Platform.rb
83
74
  - lib/opencl_ruby_ffi/Program.rb
84
- - lib/opencl_ruby_ffi/Sampler.rb
85
- - lib/opencl_ruby_ffi/Pipe.rb
86
75
  - lib/opencl_ruby_ffi/SVM.rb
76
+ - lib/opencl_ruby_ffi/Sampler.rb
77
+ - lib/opencl_ruby_ffi/opencl_ruby_ffi_base.rb
78
+ - lib/opencl_ruby_ffi/opencl_ruby_ffi_base_gen.rb
79
+ - opencl_ruby_ffi.gemspec
87
80
  homepage: https://github.com/Nanosim-LIG/opencl-ruby
88
81
  licenses:
89
82
  - BSD
83
+ metadata: {}
90
84
  post_install_message:
91
85
  rdoc_options: []
92
86
  require_paths:
93
87
  - lib
94
88
  required_ruby_version: !ruby/object:Gem::Requirement
95
- none: false
96
89
  requirements:
97
- - - ! '>='
90
+ - - ">="
98
91
  - !ruby/object:Gem::Version
99
92
  version: 1.8.7
100
93
  required_rubygems_version: !ruby/object:Gem::Requirement
101
- none: false
102
94
  requirements:
103
- - - ! '>='
95
+ - - ">="
104
96
  - !ruby/object:Gem::Version
105
97
  version: '0'
106
98
  requirements: []
107
99
  rubyforge_project:
108
- rubygems_version: 1.8.23
100
+ rubygems_version: 2.2.2
109
101
  signing_key:
110
- specification_version: 3
102
+ specification_version: 4
111
103
  summary: Ruby OpenCL FFI bindings
112
104
  test_files: []