示例#1
0
        // 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);
        }
示例#2
0
        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;
        }
示例#3
0
 internal static Task Stop()
 {
     return(BenchmarkingComputeDeviceHandler.StopBenchmarkingAllDevices());
 }
示例#4
0
 internal static Task StopBenchmarForDevice(ComputeDevice device)
 {
     return(BenchmarkingComputeDeviceHandler.StopBenchmarkingDevice(device));
 }