BOAST 1.3.4 → 1.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/BOAST.gemspec +1 -1
- data/lib/BOAST/Language/Algorithm.rb +3 -3
- data/lib/BOAST/Language/Architectures.rb +58 -0
- data/lib/BOAST/Language/CPUID_by_name.rb +1871 -1871
- data/lib/BOAST/Language/Config.rb +10 -0
- data/lib/BOAST/Language/Intrinsics.rb +87 -44
- data/lib/BOAST/Language/Operators.rb +92 -10
- data/lib/BOAST/Language/Variable.rb +11 -4
- data/lib/BOAST/Optimization/Optimization.rb +58 -7
- data/lib/BOAST/Runtime/CRuntime.rb +1 -1
- data/lib/BOAST/Runtime/CompiledRuntime.rb +1 -0
- data/lib/BOAST/Runtime/EnergyProbe.rb +18 -8
- data/lib/BOAST/Runtime/FFIRuntime.rb +12 -6
- data/lib/BOAST/Runtime/FORTRANRuntime.rb +7 -2
- data/lib/BOAST/Runtime/MPPARuntime.rb +1 -1
- 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: cbd2452cbfdaa4e05ac12dbc55c950afe3471a5f
|
4
|
+
data.tar.gz: 4fb4356baea8f0c2243b0e3d907e1e81e7216541
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 906f635eb70b0b5f5d031a94596bbacbfdb44e43246f1e064ae4dd82d15eab132455216bfdf064d666edfbb8f3148ebec8e4094cce2943d29a2f6d418536115e
|
7
|
+
data.tar.gz: 83815a3e0d3eabb51a054423bf61ef718ddfbc5aa337dad6defed895dbca0b31709ddef0b2e44547527a4c418aca0fd70a2a0b6b4ba7e65883485b6eb088b54f
|
data/BOAST.gemspec
CHANGED
@@ -98,13 +98,13 @@ module BOAST
|
|
98
98
|
vars.each { |key, value|
|
99
99
|
var = nil
|
100
100
|
begin
|
101
|
-
var = BOAST::
|
101
|
+
var = BOAST::send("get_#{key}")
|
102
102
|
rescue
|
103
103
|
BOAST::pop_env(*keys)
|
104
104
|
raise "Unknown module variable #{key}!"
|
105
105
|
end
|
106
106
|
@@env[key].push(var)
|
107
|
-
BOAST::
|
107
|
+
BOAST::send("set_#{key}", value)
|
108
108
|
keys.push(key)
|
109
109
|
}
|
110
110
|
if block then
|
@@ -123,7 +123,7 @@ module BOAST
|
|
123
123
|
raise "Unknown module variable #{key}!" unless @@env.has_key?(key)
|
124
124
|
ret = @@env[key].pop
|
125
125
|
raise "No stored value for #{key}!" if ret.nil?
|
126
|
-
BOAST::
|
126
|
+
BOAST::send("set_#{key}", ret)
|
127
127
|
}
|
128
128
|
end
|
129
129
|
|
@@ -91,6 +91,32 @@ X86architectures ={"pentium2"=>["MMX"],
|
|
91
91
|
"RDSEED",
|
92
92
|
"ADCX",
|
93
93
|
"PREFETCHW"],
|
94
|
+
"skylake"=>
|
95
|
+
["MOVBE",
|
96
|
+
"MMX",
|
97
|
+
"SSE",
|
98
|
+
"SSE2",
|
99
|
+
"SSE3",
|
100
|
+
"SSSE3",
|
101
|
+
"SSE4.1",
|
102
|
+
"SSE4.2",
|
103
|
+
"POPCNT",
|
104
|
+
"AVX",
|
105
|
+
"AVX2",
|
106
|
+
"AES",
|
107
|
+
"PCLMUL",
|
108
|
+
"FSGSBASE",
|
109
|
+
"RDRND",
|
110
|
+
"FMA",
|
111
|
+
"BMI",
|
112
|
+
"BMI2",
|
113
|
+
"F16C",
|
114
|
+
"RDSEED",
|
115
|
+
"ADCX",
|
116
|
+
"PREFETCHW",
|
117
|
+
"CLFLUSHOPT",
|
118
|
+
"XSAVEC",
|
119
|
+
"XSAVES"],
|
94
120
|
"knl"=>
|
95
121
|
["MOVBE",
|
96
122
|
"MMX",
|
@@ -118,6 +144,38 @@ X86architectures ={"pentium2"=>["MMX"],
|
|
118
144
|
"AVX512PF",
|
119
145
|
"AVX512ER",
|
120
146
|
"AVX512CD"],
|
147
|
+
"skylake-avx512"=>
|
148
|
+
["MOVBE",
|
149
|
+
"MMX",
|
150
|
+
"SSE",
|
151
|
+
"SSE2",
|
152
|
+
"SSE3",
|
153
|
+
"SSSE3",
|
154
|
+
"SSE4.1",
|
155
|
+
"SSE4.2",
|
156
|
+
"POPCNT",
|
157
|
+
"PKU",
|
158
|
+
"AVX",
|
159
|
+
"AVX2",
|
160
|
+
"AES",
|
161
|
+
"PCLMUL",
|
162
|
+
"FSGSBASE",
|
163
|
+
"RDRND",
|
164
|
+
"FMA",
|
165
|
+
"BMI",
|
166
|
+
"BMI2",
|
167
|
+
"F16C",
|
168
|
+
"RDSEED",
|
169
|
+
"ADCX",
|
170
|
+
"PREFETCHW",
|
171
|
+
"CLFLUSHOPT",
|
172
|
+
"XSAVEC",
|
173
|
+
"XSAVES",
|
174
|
+
"AVX512F",
|
175
|
+
"AVX512VL",
|
176
|
+
"AVX512BW",
|
177
|
+
"AVX512DQ",
|
178
|
+
"AVX512CD"],
|
121
179
|
"bonnell"=>["MOVBE", "MMX", "SSE", "SSE2", "SSE3", "SSSE3"],
|
122
180
|
"silvermont"=>
|
123
181
|
["MOVBE",
|