BOAST 2.0.1 → 2.0.2
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 +4 -4
- data/BOAST.gemspec +1 -1
- data/lib/BOAST/Language/Expression.rb +6 -0
- data/lib/BOAST/Language/FuncCall.rb +2 -2
- data/lib/BOAST/Language/Index.rb +1 -1
- data/lib/BOAST/Language/OpenMP.rb +3 -3
- data/lib/BOAST/Language/Variable.rb +7 -11
- data/lib/BOAST/Runtime/NonRegression.rb +4 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53cb9d1326b52f2ff8125f0e5a3e3c7423f4ccc1
|
4
|
+
data.tar.gz: 4f945e013c4b177f9a86363ad0896e84a7bc5dc4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5f93853b1709fbddce9fa34316a05e8314c9f3716ac3adb6da40dc64b36be806af8ce3542ad565e80aeb0edb5205312a80b19af110ee4156ffd337c15f6f9f9
|
7
|
+
data.tar.gz: ead3cd7fcebd87cfd9e088003b3155e44e807be24f4706f92ce7519a7717f8681877db8da6a90c09c0cd60a48a99bdd4c75c83ba2daa0dbe2fe43915cb363012
|
data/BOAST.gemspec
CHANGED
@@ -48,13 +48,13 @@ module BOAST
|
|
48
48
|
def to_s_fortran
|
49
49
|
s = ""
|
50
50
|
s += @prefix if @prefix
|
51
|
-
s += "#{func_name}(#{@args.join(", ")})"
|
51
|
+
s += "#{func_name}(#{@args.collect(&:to_s).join(", ")})"
|
52
52
|
end
|
53
53
|
|
54
54
|
def to_s_c
|
55
55
|
s = ""
|
56
56
|
s += @prefix if @prefix
|
57
|
-
s += "#{func_name}(#{@args.join(", ")})"
|
57
|
+
s += "#{func_name}(#{@args.collect(&:to_s).join(", ")})"
|
58
58
|
end
|
59
59
|
|
60
60
|
private :to_s_fortran, :to_s_c
|
data/lib/BOAST/Language/Index.rb
CHANGED
@@ -32,7 +32,7 @@ EOF
|
|
32
32
|
EOF
|
33
33
|
when :option_list
|
34
34
|
s += <<EOF
|
35
|
-
return " (\#{[c].flatten.join(", ")})"
|
35
|
+
return " (\#{[c].flatten.collect(&:to_s).join(", ")})"
|
36
36
|
EOF
|
37
37
|
when :simple
|
38
38
|
s += <<EOF
|
@@ -40,13 +40,13 @@ EOF
|
|
40
40
|
EOF
|
41
41
|
when :list
|
42
42
|
s += <<EOF
|
43
|
-
return " #{name}(\#{[c].flatten.join(", ")})"
|
43
|
+
return " #{name}(\#{[c].flatten.collect(&:to_s).join(", ")})"
|
44
44
|
EOF
|
45
45
|
when :multilist
|
46
46
|
s += <<EOF
|
47
47
|
s = ""
|
48
48
|
c.each { |id, list|
|
49
|
-
s += " #{name}(\#{id}: \#{[list].flatten.join(", ")})"
|
49
|
+
s += " #{name}(\#{id}: \#{[list].flatten.collect(&:to_s).join(", ")})"
|
50
50
|
}
|
51
51
|
return s
|
52
52
|
EOF
|
@@ -159,12 +159,12 @@ module BOAST
|
|
159
159
|
return copy(name+"."+m.to_s, :vector_length => m.to_s[1..-1].length) if lang == CL
|
160
160
|
return copy("#{name}(#{existing_set.index(required_set[0])+1})", :vector_length => 1) if lang == FORTRAN
|
161
161
|
return copy("#{name}[#{existing_set.index(required_set[0])}]", :vector_length => 1) if lang == C
|
162
|
-
super
|
162
|
+
return super
|
163
163
|
else
|
164
|
-
super
|
164
|
+
return super
|
165
165
|
end
|
166
166
|
else
|
167
|
-
super
|
167
|
+
return super
|
168
168
|
end
|
169
169
|
end
|
170
170
|
|
@@ -393,9 +393,7 @@ module BOAST
|
|
393
393
|
s += " #{@name}"
|
394
394
|
if dimension? and use_vla? and lang != FORTRAN then
|
395
395
|
s += "["
|
396
|
-
s += @dimension.reverse.collect
|
397
|
-
d.to_s
|
398
|
-
}.join("][")
|
396
|
+
s += @dimension.reverse.collect(&:to_s).join("][")
|
399
397
|
s += "]"
|
400
398
|
end
|
401
399
|
return s
|
@@ -501,9 +499,7 @@ module BOAST
|
|
501
499
|
if __vla_array? then
|
502
500
|
s += " #{@name}["
|
503
501
|
s += "__restrict__ " if __restrict?
|
504
|
-
s += @dimension.reverse.collect
|
505
|
-
d.to_s
|
506
|
-
}.join("][")
|
502
|
+
s += @dimension.reverse.collect(&:to_s).join("][")
|
507
503
|
s += "]"
|
508
504
|
else
|
509
505
|
s += " *" if __pointer?(device)
|
@@ -520,7 +516,7 @@ module BOAST
|
|
520
516
|
end
|
521
517
|
if __dimension?(device) then
|
522
518
|
s +="[("
|
523
|
-
s += @dimension.collect
|
519
|
+
s += @dimension.collect(&:to_s).reverse.join(")*(")
|
524
520
|
s +=")]"
|
525
521
|
end
|
526
522
|
end
|
@@ -579,7 +575,7 @@ module BOAST
|
|
579
575
|
end
|
580
576
|
|
581
577
|
def alloc_c( dims, align = get_address_size)
|
582
|
-
ds = dims.collect
|
578
|
+
ds = dims.collect(&:to_s).reverse.join(")*(")
|
583
579
|
if align > (OS.bits/8) then
|
584
580
|
# check alignment is a power of 2
|
585
581
|
raise "Invalid alignment #{align}!" if align & (align - 1) != 0
|
@@ -25,6 +25,9 @@ module BOAST
|
|
25
25
|
next
|
26
26
|
end
|
27
27
|
if param.dimension then
|
28
|
+
outputs[indx].each { |elem|
|
29
|
+
raise "Error! #{elem}" if elem.nan?
|
30
|
+
}
|
28
31
|
diff = (outputs[indx] - ref_outputs[indx]).abs
|
29
32
|
if epsilon then
|
30
33
|
diff.each { |elem|
|
@@ -33,6 +36,7 @@ module BOAST
|
|
33
36
|
end
|
34
37
|
res[param.name] = diff.max
|
35
38
|
else
|
39
|
+
raise "Error: #{param.name} is NaN!" if outputs[indx].nan?
|
36
40
|
raise "Error: #{param.name} different from ref: #{outputs[indx]} != #{ref_outputs[indx]} !" if epsilon and (outputs[indx] - ref_outputs[indx]).abs > epsilon
|
37
41
|
res[param.name] = (outputs[indx] - ref_outputs[indx]).abs
|
38
42
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: BOAST
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
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-02-
|
11
|
+
date: 2017-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: narray
|