Skip to content

Commit 58e8a38

Browse files
committed
Reduced code duplication in tests, new helpers modules
1 parent 0352783 commit 58e8a38

12 files changed

Lines changed: 106 additions & 146 deletions

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ open Expecto.Logging.Message
66
open GraphBLAS.FSharp.Backend.Common
77
open Brahma.FSharp
88
open GraphBLAS.FSharp.Tests.Utils
9+
open GraphBLAS.FSharp.Tests.Context
910

1011
let logger = Log.create "BitonicSort.Tests"
1112

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ open Expecto
44
open Expecto.Logging
55
open Expecto.Logging.Message
66
open GraphBLAS.FSharp.Tests.Utils
7-
7+
open GraphBLAS.FSharp.Tests.Context
88
open GraphBLAS.FSharp.Backend
99
open GraphBLAS.FSharp
1010

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ open GraphBLAS.FSharp.Tests
99

1010
let logger = Log.create "Copy.Tests"
1111

12-
let context = Utils.defaultContext.ClContext
12+
let context = Context.defaultContext.ClContext
1313

1414
let testCases =
15-
let q = Utils.defaultContext.Queue
15+
let q = Context.defaultContext.Queue
1616
q.Error.Add(fun e -> failwithf "%A" e)
1717

1818
let getCopyFun copy =

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

Lines changed: 6 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ open Expecto.Logging.Message
88
open Brahma.FSharp
99
open GraphBLAS.FSharp.Backend
1010
open GraphBLAS.FSharp
11-
open GraphBLAS.FSharp.Tests
11+
open GraphBLAS.FSharp.Tests.TestCases
1212
open GraphBLAS.FSharp.Tests.Utils
1313
open Microsoft.FSharp.Collections
1414
open OpenCL.Net
@@ -52,7 +52,7 @@ let correctnessGenericTest
5252
toCOOFun
5353
(isEqual: 'a -> 'a -> bool)
5454
q
55-
(case: OperationCase)
55+
(case: MatrixOperationCase)
5656
(leftMatrix: 'a [,], rightMatrix: 'a [,])
5757
=
5858

@@ -135,21 +135,7 @@ let testFixturesEWiseAdd case =
135135
|> testPropertyWithConfig config (getCorrectnessTestName "byte") ]
136136

137137
let elementwiseAddTests =
138-
testCases
139-
|> List.filter
140-
(fun case ->
141-
let mutable e = ErrorCode.Unknown
142-
let device = case.ClContext.ClContext.ClDevice.Device
143-
144-
let deviceType =
145-
Cl
146-
.GetDeviceInfo(device, DeviceInfo.Type, &e)
147-
.CastTo<DeviceType>()
148-
149-
deviceType = DeviceType.Gpu)
150-
|> List.distinctBy (fun case -> case.ClContext.ClContext.ClDevice.DeviceType, case.MatrixCase)
151-
|> List.collect testFixturesEWiseAdd
152-
|> testList "Backend.Matrix.EWiseAdd tests"
138+
matrixOperationGPUTests "Backend.Matrix.EWiseAdd tests" testFixturesEWiseAdd
153139

154140
let testFixturesEWiseAddAtLeastOne case =
155141
[ let config = defaultConfig
@@ -199,21 +185,7 @@ let testFixturesEWiseAddAtLeastOne case =
199185
|> testPropertyWithConfig config (getCorrectnessTestName "byte") ]
200186

201187
let elementwiseAddAtLeastOneTests =
202-
testCases
203-
|> List.filter
204-
(fun case ->
205-
let mutable e = ErrorCode.Unknown
206-
let device = case.ClContext.ClContext.ClDevice.Device
207-
208-
let deviceType =
209-
Cl
210-
.GetDeviceInfo(device, DeviceInfo.Type, &e)
211-
.CastTo<DeviceType>()
212-
213-
deviceType = DeviceType.Gpu)
214-
|> List.distinctBy (fun case -> case.ClContext.ClContext.ClDevice.DeviceType, case.MatrixCase)
215-
|> List.collect testFixturesEWiseAddAtLeastOne
216-
|> testList "Backend.Matrix.EWiseAddAtLeastOne tests"
188+
matrixOperationGPUTests "Backend.Matrix.EWiseAddAtLeastOne tests" testFixturesEWiseAddAtLeastOne
217189

218190
let testFixturesEWiseAddAtLeastOneToCOO case =
219191
[ let config = defaultConfig
@@ -263,21 +235,7 @@ let testFixturesEWiseAddAtLeastOneToCOO case =
263235
|> testPropertyWithConfig config (getCorrectnessTestName "byte") ]
264236

265237
let elementwiseAddAtLeastOneToCOOTests =
266-
testCases
267-
|> List.filter
268-
(fun case ->
269-
let mutable e = ErrorCode.Unknown
270-
let device = case.ClContext.ClContext.ClDevice.Device
271-
272-
let deviceType =
273-
Cl
274-
.GetDeviceInfo(device, DeviceInfo.Type, &e)
275-
.CastTo<DeviceType>()
276-
277-
deviceType = DeviceType.Gpu)
278-
|> List.distinctBy (fun case -> case.ClContext.ClContext.ClDevice.DeviceType, case.MatrixCase)
279-
|> List.collect testFixturesEWiseAddAtLeastOneToCOO
280-
|> testList "Backend.Matrix.EWiseAddAtLeastOneToCOO tests"
238+
matrixOperationGPUTests "Backend.Matrix.EWiseAddAtLeastOneToCOO tests" testFixturesEWiseAddAtLeastOneToCOO
281239

