opencl_ruby_ffi 0.995 → 0.996

Sign up to get free protection for your applications and to get access to all the features.
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: []