GPU Execution Tracing and Compression
MetadataShow full metadata
Program tracing is widely used for debugging and performance optimization. Whenever a program is traced, the overhead in terms of extra runtime and in terms of storage for the generated trace information are a concern. These concerns are greatly exacerbated on GPUs due to the large amount of parallelism. In fact, GPUs provide such massive parallelism that conventional tracing approaches either fail or only manage to trace very few events per thread. Hence, we need not only a low-overhead but also a space-efficient approach to make detailed tracing possible on GPUs. To the best of my knowledge, none of the existing GPU tracing tools support both. Thus, in this thesis, I developed an execution tracing tool for GPUs called ECL-Tracer that is light-weight and immediately compresses the generated trace data before they are stored.