0Pricing
CUDA Academy · บทเรียน

มุมมองเส้นเวลาใน Nsight Systems

ดูช่วงว่าง การคัดลอก และการทำงานซ้อนกัน

มุมมองเส้นเวลาใน Nsight Systems เป็นบทเรียน CUDA Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CUDA Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CUDA Academy มีบทเรียนทั้งหมด 4 บทเรียน

พบกับระบบ Nsight

ระบบ Nsight คือเครื่องมือวิเคราะห์ประสิทธิภาพที่มองเห็นภาพรวมจากมุมสูง โดยแสดงเส้นเวลาทั้งหมดของโปรแกรม เพื่อให้คุณมองเห็นว่า GPU หยุดรออยู่ตรงไหน 🔭

เหตุใดจึงต้องใช้เส้นเวลา

เส้นเวลา จะวางการดำเนินการทุกอย่างลงบนแกนเวลา คุณจะเห็นได้ทันทีว่าสิ่งใดทำงานเมื่อใด และแต่ละส่วนใช้เวลานานเท่าไร โดยแสดงเทียบกันเคียงข้าง

การบันทึกการติดตาม

คุณบันทึกการทำงานหนึ่งครั้งด้วย nsys จากบรรทัดคำสั่ง โดยจะเก็บกิจกรรมของ GPU และ CPU ไว้ในรายงานเดียวที่เปิดดูภายหลังได้

nsys profile -o report ./my_cuda_app

แถวที่คุณเห็น

แต่ละ แถว คือกระแสกิจกรรม เช่น เธรดของ CPU การเรียกส่วนต่อประสาน CUDA เคอร์เนล และการคัดลอกหน่วยความจำ การอ่านแถวเหล่านี้ร่วมกันจะช่วยเล่าเรื่องราวทั้งหมด

การมองหาช่องว่าง

พื้นที่ว่างบนแถวของ GPU คือ ช่องว่าง ซึ่งหมายถึงช่วงเวลาที่ GPU ไม่ได้ทำงาน ช่องว่างเหล่านี้เป็นเบาะแสสำคัญที่สุดว่าสิ่งใดกำลังรออยู่ ⏳

การคัดลอกเทียบกับเคอร์เนล

บนเส้นเวลา การคัดลอกหน่วยความจำ และเคอร์เนลจะอยู่คนละช่อง หากการคัดลอกกินเวลาส่วนใหญ่ ต้นทุนที่แท้จริงก็คือการเคลื่อนย้ายข้อมูล

การมองเห็นการทำงานซ้อนกัน

เมื่อการคัดลอกและเคอร์เนลทำงานพร้อมกัน แถบของทั้งสองจะ ซ้อนกัน บนกระแสคนละสาย การซ้อนกันเป็นเรื่องดี เพราะแสดงว่า GPU ยังคงทำงานอยู่

ซูมเพื่อดูความจริง

ภาพรวมอาจซ่อนรายละเอียด ดังนั้นให้ ซูมเข้าบริเวณที่ทำงานช้า เมื่อดูใกล้ ๆ คุณจะวัดเวลาของเคอร์เนลหรือการคัดลอกหนึ่งรายการได้อย่างแม่นยำ

วางเมาส์เพื่อดูตัวเลข

เมื่อวางเมาส์เหนือแถบใด ๆ จะแสดง ระยะเวลาและชื่อที่แน่นอน วิธีนี้จะเปลี่ยนความรู้สึกกว้าง ๆ ว่าช้า ให้กลายเป็นตัวเลขชัดเจนที่คุณนำไปแก้ไขได้

การหยุดรอของ CPU ก็ส่งผลเสียเช่นกัน

บางครั้ง GPU ต้องรอเพราะ CPU กำลังยุ่งอยู่กับการเตรียมงาน เส้นเวลาจะแสดงการหยุดรอที่ฝั่งโฮสต์เหล่านี้ได้อย่างชัดเจนเช่นกัน

ระดับระบบ ไม่ใช่ระดับเคอร์เนล

ระบบ Nsight ตอบคำถามว่าเวลาในแอปพลิเคชันทั้งหมดถูกใช้ไป ที่ใด หากต้องการรายละเอียดเชิงลึกของเคอร์เนลแต่ละรายการ คุณต้องเปลี่ยนไปใช้เครื่องมืออื่น

ตรวจสอบอย่างรวดเร็ว

คุณเห็นช่วงว่างยาวบนแถวของ GPU

สรุปทบทวน

ระบบ Nsight มอบ เส้นเวลาให้คุณเห็นช่องว่าง การคัดลอก เคอร์เนล และการทำงานซ้อนกันในพริบตา เริ่มต้นที่นี่เพื่อค้นหาว่าเวลาของคุณถูกใช้ไปที่ใดจริง ๆ 👏

คำถามที่พบบ่อย

บทเรียน “มุมมองเส้นเวลาใน Nsight Systems” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “มุมมองเส้นเวลาใน Nsight Systems” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส CUDA Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส CUDA Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “มุมมองเส้นเวลาใน Nsight Systems”

ดูช่วงว่าง การคัดลอก และการทำงานซ้อนกัน คุณปฏิบัติ CUDA Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน CUDA Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน CUDA Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “มุมมองเส้นเวลาใน Nsight Systems” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน CUDA Academy นี้ได้ไหม

ได้ บทเรียน CUDA Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. มุมมองเส้นเวลาใน Nsight Systems
  2. ตัวชี้วัดเคอร์เนลใน Nsight Compute
  3. จำกัดด้วยการคำนวณเทียบกับจำกัดด้วยหน่วยความจำ
  4. ใส่คำอธิบายประกอบโค้ดด้วย NVTX
← กลับไปที่ CUDA Academy