Building on a series of articles describing how to use the NVIDIA Nsight suite to migrate your application profiling and analysis from older generation tools, we introduce this new developer blog on How to Use the Nsight Systems tool in Containers and the Cloud.
Nsight Systems provides comprehensive workload-level performance, where you can optimize synchronization, data movement, and parallelization. The Nsight Compute tool complements the Nsight Systems high level system view with a deeper focus on detailed CUDA kernel performance. Together they provide a powerful suite to effectively analyze and profile your applications.
As the benefits of running applications on shared systems have become more obvious (portable, easily packaged and deployed software environments on a variety of compute options), the usage of containers and cloud computing have accelerated at an astonishing rate. The focus now moves from why and when to adopt these new technologies, to how best to streamline this transition.
Developers need to have the same historical ability to analyze their application development regardless of which specific environment or cloud they are running on. With this comes some forethought on how to set-up profiling tools like NVIDIA’s Nsight Systems.
This blog discusses real-world Nsight Systems code examples with common container technologies like Docker and Singularity. It walks you through how to map it into an existing container and how to build new container images. NVIDIA provides several pre-package containers that already include Nsight Systems and will work right out of the box. After you have a Cloud Service Provider (CSP) instance, installing Nsight Systems is basically the same as installing it anywhere else.