Appendix D. CUDA Practicalities: Timing, Profiling, Error Handling, and Debugging

This appendix aims to introduce some practical matters you will want to include in your skill set before getting too far along with your own development projects. In particular, we introduce the following:

• Execution timing and profiling

• Error handling

• CUDA debugging tools

Execution Timing and Profiling

When you start creating CUDA programs, you will want to be able to quantify the performance of your code. (If you did not care about performance, it is highly unlikely that you would have gotten started with CUDA.) While you can use the standard C language timing methods, there are some issues with synchronization between the CPU and the GPU, so we will also ...

Get CUDA for Engineers: An Introduction to High-Performance Parallel Computing now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.