summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Add preemption_logger benchmark, make target, and fix d82c60cJoshua Bakita2023-07-06
| | | | | | | | | | | | | | | | Benchmark supports: => Spinning on-GPU until some number of preemptions have occured => Monitoring GPU scheduling by logging preempt and resume times => Logging the above as raw GPU, or converted CPU, times => Measuring launch overheads Also imports task_host_utilities.cu from cuda_scheduling_examiner as of commit 9fc0ca898ef64b82cbc3734c60405723650bc66f. This is needed for timing logic used in both preemption_logger and mon_cross_ctx_copies, thus the latter would not compile prior to this commit. Also adds a new testbench helper, and a .gitignore for binaries.
* Add a "clean" target to the MakefilesJoshua Bakita2023-07-05
|
* Comments and check for successful cleanup in mon_cross_ctx_copiesJoshua Bakita2023-07-05
|
* Fix backwards compatibility and checks in mon_cross_ctx_copiesJoshua Bakita2023-06-21
| | | | On-GPU copy monitoring may have been disfunctional on Maxwell-.
* Rewrite argument parsing for mon_cross_ctx_copiesJoshua Bakita2023-06-21
| | | | | No longer requires a recompile to change the number or type of copy monitoring threads.
* Add mon_cross_ctx_copies benchmark and make targetJoshua Bakita2023-06-13
| | | | | | | | | | | | | | | | Benchmark supports: => Generating parallel copies from CPU to GPU in seperate process => Granular timestamping of when each portion of the copy completes => Monitoring of copy process from either CPU or GPU => Tested on platforms including the GV100 and GV11B Formerly known as diff_ctx_diff_stream. *** Warning *** * The current implementation requires some hardcoded parameters * (such as the number of monitoring threads on the GPU) to be * updated and recompiled when switching test platform. ***
* Add constant_cycles_kernel benchmark + header split and MakefileJoshua Bakita2023-06-09
| | | | | | | | | | Benchmark supports: => Looping on the GPU for a specified number of iterations => Looping infinitely on the GPU => Logging the sum time (ns and ms) for all iterations to complete Also splits `testbench.h` out of `copy_testbench.h` for use in other benchmarks.
* Add copy_contender benchmark, Makefile, and copy_testbench headerJoshua Bakita2023-06-09
Benchmark supports: => Generating a chain of copies in a single context - No timing pause between copies => Copies to, from, or between device(s) => Variable size and number of copies => Logging how many milliseconds each copy takes *** Warning *** * Relies on implicit synchronization of unidirectional copies across * streams. Verify that this is still the case with CUDA before * trusting results. One can check by verifying that the runtime for * one iteration roughly matches the time for each iteration in a * multi-iteration run. ***