Nsight Systems adalah alat yang kuat yang dirancang untuk memvisualisasikan dan menganalisis interaksi CPU-GPU dalam aplikasi, memberikan wawasan tentang kemacetan kinerja dan peluang optimasi. Begini cara memvisualisasikan interaksi ini:
Analisis Kinerja Sistem
Sistem
Sistem NSight menangkap data aktivitas di seluruh sistem, termasuk acara CPU dan GPU, dan menampilkannya pada garis waktu terpadu. Garis waktu ini memungkinkan pengembang untuk melihat bagaimana komponen yang berbeda dari sistem berinteraksi satu sama lain dari waktu ke waktu, membuatnya lebih mudah untuk mengidentifikasi korelasi, ketergantungan, dan kemacetan dalam alur kerja aplikasi [3] [4].
Visualisasi aktivitas CPU
Nsight Systems memvisualisasikan aktivitas CPU dengan menunjukkan status utas, pemanfaatan, dan eksekusi algoritma. Ini membantu pengembang memahami bagaimana sumber daya CPU digunakan dan di mana potensi kemacetan mungkin ada. Alat ini mendukung analisis pohon multi-proses, yang memungkinkan pengguna untuk melacak aktivitas beberapa proses dan utas secara bersamaan [1] [3].
Visualisasi Aktivitas GPU
Untuk aktivitas GPU, Nsight Systems memberikan wawasan terperinci tentang beban kerja GPU, termasuk optimasi streaming-multiprocessor (SM), transfer memori, dan eksekusi kernel. Ini mendukung melacak berbagai API GPU seperti CUDA, Vulkan, dan OpenGL, memungkinkan pengembang untuk menganalisis tugas komputasi GPU dan grafik secara mendalam [3] [4]. Alat ini juga menawarkan pengambilan sampel metrik GPU, yang mencakup metrik seperti pemanfaatan SM, aktivitas inti tensor, dan throughput instruksi. Metrik ini membantu pengembang mengoptimalkan kinerja GPU dengan mengidentifikasi kurang dimanfaatkan atau inefisiensi dalam penggunaan sumber daya GPU [1] [3].
Mengorelasikan acara CPU dan GPU
Salah satu fitur utama dari sistem Nsight adalah kemampuannya untuk mengkorelasikan peristiwa CPU dan GPU. Dengan memvisualisasikan kegiatan CPU dan GPU pada timeline yang sama, pengembang dapat melihat bagaimana operasi CPU mempengaruhi kinerja GPU dan sebaliknya. Korelasi ini sangat penting untuk mengidentifikasi bottleneck yang terjadi karena interaksi antara CPU dan GPU, seperti penundaan transfer data atau masalah sinkronisasi [3] [4].
overhead rendah dan skalabilitas
Nsight Systems dirancang untuk beroperasi dengan overhead yang rendah, memastikan bahwa proses profil tidak berdampak signifikan terhadap kinerja aplikasi. Ini membuatnya cocok untuk menganalisis aplikasi skala besar yang kompleks yang berjalan pada berbagai platform NVIDIA, dari workstation ke pusat data dan lingkungan cloud [3] [6].
Antarmuka pengguna dan navigasi
Alat ini menyediakan GUI yang ramah pengguna yang memungkinkan pengembang untuk menavigasi melalui tampilan timeline menggunakan bilah gulir, roda mouse, dan pintasan keyboard. Antarmuka ini memungkinkan pengguna untuk memperbesar rentang waktu atau peristiwa tertentu, memfasilitasi analisis terperinci tentang masalah kinerja [5] [9].
Secara keseluruhan, Nsight Systems menawarkan pandangan komprehensif tentang interaksi CPU-GPU, memungkinkan pengembang untuk mengoptimalkan aplikasi mereka untuk kinerja dan efisiensi yang lebih baik di berbagai platform.
Kutipan:
[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/contribusi/4047370/attachments/215916/3643963/nsight%20systems%20-%20x86%20Introduction%20-%20Cern.pdf
[5] https://www.youtube.com/watch?v=tgchxcfm-y
[6] https://docs.nersc.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=dudgo66iadu
[10] https://dev-discuss.pytorch.org/t/using-nsight-systems-to-profile-gpu-workload/59