// network benchmark starts benchmarking on a device // assume device is enabled and it exists internal static void StartBenchmarForDevice(ComputeDevice device, BenchmarkStartSettings benchmarkStartSettings) { var startMiningAfterBenchmark = benchmarkStartSettings.StartMiningAfterBenchmark; var perfType = benchmarkStartSettings.BenchmarkPerformanceType; var benchmarkOption = benchmarkStartSettings.BenchmarkOption; var unbenchmarkedAlgorithms = device.AlgorithmSettings.Where(algo => algo.Enabled && ShouldBenchmark(algo, benchmarkOption)).ToArray(); BenchmarkingComputeDeviceHandler.BenchmarkDeviceAlgorithms(device, unbenchmarkedAlgorithms, perfType, startMiningAfterBenchmark); }
private static async Task CreateBenchmarkingTask(ComputeDevice computeDevice, IEnumerable <AlgorithmContainer> algorithmContainers, BenchmarkPerformanceType performance, bool startMiningAfterBenchmark = false) { // create new var newBenchmarkHandler = new BenchmarkingComputeDeviceHandler(computeDevice) { PerformanceType = performance, StartMiningAfterBenchmark = startMiningAfterBenchmark }; newBenchmarkHandler.AppendForBenchmarking(algorithmContainers); newBenchmarkHandler.BenchmarkTask = newBenchmarkHandler.Benchmark(); await newBenchmarkHandler.BenchmarkTask; }
internal static Task Stop() { return(BenchmarkingComputeDeviceHandler.StopBenchmarkingAllDevices()); }
internal static Task StopBenchmarForDevice(ComputeDevice device) { return(BenchmarkingComputeDeviceHandler.StopBenchmarkingDevice(device)); }