O NSIGHT Systems é uma ferramenta poderosa projetada para visualizar e analisar as interações CPU-GPU em aplicativos, fornecendo informações sobre gargalos de desempenho e oportunidades de otimização. Veja como ele visualiza essas interações:
Análise de desempenho em todo o sistema
A NSight Systems captura dados de atividades em todo o sistema, incluindo eventos de CPU e GPU, e os exibe em uma linha do tempo unificada. Essa linha do tempo permite que os desenvolvedores vejam como os diferentes componentes do sistema interagem entre si ao longo do tempo, facilitando a identificação de correlações, dependências e gargalos no fluxo de trabalho do aplicativo [3] [4].
Visualização da atividade da CPU
Os sistemas NSight visualizam a atividade da CPU mostrando estados de threads, utilização e execução do algoritmo. Isso ajuda os desenvolvedores a entender como os recursos da CPU estão sendo usados e onde podem existir gargalos em potencial. A ferramenta suporta análise de árvore de vários processos, permitindo que os usuários rastreem a atividade de vários processos e threads simultaneamente [1] [3].
Visualização da atividade da GPU
Para a atividade da GPU, a NSight Systems fornece informações detalhadas sobre as cargas de trabalho da GPU, incluindo otimização de streaming-multiprocessor (SM), transferências de memória e execução do kernel. Ele suporta rastrear várias APIs de GPU, como CUDA, Vulkan e OpenGL, permitindo que os desenvolvedores analisem tarefas de computação e gráficos de GPU em profundidade [3] [4]. A ferramenta também oferece amostragem de métricas de GPU, que inclui métricas como utilização do SM, atividade do núcleo tensor e taxa de transferência de instruções. Essas métricas ajudam os desenvolvedores a otimizar o desempenho da GPU, identificando a subutilização ou ineficiências no uso de recursos da GPU [1] [3].
Correlacionando eventos de CPU e GPU
Uma das principais características dos sistemas NSight é sua capacidade de correlacionar eventos de CPU e GPU. Ao visualizar as atividades da CPU e da GPU na mesma linha do tempo, os desenvolvedores podem ver como as operações da CPU influenciam o desempenho da GPU e vice -versa. Essa correlação é crucial para identificar gargalos que ocorrem devido a interações entre a CPU e a GPU, como atrasos na transferência de dados ou problemas de sincronização [3] [4].
baixa e escalabilidade
A NSIGHT Systems foi projetada para operar com baixa sobrecarga, garantindo que o processo de perfil não afete significativamente o desempenho do aplicativo. Isso o torna adequado para analisar aplicativos complexos e em larga escala em execução em várias plataformas NVIDIA, desde estações de trabalho a data centers e ambientes em nuvem [3] [6].
Interface do usuário e navegação do usuário
A ferramenta fornece uma GUI amigável que permite aos desenvolvedores navegar pela exibição da linha do tempo usando barras de rolagem, roda do mouse e atalhos de teclado. Essa interface permite que os usuários aumentem o zoom em intervalos ou eventos específicos, facilitando a análise detalhada dos problemas de desempenho [5] [9].
No geral, a NSight Systems oferece uma visão abrangente das interações CPU-GPU, permitindo que os desenvolvedores otimizem seus aplicativos para obter melhor desempenho e eficiência em uma ampla gama de plataformas.
Citações:
[1] https://extremecomputingtraining.anl.gov/wp-content/uploads/sites/96/2022/11/atpeSc-2022-track-6-talk-2-keipert-nvidia.pdf
[2] https://bede-documentation.readthedocs.io/en/latest/software/tools/nsight-systems.html
[3] https://developer.nvidia.com/nsight-systems
[4] https://indico.cern.ch/event/962112/contributions/4047370/attachments/2159916/3643963/nsight%20systems%20-%20x86%20Introduction Lo%20Cern.PDFF
[5] https://www.youtube.com/watch?v=tgchxcfm-yo
[6] https://docs.nerc.gov/tools/performance/nvidiaproftools/
[7] https://www.youtube.com/watch?v=kkanp0kl_hk
[8] https://docs.nvidia.com/nsight-systems/userguide/index.html
[9] https://www.youtube.com/watch?v=dudgo66iDU
[10] https://dev-discuss.pytorch.org/t/using-nsight-systems-to-profile-gpu-workload/59