#! /usr/bin/env perl # experiment 05: dynamic parallelism on K20X and K40 with and without boost clocks do "../common.pl"; # test parameters $step = 4000; $ntries = 5; init_exp(); #output file $out_file = "./exp-05.csv"; open(CSV, ">", $out_file) or die "cannot open $out_file: $!"; for($nhits = $step; $nhits < $max_nhits; $nhits += $step) { $cuda_device = 1; system("nvidia-smi -rac"); run_test("-Bdyn"); $dyn_k40_time = $avg_time; $dyn_k40_perf = $perf; system("nvidia-smi -i $cuda_device -ac 3004,875"); run_test("-Bdyn"); $dyn_k40_boost_time = $avg_time; $dyn_k40_boost_perf = $perf; $cuda_device = 3; system("nvidia-smi -rac"); run_test("-Bdyn"); $dyn_k20X_time = $avg_time; $dyn_k20X_perf = $perf; system("nvidia-smi -i $cuda_device -ac 2600,784"); run_test("-Bdyn"); $dyn_k20X_boost_time = $avg_time; $dyn_k20X_boost_perf = $perf; $str = sprintf "%6d %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f\n", $nhits, $dyn_k20X_time, $dyn_k20X_boost_time, $dyn_k40_time, $dyn_k40_boost_time, $dyn_k20X_perf, $dyn_k20X_boost_perf, $dyn_k40_perf, $dyn_k40_boost_perf; printf CSV "%s", $str; printf "%s", $str; } close CSV; system("nvidia-smi -rac");