Skip to content

Commit 7458001

Browse files
committed
Add string formatting of opencl context
1 parent d7ff2d2 commit 7458001

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarksEWiseAdd.fs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,15 @@ open Brahma.FSharp.OpenCL.WorkflowBuilder.Evaluation
1616
open Brahma.FSharp.OpenCL.Extensions
1717
open OpenCL.Net
1818

19+
type ClContext = ClContext of OpenCLEvaluationContext
20+
with
21+
override this.ToString() =
22+
let mutable e = ErrorCode.Unknown
23+
let (ClContext context) = this
24+
let device = context.Device
25+
let deviceName = Cl.GetDeviceInfo(device, DeviceInfo.Name, &e).ToString()
26+
sprintf "%20s" deviceName
27+
1928
type InputMatrixFormat = {
2029
MatrixName: string
2130
MatrixStructure: COOFormat<float>
@@ -129,13 +138,15 @@ type EWiseAddBenchmarks() =
129138

130139
[<Benchmark>]
131140
[<ArgumentsSource("AvaliableContextsProvider")>]
132-
member this.EWiseAdditionCOO(context: OpenCLEvaluationContext) =
141+
member this.EWiseAdditionCOO(clContext: ClContext) =
142+
let (ClContext context) = clContext
133143
leftCOO.EWiseAdd rightCOO None FloatSemiring.addMult
134144
|> context.RunSync
135145

136146
[<Benchmark>]
137147
[<ArgumentsSource("AvaliableContextsProvider")>]
138-
member this.EWiseAdditionCSR(context: OpenCLEvaluationContext) =
148+
member this.EWiseAdditionCSR(clContext: ClContext) =
149+
let (ClContext context) = clContext
139150
leftCSR.EWiseAdd rightCOO None FloatSemiring.addMult
140151
|> context.RunSync
141152

@@ -204,14 +215,14 @@ type EWiseAddBenchmarks() =
204215
static member AvaliableContextsProvider =
205216
let mutable e = ErrorCode.Unknown
206217
Cl.GetPlatformIDs &e
207-
|> Array.collect (fun platform -> Cl.GetDeviceIDs(platform, DeviceType.All, &e))
218+
|> Array.collect (fun platform -> Cl.GetDeviceIDs(platform, DeviceType.Cpu, &e))
208219
|> Seq.ofArray
209220
|> Seq.map
210221
(fun device ->
211222
let platform = Cl.GetDeviceInfo(device, DeviceInfo.Platform, &e).CastTo<Platform>()
212223
let platformName = Cl.GetPlatformInfo(platform, PlatformInfo.Name, &e).ToString()
213224
let deviceType = Cl.GetDeviceInfo(device, DeviceInfo.Type, &e).CastTo<DeviceType>()
214-
OpenCLEvaluationContext(platformName, deviceType)
225+
OpenCLEvaluationContext(platformName, deviceType) |> ClContext
215226
)
216227

217228
// не уверен, что на каждой итерации трансфер данных снова происходит

0 commit comments

Comments
 (0)