การรับรู้ตอนกลางคืน

Chloros 1.1.0 นำเสนอการตรวจจับฮาร์ดแวร์อัจฉริยะและการเลือกกลยุทธ์การประมวลผลอัตโนมัติ ระบบประมวลผลจะปรับให้เข้ากับฮาร์ดแวร์ของคุณ — ตั้งแต่ Jetson Nano ไปจนถึงเวิร์กสเตชันที่มี GPU หลายตัว — โดยไม่ต้องกำหนดค่าด้วยตนเองใดๆ


มันทำงานอย่างไร

เมื่อ Chloros เริ่มทำงาน ระบบจะสร้างโปรไฟล์ระบบของคุณโดยอัตโนมัติ:

  1. ตรวจพบระบบปฏิบัติการ — Windows หรือ Linux

  2. ระบุแกน CPU และ RAM ทั้งหมด

3.ตรวจจับการมีอยู่ของ GPU — ความสามารถของ NVIDIA CUDA, VRAM, รุ่น 4. ระบุรุ่น Jetson (ถ้ามี) — ผ่าน /proc/device-tree/model 5. ตรวจสอบเซ็นเซอร์ความร้อน (Jetson) — สำหรับการประมวลผลโดยคำนึงถึงอุณหภูมิ 6. เลือกกลยุทธ์การประมวลผลที่เหมาะสมที่สุด — ขึ้นอยู่กับฮาร์ดแวร์ที่ตรวจพบทั้งหมด 7. กำหนดค่าจำนวนผู้ปฏิบัติงาน ประเภทไปป์ไลน์ และการจัดสรรหน่วยความจำ โดยอัตโนมัติ

ผลลัพธ์จะถูกแคชไว้ ดังนั้นการเรียกใช้ครั้งต่อๆ ไปจึงเริ่มเร็วขึ้น หากฮาร์ดแวร์มีการเปลี่ยนแปลง (เช่น เพิ่ม GPU) Chloros จะสร้างโปรไฟล์ใหม่ในการเปิดครั้งต่อไป


กลยุทธ์การคำนวณ

Chloros เลือกหนึ่งในสามกลยุทธ์การประมวลผลตามฮาร์ดแวร์ของคุณ:

กลยุทธ์
ต้องใช้ GPU
คนงาน
ไปป์ไลน์
ดีที่สุดสำหรับ

GPU_PARALLEL

ใช่ (12GB+ VRAM หรือ 16GB+ ที่ใช้ร่วมกัน)

3-4

fused_gpu

GPU เดสก์ท็อปที่มี 12GB+, Jetson Orin NX 16GB, AGX Orin

GPU_SINGLE

ใช่ (< 12GB VRAM)

1-3

tiled_gpu

GPU ระดับเริ่มต้น, Jetson Nano, Orin Nano

CPU_PARALLEL

ไม่

แกน - 1

cpu_fallback

ระบบที่ไม่มี NVIDIA GPU

ประเภทไปป์ไลน์

  • fused_gpu — เส้นทางการประมวลผล GPU เต็มรูปแบบ การดำเนินการดีบาย การแก้ไข และดัชนีทั้งหมดทำงานบน GPU ในการผ่านแบบรวมครั้งเดียว ปริมาณงานสูงสุดแต่ต้องการ VRAM มากกว่า

  • tiled_gpu — เส้นทาง GPU ที่มีประสิทธิภาพหน่วยความจำ ประมวลผลรูปภาพในไทล์เพื่อให้พอดีกับหน่วยความจำ GPU ที่จำกัด ปริมาณงานต่ำกว่าแต่ใช้งานได้กับอุปกรณ์ที่จำกัดหน่วยความจำ

  • cpu_fallback — การประมวลผลเฉพาะ CPU เท่านั้นโดยใช้การทำงานแบบขนานแบบมัลติเธรด ใช้เมื่อไม่มี NVIDIA GPU***

พฤติกรรมเฉพาะแพลตฟอร์ม

แพลตฟอร์ม
กลยุทธ์
คนงาน
ไปป์ไลน์
หมายเหตุ

เจ็ตสัน นาโน 8GB

GPU_SINGLE

1

tiled_gpu (ต่อเนื่อง)

โหมดประหยัดหน่วยความจำ ประมวลผลทีละภาพ

Jetson Orin NX 16GB

GPU_PARALLEL

3

fused_gpu (พร้อมกัน)

อุปกรณ์ Edge ที่แนะนำ — การประมวลผล GPU แบบขนานจริง

Jetson AGX Orin 64GB

GPU_PARALLEL

4

fused_gpu (พร้อมกัน)

ประสิทธิภาพขอบสูงสุด

เดสก์ท็อปพร้อม GPU 8GB

GPU_SINGLE

3

tiled_gpu

ประสิทธิภาพเดสก์ท็อปที่ดีพร้อมไทล์ที่มีประสิทธิภาพหน่วยความจำ

เดสก์ท็อปที่มี GPU 12GB+

GPU_PARALLEL

3-4

fused_gpu

ประสิทธิภาพเดสก์ท็อปที่เหมาะสมที่สุด

ระบบเฉพาะ CPU

CPU_PARALLEL

แกน - 1

cpu_fallback

ไม่ต้องใช้ GPU ใช้ ThreadPool

circle-info

