Skip to content

Commit 821b530

Browse files
committed
Tests of eWiseMul
1 parent 0c82ae5 commit 821b530

1 file changed

Lines changed: 68 additions & 4 deletions

File tree

tests/GraphBLAS-sharp.Tests/BackendCommonTests/MatrixEwiseAddTests.fs

Lines changed: 68 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ let correctnessGenericTest
8484
checkResult isEqual op zero leftMatrix rightMatrix actual
8585

8686

87-
let testFixtures case =
87+
let testFixturesEWiseAdd case =
8888
[ let config = defaultConfig
8989
let wgSize = 256
9090

@@ -140,10 +140,10 @@ let tests =
140140
.CastTo<DeviceType>()
141141

142142
deviceType = DeviceType.Gpu)
143-
|> List.collect testFixtures
143+
|> List.collect testFixturesEWiseAdd
144144
|> testList "Backend.Matrix.eWiseAdd tests"
145145

146-
let testFixturesAtLeastOne case =
146+
let testFixturesEWiseAddAtLeastOne case =
147147
[ let config = defaultConfig
148148
let wgSize = 256
149149

@@ -203,5 +203,69 @@ let tests2 =
203203
.CastTo<DeviceType>()
204204

205205
deviceType = DeviceType.Gpu)
206-
|> List.collect testFixturesAtLeastOne
206+
|> List.collect testFixturesEWiseAddAtLeastOne
207207
|> testList "Backend.Matrix.eWiseAddAtLeastOne tests"
208+
209+
210+
let testFixturesEWiseMulAtLeastOne case =
211+
[ let config = defaultConfig
212+
let wgSize = 256
213+
214+
let getCorrectnessTestName datatype =
215+
sprintf "Correctness on %s, %A" datatype case
216+
217+
let context = case.ClContext.ClContext
218+
let q = case.ClContext.Queue
219+
q.Error.Add(fun e -> failwithf "%A" e)
220+
221+
let boolMul =
222+
Matrix.eWiseAddAtLeastOne context boolMulAtLeastOne wgSize
223+
224+
let boolToCOO = Matrix.toCOO context wgSize
225+
226+
case
227+
|> correctnessGenericTest false (&&) boolMul boolToCOO (=) q
228+
|> testPropertyWithConfig config (getCorrectnessTestName "bool")
229+
230+
let intAdd =
231+
Matrix.eWiseAddAtLeastOne context intMulAtLeastOne wgSize
232+
233+
let intToCOO = Matrix.toCOO context wgSize
234+
235+
case
236+
|> correctnessGenericTest 0 (*) intAdd intToCOO (=) q
237+
|> testPropertyWithConfig config (getCorrectnessTestName "int")
238+
239+
let floatAdd =
240+
Matrix.eWiseAddAtLeastOne context floatMulAtLeastOne wgSize
241+
242+
let floatToCOO = Matrix.toCOO context wgSize
243+
244+
case
245+
|> correctnessGenericTest 0.0 (*) floatAdd floatToCOO (fun x y -> abs (x - y) < Accuracy.medium.absolute) q
246+
|> testPropertyWithConfig config (getCorrectnessTestName "float")
247+
248+
let byteAdd =
249+
Matrix.eWiseAddAtLeastOne context byteMulAtLeastOne wgSize
250+
251+
let byteToCOO = Matrix.toCOO context wgSize
252+
253+
case
254+
|> correctnessGenericTest 0uy (*) byteAdd byteToCOO (=) q
255+
|> testPropertyWithConfig config (getCorrectnessTestName "byte") ]
256+
257+
let tests3 =
258+
testCases
259+
|> List.filter
260+
(fun case ->
261+
let mutable e = ErrorCode.Unknown
262+
let device = case.ClContext.ClContext.ClDevice.Device
263+
264+
let deviceType =
265+
Cl
266+
.GetDeviceInfo(device, DeviceInfo.Type, &e)
267+
.CastTo<DeviceType>()
268+
269+
deviceType = DeviceType.Gpu)
270+
|> List.collect testFixturesEWiseMulAtLeastOne
271+
|> testList "Backend.Matrix.eWiseMulAtLeastOne tests"

0 commit comments

Comments
 (0)