hwloc 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/hwloc.gemspec +2 -1
- data/lib/hwloc/Bind.rb +60 -61
- data/lib/hwloc/Edition.rb +9 -9
- data/lib/hwloc/Export.rb +8 -8
- data/lib/hwloc/Hwloc.rb +1 -0
- data/lib/hwloc/Obj.rb +9 -9
- data/lib/hwloc/Topology.rb +13 -13
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ba61e1a01e14b5b51f99082550eff817cfdf3cf
|
4
|
+
data.tar.gz: 27e11114673db41f5f885cec565e8b5e75721b75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7aef73e3c365c766f4bb2218eb240ae8ab61d19cae1680a68b47763545bb9303ad59352264ab6c4ccc27db153427db04d657b096ab120f0a3473fa49f23eaf23
|
7
|
+
data.tar.gz: a9afb5b77ee7af7f150a38aa2d281ec8b0b8c1958e4624837805089b895e22385038992994e3fb0a300bcdd8ed65ba559bd8c02804d87aef5bd8466132653bb3
|
data/hwloc.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'hwloc'
|
3
|
-
s.version = "0.
|
3
|
+
s.version = "0.3.0"
|
4
4
|
s.author = "Brice Videau"
|
5
5
|
s.email = "brice.videau@imag.fr"
|
6
6
|
s.homepage = "https://github.com/Nanosim-LIG/hwloc-ruby"
|
@@ -11,4 +11,5 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.license = 'BSD-2-Clause'
|
12
12
|
s.required_ruby_version = '>= 1.9.3'
|
13
13
|
s.add_dependency 'ffi', '~> 1.9', '>=1.9.3'
|
14
|
+
s.add_dependency 'ffi-bitmask', '~> 0.1.0', '>=0.1.0'
|
14
15
|
end
|
data/lib/hwloc/Bind.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
module Hwloc
|
2
|
-
CpubindFlags =
|
3
|
-
:CPUBIND_PROCESS,
|
4
|
-
:CPUBIND_THREAD,
|
5
|
-
:CPUBIND_STRICT,
|
6
|
-
:CPUBIND_NOMEMBIND
|
2
|
+
CpubindFlags = bitmask( :cpubind_flags, [
|
3
|
+
:CPUBIND_PROCESS,
|
4
|
+
:CPUBIND_THREAD,
|
5
|
+
:CPUBIND_STRICT,
|
6
|
+
:CPUBIND_NOMEMBIND
|
7
7
|
] )
|
8
8
|
|
9
9
|
if API_VERSION < API_VERSION_2_0 then
|
@@ -27,23 +27,23 @@ module Hwloc
|
|
27
27
|
] )
|
28
28
|
end
|
29
29
|
|
30
|
-
MembindFlags =
|
31
|
-
:MEMBIND_PROCESS,
|
32
|
-
:MEMBIND_THREAD,
|
33
|
-
:MEMBIND_STRICT,
|
34
|
-
:MEMBIND_MIGRATE,
|
35
|
-
:MEMBIND_NOCPUBIND,
|
36
|
-
:MEMBIND_BYNODESET
|
30
|
+
MembindFlags = bitmask( :membind_flags, [
|
31
|
+
:MEMBIND_PROCESS,
|
32
|
+
:MEMBIND_THREAD,
|
33
|
+
:MEMBIND_STRICT,
|
34
|
+
:MEMBIND_MIGRATE,
|
35
|
+
:MEMBIND_NOCPUBIND,
|
36
|
+
:MEMBIND_BYNODESET
|
37
37
|
] )
|
38
38
|
|
39
|
-
attach_function :hwloc_set_cpubind, [:topology, :cpuset, :
|
40
|
-
attach_function :hwloc_get_cpubind, [:topology, :cpuset, :
|
41
|
-
attach_function :hwloc_set_proc_cpubind, [:topology, :hwloc_pid_t, :cpuset, :
|
42
|
-
attach_function :hwloc_get_proc_cpubind, [:topology, :hwloc_pid_t, :cpuset, :
|
43
|
-
attach_function :hwloc_set_thread_cpubind, [:topology, :hwloc_thread_t, :cpuset, :
|
44
|
-
attach_function :hwloc_get_thread_cpubind, [:topology, :hwloc_thread_t, :cpuset, :
|
45
|
-
attach_function :hwloc_get_last_cpu_location, [:topology, :cpuset, :
|
46
|
-
attach_function :hwloc_get_proc_last_cpu_location, [:topology, :hwloc_pid_t, :cpuset, :
|
39
|
+
attach_function :hwloc_set_cpubind, [:topology, :cpuset, :cpubind_flags], :int
|
40
|
+
attach_function :hwloc_get_cpubind, [:topology, :cpuset, :cpubind_flags], :int
|
41
|
+
attach_function :hwloc_set_proc_cpubind, [:topology, :hwloc_pid_t, :cpuset, :cpubind_flags], :int
|
42
|
+
attach_function :hwloc_get_proc_cpubind, [:topology, :hwloc_pid_t, :cpuset, :cpubind_flags], :int
|
43
|
+
attach_function :hwloc_set_thread_cpubind, [:topology, :hwloc_thread_t, :cpuset, :cpubind_flags], :int
|
44
|
+
attach_function :hwloc_get_thread_cpubind, [:topology, :hwloc_thread_t, :cpuset, :cpubind_flags], :int
|
45
|
+
attach_function :hwloc_get_last_cpu_location, [:topology, :cpuset, :cpubind_flags], :int
|
46
|
+
attach_function :hwloc_get_proc_last_cpu_location, [:topology, :hwloc_pid_t, :cpuset, :cpubind_flags], :int
|
47
47
|
|
48
48
|
class BindError < Error
|
49
49
|
end
|
@@ -53,7 +53,7 @@ module Hwloc
|
|
53
53
|
|
54
54
|
class Topology
|
55
55
|
|
56
|
-
def set_cpubind(cpuset, flags
|
56
|
+
def set_cpubind(cpuset, *flags)
|
57
57
|
if block_given? then
|
58
58
|
oldcpuset = get_cpubind(flags)
|
59
59
|
set_cpubind(cpuset, flags)
|
@@ -66,47 +66,47 @@ module Hwloc
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
def get_cpubind(flags
|
69
|
+
def get_cpubind(*flags)
|
70
70
|
cpuset = Cpuset::new
|
71
71
|
err = Hwloc.hwloc_get_cpubind(@ptr, cpuset, flags)
|
72
72
|
raise CpubindError if err == -1
|
73
73
|
return cpuset
|
74
74
|
end
|
75
75
|
|
76
|
-
def set_proc_cpubind(pid, cpuset, flags
|
76
|
+
def set_proc_cpubind(pid, cpuset, *flags)
|
77
77
|
err = Hwloc.hwloc_set_proc_cpubind(@ptr, pid, cpuset, flags)
|
78
78
|
raise CpubindError if err == -1
|
79
79
|
return self
|
80
80
|
end
|
81
81
|
|
82
|
-
def get_proc_cpubind(pid, flags)
|
82
|
+
def get_proc_cpubind(pid, *flags)
|
83
83
|
cpuset = Cpuset::new
|
84
84
|
err = Hwloc.hwloc_get_proc_cpubind(@ptr, pid, cpuset, flags)
|
85
85
|
raise CpubindError if err == -1
|
86
86
|
return cpuset
|
87
87
|
end
|
88
88
|
|
89
|
-
def set_thread_cpubind(thread, cpuset, flags
|
89
|
+
def set_thread_cpubind(thread, cpuset, *flags)
|
90
90
|
err = Hwloc.hwloc_set_thread_cpubind(@ptr, thread, cpuset, flags)
|
91
91
|
raise CpubindError if err == -1
|
92
92
|
return self
|
93
93
|
end
|
94
94
|
|
95
|
-
def get_thread_cpubind(thread, flags
|
95
|
+
def get_thread_cpubind(thread, *flags)
|
96
96
|
cpuset = Cpuset::new
|
97
97
|
err = Hwloc.hwloc_get_thread_cpubind(@ptr, thread, cpuset, flags)
|
98
98
|
raise CpubindError if err == -1
|
99
99
|
return cpuset
|
100
100
|
end
|
101
101
|
|
102
|
-
def get_last_cpu_location(flags
|
102
|
+
def get_last_cpu_location(*flags)
|
103
103
|
cpuset = Cpuset::new
|
104
104
|
err = Hwloc.hwloc_get_last_cpu_location(@ptr, cpuset, flags)
|
105
105
|
raise CpubindError if err == -1
|
106
106
|
return cpuset
|
107
107
|
end
|
108
108
|
|
109
|
-
def get_proc_last_cpu_location(pid, flags
|
109
|
+
def get_proc_last_cpu_location(pid, *flags)
|
110
110
|
cpuset = Cpuset::new
|
111
111
|
err = Hwloc.hwloc_get_proc_last_cpu_location(@ptr, pid, cpuset, flags)
|
112
112
|
raise CpubindError if err == -1
|
@@ -119,42 +119,41 @@ module Hwloc
|
|
119
119
|
end
|
120
120
|
|
121
121
|
if API_VERSION < API_VERSION_2_0 then
|
122
|
-
attach_function :hwloc_set_membind_nodeset, [:topology, :nodeset, :membind_policy, :
|
123
|
-
attach_function :hwloc_get_membind_nodeset, [:topology, :nodeset, :pointer, :
|
124
|
-
attach_function :hwloc_set_proc_membind_nodeset, [:topology, :hwloc_pid_t, :nodeset, :membind_policy, :
|
125
|
-
attach_function :hwloc_get_proc_membind_nodeset, [:topology, :hwloc_pid_t, :nodeset, :pointer, :
|
126
|
-
attach_function :hwloc_set_area_membind_nodeset, [:topology, :pointer, :size_t, :nodeset, :membind_policy, :
|
127
|
-
attach_function :hwloc_get_area_membind_nodeset, [:topology, :pointer, :size_t, :nodeset, :pointer, :
|
128
|
-
attach_function :hwloc_alloc_membind_nodeset, [:topology, :size_t, :nodeset, :membind_policy, :
|
122
|
+
attach_function :hwloc_set_membind_nodeset, [:topology, :nodeset, :membind_policy, :membind_flags], :int
|
123
|
+
attach_function :hwloc_get_membind_nodeset, [:topology, :nodeset, :pointer, :membind_flags], :int
|
124
|
+
attach_function :hwloc_set_proc_membind_nodeset, [:topology, :hwloc_pid_t, :nodeset, :membind_policy, :membind_flags], :int
|
125
|
+
attach_function :hwloc_get_proc_membind_nodeset, [:topology, :hwloc_pid_t, :nodeset, :pointer, :membind_flags], :int
|
126
|
+
attach_function :hwloc_set_area_membind_nodeset, [:topology, :pointer, :size_t, :nodeset, :membind_policy, :membind_flags], :int
|
127
|
+
attach_function :hwloc_get_area_membind_nodeset, [:topology, :pointer, :size_t, :nodeset, :pointer, :membind_flags], :int
|
128
|
+
attach_function :hwloc_alloc_membind_nodeset, [:topology, :size_t, :nodeset, :membind_policy, :membind_flags], :pointer
|
129
129
|
end
|
130
|
-
attach_function :hwloc_set_membind, [:topology, :bitmap, :membind_policy, :
|
131
|
-
attach_function :hwloc_get_membind, [:topology, :bitmap, :pointer, :
|
132
|
-
attach_function :hwloc_set_proc_membind, [:topology, :hwloc_pid_t, :bitmap, :membind_policy, :
|
133
|
-
attach_function :hwloc_get_proc_membind, [:topology, :hwloc_pid_t, :bitmap, :pointer, :
|
134
|
-
|
135
|
-
attach_function :
|
136
|
-
attach_function :hwloc_get_area_membind, [:topology, :pointer, :size_t, :bitmap, :pointer, :int], :int
|
130
|
+
attach_function :hwloc_set_membind, [:topology, :bitmap, :membind_policy, :membind_flags], :int
|
131
|
+
attach_function :hwloc_get_membind, [:topology, :bitmap, :pointer, :membind_flags], :int
|
132
|
+
attach_function :hwloc_set_proc_membind, [:topology, :hwloc_pid_t, :bitmap, :membind_policy, :membind_flags], :int
|
133
|
+
attach_function :hwloc_get_proc_membind, [:topology, :hwloc_pid_t, :bitmap, :pointer, :membind_flags], :int
|
134
|
+
attach_function :hwloc_set_area_membind, [:topology, :pointer, :size_t, :bitmap, :membind_policy, :membind_flags], :int
|
135
|
+
attach_function :hwloc_get_area_membind, [:topology, :pointer, :size_t, :bitmap, :pointer, :membind_flags], :int
|
137
136
|
|
138
137
|
begin
|
139
|
-
attach_function :hwloc_get_area_memlocation, [:topology, :pointer, :size_t, :bitmap, :
|
138
|
+
attach_function :hwloc_get_area_memlocation, [:topology, :pointer, :size_t, :bitmap, :membind_flags], :int
|
140
139
|
rescue FFI::NotFoundError
|
141
140
|
warn "Missing hwloc_get_area_memlocation support!"
|
142
141
|
end
|
143
142
|
|
144
143
|
attach_function :hwloc_alloc, [:topology, :size_t], :pointer
|
145
|
-
attach_function :hwloc_alloc_membind, [:topology, :size_t, :bitmap, :membind_policy, :
|
144
|
+
attach_function :hwloc_alloc_membind, [:topology, :size_t, :bitmap, :membind_policy, :membind_flags], :pointer
|
146
145
|
attach_function :hwloc_free, [:topology, :pointer, :size_t], :int
|
147
146
|
|
148
147
|
class Topology
|
149
148
|
|
150
149
|
if API_VERSION < API_VERSION_2_0 then
|
151
|
-
def set_membind_nodeset(nodeset, policy, flags
|
150
|
+
def set_membind_nodeset(nodeset, policy, *flags)
|
152
151
|
err = Hwloc.hwloc_set_membind_nodeset(@ptr, nodeset, policy, flags)
|
153
152
|
raise MembindError if err == -1
|
154
153
|
return self
|
155
154
|
end
|
156
155
|
|
157
|
-
def get_membind_nodeset(flags
|
156
|
+
def get_membind_nodeset(*flags)
|
158
157
|
nodeset = Nodeset::new
|
159
158
|
policy_p = FFI::MemoryPointer::new(MembindPolicy.native_type)
|
160
159
|
err = Hwloc.hwloc_get_membind_nodeset(@ptr, nodeset, policy_p, flags)
|
@@ -163,13 +162,13 @@ module Hwloc
|
|
163
162
|
return [nodeset, MembindPolicy[policy]]
|
164
163
|
end
|
165
164
|
|
166
|
-
def set_proc_membind_nodeset(pid, nodeset, policy, flags
|
165
|
+
def set_proc_membind_nodeset(pid, nodeset, policy, *flags)
|
167
166
|
err = Hwloc.hwloc_set_proc_membind_nodeset(@ptr, pid, nodeset, policy, flags)
|
168
167
|
raise MembindError if err == -1
|
169
168
|
return self
|
170
169
|
end
|
171
170
|
|
172
|
-
def get_proc_membind_nodeset(pid, flags
|
171
|
+
def get_proc_membind_nodeset(pid, *flags)
|
173
172
|
nodeset = Nodeset::new
|
174
173
|
policy_p = FFI::MemoryPointer::new(MembindPolicy.native_type)
|
175
174
|
err = Hwloc.hwloc_get_proc_membind_nodeset(@ptr, pid, nodeset, policy_p, flags)
|
@@ -178,13 +177,13 @@ module Hwloc
|
|
178
177
|
return [nodeset, policy]
|
179
178
|
end
|
180
179
|
|
181
|
-
def set_area_membind_nodeset(pointer, nodeset, policy, flags
|
180
|
+
def set_area_membind_nodeset(pointer, nodeset, policy, *flags)
|
182
181
|
err = Hwloc.hwloc_set_area_membind_nodeset(@ptr, pointer, pointer.size, nodeset, policy, flags)
|
183
182
|
raise MembindError if err == -1
|
184
183
|
return self
|
185
184
|
end
|
186
185
|
|
187
|
-
def get_area_membind_nodeset(pointer, flags
|
186
|
+
def get_area_membind_nodeset(pointer, *flags)
|
188
187
|
nodeset = Nodeset::new
|
189
188
|
policy_p = FFI::MemoryPointer::new(MembindPolicy.native_type)
|
190
189
|
err = Hwloc.hwloc_get_area_membind_nodeset(@ptr, pointer, pointer.size, nodeset, policy_p, flags)
|
@@ -193,14 +192,14 @@ module Hwloc
|
|
193
192
|
return [nodeset, policy]
|
194
193
|
end
|
195
194
|
|
196
|
-
def alloc_membind_nodeset(size, nodeset, policy, flags
|
195
|
+
def alloc_membind_nodeset(size, nodeset, policy, *flags)
|
197
196
|
ptr = Hwloc.hwloc_alloc_membind_nodeset(@ptr, size, nodeset, policy, flags)
|
198
197
|
raise MembindError if ptr.null?
|
199
198
|
ptr = ptr.slice(0, size)
|
200
199
|
return FFI::AutoPointer::new(ptr, self.method(:free))
|
201
200
|
end
|
202
201
|
|
203
|
-
def alloc_membind_policy_nodeset(size, nodeset, policy, flags
|
202
|
+
def alloc_membind_policy_nodeset(size, nodeset, policy, *flags)
|
204
203
|
begin
|
205
204
|
return alloc_membind_nodeset(size, nodeset, policy, flags)
|
206
205
|
rescue MembindError
|
@@ -213,7 +212,7 @@ module Hwloc
|
|
213
212
|
|
214
213
|
end
|
215
214
|
|
216
|
-
def set_membind(set, policy, flags
|
215
|
+
def set_membind(set, policy, *flags)
|
217
216
|
if block_given? then
|
218
217
|
oldset, oldpolicy = get_membind(flags)
|
219
218
|
set_membind(set, policy, flags)
|
@@ -226,7 +225,7 @@ module Hwloc
|
|
226
225
|
end
|
227
226
|
end
|
228
227
|
|
229
|
-
def get_membind(flags
|
228
|
+
def get_membind(*flags)
|
230
229
|
set = Bitmap::new
|
231
230
|
policy_p = FFI::MemoryPointer::new(MembindPolicy.native_type)
|
232
231
|
err = Hwloc.hwloc_get_membind(@ptr, set, policy_p, flags)
|
@@ -235,13 +234,13 @@ module Hwloc
|
|
235
234
|
return [set, MembindPolicy[policy]]
|
236
235
|
end
|
237
236
|
|
238
|
-
def set_proc_membind(pid, set, policy, flags
|
237
|
+
def set_proc_membind(pid, set, policy, *flags)
|
239
238
|
err = Hwloc.hwloc_set_proc_membind(@ptr, pid, set, policy, flags)
|
240
239
|
raise MembindError if err == -1
|
241
240
|
return self
|
242
241
|
end
|
243
242
|
|
244
|
-
def get_proc_membind(pid, flags
|
243
|
+
def get_proc_membind(pid, *flags)
|
245
244
|
set = Bitmap::new
|
246
245
|
policy_p = FFI::MemoryPointer::new(MembindPolicy.native_type)
|
247
246
|
err = Hwloc.hwloc_get_proc_membind(@ptr, pid, set, policy_p, flags)
|
@@ -250,13 +249,13 @@ module Hwloc
|
|
250
249
|
return [set, policy]
|
251
250
|
end
|
252
251
|
|
253
|
-
def set_area_membind(pointer, set, policy, flags
|
252
|
+
def set_area_membind(pointer, set, policy, *flags)
|
254
253
|
err = Hwloc.hwloc_set_area_membind(@ptr, pointer, pointer.size, set, policy, flags)
|
255
254
|
raise MembindError if err == -1
|
256
255
|
return self
|
257
256
|
end
|
258
257
|
|
259
|
-
def get_area_membind(pointer, flags
|
258
|
+
def get_area_membind(pointer, *flags)
|
260
259
|
set = Bitmap::new
|
261
260
|
policy_p = FFI::MemoryPointer::new(MembindPolicy.native_type)
|
262
261
|
err = Hwloc.hwloc_get_area_membind(@ptr, pointer, pointer.size, set, policy_p, flags)
|
@@ -266,7 +265,7 @@ module Hwloc
|
|
266
265
|
end
|
267
266
|
|
268
267
|
if Hwloc.respond_to?(:hwloc_get_area_memlocation)
|
269
|
-
def get_area_memlocation(pointer, flags
|
268
|
+
def get_area_memlocation(pointer, *flags)
|
270
269
|
set = Bitmap::new
|
271
270
|
err = Hwloc.hwloc_get_area_memlocation(@ptr, pointer, pointer.size, set, flags)
|
272
271
|
raise MembindError if err == -1
|
@@ -281,14 +280,14 @@ module Hwloc
|
|
281
280
|
return FFI::AutoPointer::new(ptr, self.method(:free))
|
282
281
|
end
|
283
282
|
|
284
|
-
def alloc_membind(size, set, policy, flags
|
283
|
+
def alloc_membind(size, set, policy, *flags)
|
285
284
|
ptr = Hwloc.hwloc_alloc_membind(@ptr, size, set, policy, flags)
|
286
285
|
raise MembindError if ptr.null?
|
287
286
|
ptr = ptr.slice(0, size)
|
288
287
|
return FFI::AutoPointer::new(ptr, self.method(:free))
|
289
288
|
end
|
290
289
|
|
291
|
-
def alloc_membind_policy(size, set, policy, flags
|
290
|
+
def alloc_membind_policy(size, set, policy, *flags)
|
292
291
|
begin
|
293
292
|
return alloc_membind(size, set, policy, flags)
|
294
293
|
rescue MembindError
|
data/lib/hwloc/Edition.rb
CHANGED
@@ -13,20 +13,20 @@ module Hwloc
|
|
13
13
|
end
|
14
14
|
|
15
15
|
if API_VERSION < API_VERSION_2_0 then
|
16
|
-
RestrictFlags =
|
17
|
-
:RESTRICT_FLAG_ADAPT_DISTANCES,
|
18
|
-
:RESTRICT_FLAG_ADAPT_MISC,
|
19
|
-
:RESTRICT_FLAG_ADAPT_IO
|
16
|
+
RestrictFlags = bitmask( FFI::find_type(:ulong), :restrict_flags, [
|
17
|
+
:RESTRICT_FLAG_ADAPT_DISTANCES,
|
18
|
+
:RESTRICT_FLAG_ADAPT_MISC,
|
19
|
+
:RESTRICT_FLAG_ADAPT_IO
|
20
20
|
] )
|
21
21
|
else
|
22
|
-
RestrictFlags =
|
23
|
-
:RESTRICT_FLAG_REMOVE_CPULESS,
|
24
|
-
:RESTRICT_FLAG_ADAPT_MISC,
|
25
|
-
:RESTRICT_FLAG_ADAPT_IO
|
22
|
+
RestrictFlags = bitmask( FFI::find_type(:ulong), :restrict_flags, [
|
23
|
+
:RESTRICT_FLAG_REMOVE_CPULESS,
|
24
|
+
:RESTRICT_FLAG_ADAPT_MISC,
|
25
|
+
:RESTRICT_FLAG_ADAPT_IO
|
26
26
|
] )
|
27
27
|
end
|
28
28
|
|
29
|
-
attach_function :hwloc_topology_restrict, [:topology, :cpuset, :
|
29
|
+
attach_function :hwloc_topology_restrict, [:topology, :cpuset, :restrict_flags], :int
|
30
30
|
|
31
31
|
class EditionError < TopologyError
|
32
32
|
end
|
data/lib/hwloc/Export.rb
CHANGED
@@ -4,11 +4,11 @@ module Hwloc
|
|
4
4
|
attach_function :hwloc_topology_export_xml, [:topology, :string], :int
|
5
5
|
attach_function :hwloc_topology_export_xmlbuffer, [:topology, :pointer, :pointer], :int
|
6
6
|
else
|
7
|
-
TopologyExportXmlFlags =
|
8
|
-
:TOPOLOGY_EXPORT_XML_FLAG_V1
|
7
|
+
TopologyExportXmlFlags = bitmask( FFI::find_type(:ulong), :topology_export_xml_flags, [
|
8
|
+
:TOPOLOGY_EXPORT_XML_FLAG_V1
|
9
9
|
] )
|
10
|
-
attach_function :hwloc_topology_export_xml, [:topology, :string, :
|
11
|
-
attach_function :hwloc_topology_export_xmlbuffer, [:topology, :pointer, :pointer, :
|
10
|
+
attach_function :hwloc_topology_export_xml, [:topology, :string, :topology_export_xml_flags], :int
|
11
|
+
attach_function :hwloc_topology_export_xmlbuffer, [:topology, :pointer, :pointer, :topology_export_xml_flags], :int
|
12
12
|
end
|
13
13
|
|
14
14
|
attach_function :hwloc_free_xmlbuffer, [:topology, :pointer], :void
|
@@ -22,12 +22,12 @@ module Hwloc
|
|
22
22
|
callback :hwloc_topology_set_userdata_import_callback_callback, [:topology, Obj.ptr, :string, :pointer, :size_t], :void
|
23
23
|
attach_function :hwloc_topology_set_userdata_import_callback, [:topology, :hwloc_topology_set_userdata_import_callback_callback], :void
|
24
24
|
|
25
|
-
TopologyExportSyntheticFlags =
|
26
|
-
:TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES,
|
27
|
-
:TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS
|
25
|
+
TopologyExportSyntheticFlags = bitmask( FFI::find_type(:ulong), :topology_export_synthetic_flags, [
|
26
|
+
:TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES,
|
27
|
+
:TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS
|
28
28
|
] )
|
29
29
|
|
30
|
-
attach_function :hwloc_topology_export_synthetic, [:topology, :pointer, :size_t, :
|
30
|
+
attach_function :hwloc_topology_export_synthetic, [:topology, :pointer, :size_t, :topology_export_synthetic_flags], :int
|
31
31
|
|
32
32
|
class ExportError < TopologyError
|
33
33
|
end
|
data/lib/hwloc/Hwloc.rb
CHANGED
data/lib/hwloc/Obj.rb
CHANGED
@@ -137,22 +137,22 @@ module Hwloc
|
|
137
137
|
end
|
138
138
|
else
|
139
139
|
|
140
|
-
DistancesKind =
|
141
|
-
:DISTANCES_KIND_FROM_OS,
|
142
|
-
:DISTANCES_KIND_FROM_USER,
|
143
|
-
:DISTANCES_KIND_MEANS_LATENCY,
|
144
|
-
:DISTANCES_KIND_MEANS_BANDWIDTH
|
140
|
+
DistancesKind = bitmask(FFI::find_type(:ulong), :distances_kind, [
|
141
|
+
:DISTANCES_KIND_FROM_OS,
|
142
|
+
:DISTANCES_KIND_FROM_USER,
|
143
|
+
:DISTANCES_KIND_MEANS_LATENCY,
|
144
|
+
:DISTANCES_KIND_MEANS_BANDWIDTH
|
145
145
|
])
|
146
146
|
|
147
|
-
DistancesFlag =
|
148
|
-
:DISTANCES_FLAG_GROUP,
|
149
|
-
:DISTANCES_FLAG_GROUP_INACCURATE
|
147
|
+
DistancesFlag = bitmask(FFI::find_type(:ulong), :distances_flag, [
|
148
|
+
:DISTANCES_FLAG_GROUP,
|
149
|
+
:DISTANCES_FLAG_GROUP_INACCURATE
|
150
150
|
])
|
151
151
|
|
152
152
|
class Distances < Struct
|
153
153
|
layout :nbobjs, :uint,
|
154
154
|
:objs, :pointer,
|
155
|
-
:kind, :
|
155
|
+
:kind, :distances_kind,
|
156
156
|
:values, :pointer
|
157
157
|
|
158
158
|
def objs
|
data/lib/hwloc/Topology.rb
CHANGED
@@ -67,24 +67,24 @@ module Hwloc
|
|
67
67
|
attach_function :hwloc_topology_check, [:topology], :void
|
68
68
|
|
69
69
|
if API_VERSION < API_VERSION_2_0 then
|
70
|
-
TopologyFlags =
|
71
|
-
:TOPOLOGY_FLAG_WHOLE_SYSTEM,
|
72
|
-
:TOPOLOGY_FLAG_IS_THISSYSTEM,
|
73
|
-
:TOPOLOGY_FLAG_IO_DEVICES,
|
74
|
-
:TOPOLOGY_FLAG_IO_BRIDGES,
|
75
|
-
:TOPOLOGY_FLAG_WHOLE_IO,
|
76
|
-
:TOPOLOGY_FLAG_ICACHES
|
70
|
+
TopologyFlags = bitmask( FFI::find_type(:ulong), :topology_flags, [
|
71
|
+
:TOPOLOGY_FLAG_WHOLE_SYSTEM,
|
72
|
+
:TOPOLOGY_FLAG_IS_THISSYSTEM,
|
73
|
+
:TOPOLOGY_FLAG_IO_DEVICES,
|
74
|
+
:TOPOLOGY_FLAG_IO_BRIDGES,
|
75
|
+
:TOPOLOGY_FLAG_WHOLE_IO,
|
76
|
+
:TOPOLOGY_FLAG_ICACHES
|
77
77
|
] )
|
78
78
|
else
|
79
|
-
TopologyFlags =
|
80
|
-
:TOPOLOGY_FLAG_WHOLE_SYSTEM,
|
81
|
-
:TOPOLOGY_FLAG_IS_THISSYSTEM,
|
82
|
-
:TOPOLOGY_FLAG_THISSYSTEM_ALLOWED_RESOURCES
|
79
|
+
TopologyFlags = bitmask( FFI::find_type(:ulong), :topology_flags, [
|
80
|
+
:TOPOLOGY_FLAG_WHOLE_SYSTEM,
|
81
|
+
:TOPOLOGY_FLAG_IS_THISSYSTEM,
|
82
|
+
:TOPOLOGY_FLAG_THISSYSTEM_ALLOWED_RESOURCES
|
83
83
|
] )
|
84
84
|
end
|
85
85
|
|
86
|
-
attach_function :hwloc_topology_set_flags, [:topology, :
|
87
|
-
attach_function :hwloc_topology_get_flags, [:topology], :
|
86
|
+
attach_function :hwloc_topology_set_flags, [:topology, :topology_flags], :int
|
87
|
+
attach_function :hwloc_topology_get_flags, [:topology], :topology_flags
|
88
88
|
|
89
89
|
attach_function :hwloc_topology_set_pid, [:topology, :hwloc_pid_t], :int
|
90
90
|
if API_VERSION < API_VERSION_2_0 then
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hwloc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brice Videau
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -30,6 +30,26 @@ dependencies:
|
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.9.3
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: ffi-bitmask
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 0.1.0
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.1.0
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.1.0
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.1.0
|
33
53
|
description: hwloc ruby bindings for versions 1.10 onward
|
34
54
|
email: brice.videau@imag.fr
|
35
55
|
executables: []
|