วิเคราะห์ ปรับให้เหมาะสม ส่งมอบ
ปิดวงจรด้วยเมตริกของ Nsight
วิเคราะห์ ปรับให้เหมาะสม ส่งมอบ เป็นบทเรียน CUDA Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CUDA Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CUDA Academy มีบทเรียนทั้งหมด 4 บทเรียน
วัดผล อย่าเดา
การปรับประสิทธิภาพต้องเริ่มจากข้อมูล ไม่ใช่การคาดเดา ให้ทำโปรไฟล์ก่อนเสมอเพื่อดูว่าเวลาใช้ไปกับส่วนใดจริง ๆ ก่อนเปลี่ยนแม้แต่บรรทัดเดียว 🔍
เริ่มจากเส้นเวลา
เปิด Nsight Systems เพื่อดูการทำงานทั้งหมด: เคอร์เนล การคัดลอก และช่วงว่าง เส้นเวลาจะแสดงว่าการถ่ายโอนกับการคำนวณซ้อนทับกันจริงหรือไม่
ค้นหาเคอร์เนลที่ใช้เวลามากที่สุด
โดยปกติจะมีขั้นตอนหนึ่งที่ใช้เวลามากที่สุด เส้นเวลาจะแสดงเคอร์เนลที่ทำงานนานที่สุด และนี่คือจุดที่คุณควรเริ่มปรับแต่งก่อน
เจาะลึกด้วย Nsight Compute
สำหรับเคอร์เนลที่ใช้เวลามากที่สุด ให้เปลี่ยนไปใช้ Nsight Compute เครื่องมือนี้รายงานตัวชี้วัดต่อเคอร์เนล เช่น อัตราการส่งข้อมูลหน่วยความจำ ช่วงหยุดรอ และความหนาแน่นการทำงานที่ทำได้
อ่านกราฟหลังคา
กราฟหลังคาจะบอกว่าเคอร์เนลติดข้อจำกัดด้านหน่วยความจำหรือด้านการคำนวณ คำตอบเดียวนี้จะเป็นตัวตัดสินว่าควรลองการปรับประสิทธิภาพใดบ้าง
แก้ไขเคอร์เนลที่ติดข้อจำกัดด้านหน่วยความจำ
หากติดข้อจำกัดด้านหน่วยความจำ ให้มุ่งปรับการรวมการเข้าถึงหน่วยความจำ การแบ่งข้อมูลเป็นไทล์ในหน่วยความจำร่วม และการโหลดแบบเวกเตอร์ การป้อนข้อมูลให้เร็วขึ้นคือหนทางเดียวที่จะเพิ่มความเร็วได้
แก้ไขเคอร์เนลที่ติดข้อจำกัดด้านการคำนวณ
หากติดข้อจำกัดด้านการคำนวณ ให้เพิ่มILPด้วยการคลี่ลูป ลดการคำนวณที่ซ้ำซ้อน หรือลดความละเอียดของข้อมูล ที่นี่หน่วยคำนวณคือข้อจำกัด
ติดป้ายกำกับโค้ดด้วย NVTX
ครอบขั้นตอนของไปป์ไลน์ด้วยช่วง NVTX เพื่อให้เส้นเวลาแสดงแถบที่มีชื่อแทนเคอร์เนลนิรนาม โปรไฟล์ที่อ่านง่ายช่วยให้แก้ไขจุดบกพร่องได้เร็วขึ้น
nvtxRangePush("blur");
blurKernel<<<grid, block>>>(d_in, d_out);
nvtxRangePop();เปลี่ยนทีละอย่าง
ใช้การปรับประสิทธิภาพเพียงอย่างเดียว แล้วทำโปรไฟล์ซ้ำลูปที่กระชับนี้จะพิสูจน์ว่าการเปลี่ยนแปลงแต่ละครั้งช่วยได้ และป้องกันไม่ให้คุณไล่ตามผลกระทบสองอย่างพร้อมกัน
รู้ว่าเมื่อใดควรหยุด
เมื่อเคอร์เนลเข้าใกล้ขีดจำกัดตามกราฟหลังคา การปรับแต่งเพิ่มเติมจะให้ผลเพียงเล็กน้อย ให้ตระหนักถึงผลตอบแทนที่ลดลงและใช้เวลากับคอขวดถัดไป
ตรวจสอบแล้วจึงเผยแพร่
ก่อนเผยแพร่ ให้ยืนยันความถูกต้องโดยเทียบกับข้อมูลอ้างอิง และตรวจสอบว่าการเพิ่มความเร็วยังคงสม่ำเสมอ ไปป์ไลน์ที่เร็วแต่ให้ผลลัพธ์ผิดนั้นไม่พร้อมนำไปใช้งาน 🚢
ตรวจสอบอย่างรวดเร็ว
Nsight Compute ระบุว่าเคอร์เนลที่ใช้เวลามากที่สุดติดข้อจำกัดด้านหน่วยความจำ คุณควรลองแก้ไขสิ่งใดก่อน
สรุปทบทวน
คุณได้เรียนรู้การทำโปรไฟล์ด้วย Nsight อ่านกราฟหลังคาเพื่อจำแนกเคอร์เนล ใช้การแก้ไขที่ตรงจุดทีละอย่าง และตรวจสอบก่อนเผยแพร่ไปป์ไลน์ที่เร็วและถูกต้อง 🏁
เรียนรู้ C++ ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “วิเคราะห์ ปรับให้เหมาะสม ส่งมอบ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “วิเคราะห์ ปรับให้เหมาะสม ส่งมอบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส CUDA Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส CUDA Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “วิเคราะห์ ปรับให้เหมาะสม ส่งมอบ”
ปิดวงจรด้วยเมตริกของ Nsight คุณปฏิบัติ CUDA Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน CUDA Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน CUDA Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “วิเคราะห์ ปรับให้เหมาะสม ส่งมอบ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน CUDA Academy นี้ได้ไหม
ได้ บทเรียน CUDA Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ออกแบบไปป์ไลน์การประมวลผล
- รวมตัวกรองเป็นเคอร์เนลเดียว
- สตรีมไทล์สำหรับภาพขนาดใหญ่
- วิเคราะห์ ปรับให้เหมาะสม ส่งมอบ