282240
let testFixturesEWiseMulAtLeastOne case =
283241
[ let config = defaultConfig
@@ -327,18 +285,4 @@ let testFixturesEWiseMulAtLeastOne case =
327285
|> testPropertyWithConfig config (getCorrectnessTestName "byte") ]
328286

329287
let elementwiseMulAtLeastOneTests =
330-
testCases
331-
|> List.filter
332-
(fun case ->
333-
let mutable e = ErrorCode.Unknown
334-
let device = case.ClContext.ClContext.ClDevice.Device
335-
336-
let deviceType =
337-
Cl
338-
.GetDeviceInfo(device, DeviceInfo.Type, &e)
339-
.CastTo<DeviceType>()
340-
341-
deviceType = DeviceType.Gpu)
342-
|> List.distinctBy (fun case -> case.ClContext.ClContext.ClDevice.DeviceType, case.MatrixCase)
343-
|> List.collect testFixturesEWiseMulAtLeastOne
344-
|> testList "Backend.Matrix.eWiseMulAtLeastOne tests"
288+
matrixOperationGPUTests "Backend.Matrix.eWiseMulAtLeastOne tests" testFixturesEWiseMulAtLeastOne

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ open Expecto.Logging
55
open Expecto.Logging.Message
66

77
open GraphBLAS.FSharp.Tests.Utils
8+
open GraphBLAS.FSharp.Tests.Context
89
open GraphBLAS.FSharp.Tests
910
open GraphBLAS.FSharp.Backend
1011
open GraphBLAS.FSharp

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ open Expecto.Logging
55
open Expecto.Logging.Message
66
open Brahma.FSharp
77
open GraphBLAS.FSharp.Backend.Common
8+
open GraphBLAS.FSharp.Tests.Context
89
open GraphBLAS.FSharp.Tests.Utils
910

1011
let logger = Log.create "PrefixSum.Tests"

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ open GraphBLAS.FSharp.Tests
99

1010
let logger = Log.create "RemoveDuplicates.Tests"
1111

12-
let context = Utils.defaultContext.ClContext
12+
let context = Context.defaultContext.ClContext
1313

1414
let testCases =
1515
let removeDuplicates_wg_1 = ClArray.removeDuplications context 1
1616
let removeDuplicates_wg_2 = ClArray.removeDuplications context 2
1717
let removeDuplicates_wg_32 = ClArray.removeDuplications context 32
18-
let q = Utils.defaultContext.Queue
18+
let q = Context.defaultContext.Queue
1919
q.Error.Add(fun e -> failwithf "%A" e)
2020

2121
[ testCase "Simple correctness test"

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ open GraphBLAS.FSharp.Tests
99

1010
let logger = Log.create "Replicate.Tests"
1111

12-
let context = Utils.defaultContext.ClContext
12+
let context = Context.defaultContext.ClContext
1313

1414
let testCases =
15-
let q = Utils.defaultContext.Queue
15+
let q = Context.defaultContext.Queue
1616
q.Error.Add(fun e -> failwithf "%A" e)
1717

1818
let getReplicateFun replicate =

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ open Expecto.Logging
55
open Expecto.Logging.Message
66
open Brahma.FSharp
77
open GraphBLAS.FSharp.Backend.Common
8+
open GraphBLAS.FSharp.Tests.Context
89
open GraphBLAS.FSharp.Tests.Utils
910

1011
let logger = Log.create "Scatter.Tests"

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

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ open GraphBLAS.FSharp.Backend
66
open GraphBLAS.FSharp.Backend.ArraysExtensions
77
open GraphBLAS.FSharp
88
open GraphBLAS.FSharp.Tests.Utils
9+
open GraphBLAS.FSharp.Tests.Context
10+
open GraphBLAS.FSharp.Tests.TestCases
911
open Microsoft.FSharp.Collections
1012
open Microsoft.FSharp.Core
1113
open OpenCL.Net
@@ -83,7 +85,8 @@ let testFixturesSpMV (testContext: TestContext) =
8385
[ let config = defaultConfig
8486
let wgSize = 32
8587

86-
let getCorrectnessTestName datatype = sprintf "Correctness on %s" datatype
88+
let getCorrectnessTestName datatype =
89+
sprintf "Correctness on %s, %A" datatype testContext.ClContext
8790

8891
let context = testContext.ClContext
8992
let q = testContext.Queue
@@ -112,26 +115,9 @@ let testFixturesSpMV (testContext: TestContext) =
112115
let byteAdd =
113116
Vector.spMV context byteSum byteMul wgSize
114117

115-
let byteToCOO = Matrix.toCOO context wgSize
116-
117118
testContext
118119
|> correctnessGenericTest 0uy (+) (*) byteAdd (=) q
119120
|> testPropertyWithConfig config (getCorrectnessTestName "byte") ]
120121

121122
let tests =
122-
availableContexts ""
123-
|> List.ofSeq
124-
|> List.filter
125-
(fun testContext ->
126-
let mutable e = ErrorCode.Unknown
127-
let device = testContext.ClContext.ClDevice.Device
128-
129-
let deviceType =
130-
Cl
131-
.GetDeviceInfo(device, DeviceInfo.Type, &e)
132-
.CastTo<DeviceType>()
133-
134-
deviceType = DeviceType.Gpu)
135-
|> List.distinctBy (fun testContext -> testContext.ClContext.ClDevice.DeviceType)
136-
|> List.collect testFixturesSpMV
137-
|> testList "Backend.Common.SpMV tests"
123+
gpuTests "Backend.Vector.SpMV tests" testFixturesSpMV

0 commit comments

Comments
 (0)