หน่วยความจำรวม Jetson: อุปกรณ์ Jetson แบ่งปันหน่วยความจำ GPU และ CPU Jetson Orin NX 16GB รายงาน VRAM ประมาณ 15.3GB แต่นี่เป็น RAM จริงแบบเดียวกับที่ใช้โดยกระบวนการ OS และ CPU Chloros คำนึงถึงสิ่งนี้เมื่อตั้งค่าเกณฑ์การจัดสรรหน่วยความจำ


การจัดสรรหน่วยความจำ GPU แบบไดนามิก

Chloros ใช้ ไปป์ไลน์การประมวลผล 4 เธรด:

  • เธรด 1 (การตรวจจับ) — การโหลดรูปภาพ, การแยกวิเคราะห์ EXIF, การตรวจจับเป้าหมาย

  • เธรด 2 (การปรับเทียบ) — การคำนวณการปรับเทียบการสะท้อนแสง

  • เธรด 3 (กำลังประมวลผล) — การดีบาย GPU, การแก้ไขขอบมืด, การคำนวณดัชนี

  • Thread 4 (ส่งออก) — การเขียนไฟล์ การฝังข้อมูลเมตา

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

ขั้นตอนการจัดสรร

เวที
กระทู้ที่ใช้งานอยู่
การกระจายหน่วยความจำ GPU

ต้น

1, 2, 3, 4

แยกข้ามกระทู้ทั้งหมด

กลาง-ต้น

2, 3, 4

เธรด 1 หน่วยความจำถูกแจกจ่ายซ้ำ

กลาง-สาย

3, 4

เธรด 1+2 หน่วยความจำไปที่ 3+4

สาย

3 หรือ 4

หน่วยความจำสูงสุดสำหรับเธรดที่เหลือ

การประมวลผลการรับรู้พื้นผิว

วิธีการ debayer ของ Texture Aware (Chloros+ เท่านั้น) ใช้หน่วยความจำ GPU มากกว่าวิธีมาตรฐานอย่างมาก เนื่องจากโมเดลการลดสัญญาณรบกวน AI/ML:

  • ระบบที่มี < 7GB VRAM ถูกบังคับให้เข้าสู่ลูปการประมวลผลแบบซิงโครนัสสำหรับโหมด Texture Aware (ทีละภาพ)

  • ระบบที่มี 7GB+ VRAM สามารถประมวลผล Texture Aware ได้พร้อมกัน แม้ว่าจำนวนคนทำงานจะลดลงเมื่อเทียบกับรุ่นมาตรฐาน***

การจัดการความร้อน (Jetson)

อุปกรณ์ Jetson มีข้อจำกัดด้านความร้อน โดยเฉพาะอย่างยิ่งในการใช้งานแบบปิดหรือทางอากาศ Chloros ตรวจสอบอุณหภูมิ GPU และ CPU และปรับการประมวลผลโดยอัตโนมัติ:

อุณหภูมิ
ตอบกลับ

< 70°C

การทำงานปกติ — ความเร็วเต็มที่

70°C (คำเตือน)

ลดขนาดแบทช์

80°C (วิกฤต)

การควบคุมปริมาณเชิงรุก — การทำงานพร้อมกันลดลงและจำนวนผู้ปฏิบัติงาน

90°C (ปิดเครื่อง)

หยุดการประมวลผล GPU ทั้งหมด

การตรวจสอบอุณหภูมิใช้ tegrastats บนแพลตฟอร์ม Jetson บนระบบเดสก์ท็อปที่มีการระบายความร้อนที่เพียงพอ การควบคุมปริมาณความร้อนแทบจะไม่เกิดขึ้น


การจัดการความดันหน่วยความจำ

Chloros ตรวจสอบความดันหน่วยความจำระบบระหว่างการประมวลผล:

  • เกณฑ์หน่วยความจำ: การใช้งาน 85% กระตุ้นให้เกิดพฤติกรรมแบบอนุรักษ์นิยม

  • การลด OOM: หากเกิดเหตุการณ์หน่วยความจำไม่เพียงพอ การจัดสรรจะลดลง 25% (ตัวคูณ 0.75x)

  • Pipeline fallback: ภายใต้แรงกดดันด้านหน่วยความจำที่รุนแรง ไปป์ไลน์จะถอยกลับจาก fused_gpu เป็น tiled_gpu โดยอัตโนมัติ

  • คำแนะนำในการแลกเปลี่ยน: บน Jetson Chloros จะเตือนคุณหากพื้นที่สว็อปไม่เพียงพอสำหรับขนาดชุดข้อมูลของคุณ***

การตรวจสอบการปรับตัวของคอมพิวเตอร์

เอาต์พุตสถานะ CLI

เมื่อการประมวลผลเริ่มต้น CLI จะแสดงโปรไฟล์ฮาร์ดแวร์ที่ตรวจพบ:

การวินิจฉัยระบบ

เรียกใช้ chloros-cli selftest เพื่อดูโปรไฟล์ฮาร์ดแวร์ทั้งหมดและตรวจสอบความสามารถในการประมวลผล:

ซึ่งจะตรวจสอบความพร้อมใช้งาน CUDA, หน่วยความจำ GPU, รุ่น denoiser และการเชื่อมต่อแบ็กเอนด์


ขั้นตอนต่อไป

Last updated