นี่คือคำสั่ง alt-nvidia-340-cuda-mps-control ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
nvidia-cuda-mps-control - โปรแกรมการจัดการ NVIDIA CUDA Multi Process Service
เรื่องย่อ
nvidia-cuda-mps-ควบคุม [-d]
DESCRIPTION
MPS เป็นบริการรันไทม์ที่ออกแบบมาเพื่อให้กระบวนการ MPI หลายตัวทำงานโดยใช้ CUDA
พร้อมกันบน GPU เดียวในลักษณะที่โปร่งใสสำหรับโปรแกรม MPI A CUDA
โปรแกรมทำงานในโหมด MPS ถ้าภูตควบคุม MPS กำลังทำงานอยู่บนระบบ
เมื่อเริ่มต้น CUDA ในโปรแกรม ไดรเวอร์ CUDA จะพยายามเชื่อมต่อกับ
ดีมอนควบคุม MPS หากความพยายามในการเชื่อมต่อล้มเหลว โปรแกรมจะทำงานต่อไปตามเดิม
ปกติจะไม่มีส.ส. อย่างไรก็ตาม หากการเชื่อมต่อพยายามไปที่ control daemon
สำเร็จ ไดรเวอร์ CUDA จะร้องขอให้ daemon เริ่มการทำงานของเซิร์ฟเวอร์ MPS ในนามของมัน
หากมีเซิร์ฟเวอร์ MPS ทำงานอยู่แล้ว และ ID ผู้ใช้ของกระบวนการเซิร์ฟเวอร์นั้นตรงกัน
ของกระบวนการไคลเอนต์ที่ร้องขอ ภูตควบคุมเพียงแจ้งไคลเอนต์
กระบวนการของมันซึ่งดำเนินการเชื่อมต่อกับเซิร์ฟเวอร์ หากไม่มีเซิร์ฟเวอร์ MPS
ทำงานอยู่บนระบบแล้ว ภูตควบคุมจะเรียกใช้เซิร์ฟเวอร์ MPS ด้วยตัวเดียวกัน
รหัสผู้ใช้ (UID) ของกระบวนการไคลเอนต์ที่ร้องขอ ถ้ามีเซิฟเวอร์ MPS อยู่แล้ว
ทำงานอยู่ แต่มี id ผู้ใช้ที่แตกต่างจากกระบวนการไคลเอ็นต์ การควบคุม daemon
ขอให้เซิร์ฟเวอร์ที่มีอยู่ปิดตัวลงทันทีที่ไคลเอ็นต์ทั้งหมดเสร็จสิ้น เมื่อ
เซิร์ฟเวอร์ที่มีอยู่ถูกยกเลิกแล้ว ภูตควบคุมจะเรียกใช้เซิร์ฟเวอร์ใหม่ด้วย ID ผู้ใช้
เช่นเดียวกับกระบวนการไคลเอ็นต์ที่อยู่ในคิว
เซิร์ฟเวอร์ MPS สร้างบริบท GPU ที่ใช้ร่วมกัน จัดการไคลเอนต์ และปัญหาทำงานกับ
GPU ในนามของลูกค้า เซิร์ฟเวอร์ MPS สามารถรองรับบริบท CUDA ไคลเอ็นต์ได้สูงสุด 16 ตัวที่a
เวลา. MPS มีความโปร่งใสสำหรับโปรแกรม CUDA ด้วยความซับซ้อนของการสื่อสารทั้งหมด
ระหว่างกระบวนการไคลเอนต์ เซิร์ฟเวอร์และภูตควบคุมที่ซ่อนอยู่ภายในไดรเวอร์
ไบนารี
ปัจจุบัน CUDA MPS พร้อมใช้งานบน Linux 64 บิตเท่านั้น ต้องใช้อุปกรณ์ที่รองรับ
Unified Virtual Address (UVA) และมีความสามารถในการประมวลผล SM 3.5 หรือสูงกว่า แอปพลิเคชั่น
ที่ต้องใช้ API ก่อน CUDA 4.0 ไม่ได้รับการสนับสนุนภายใต้ CUDA MPS ไม่รองรับ MPS ด้วย
ในการกำหนดค่าหลาย GPU โปรดใช้ CUDA_VISIBLE_DEVICES เมื่อเริ่มการควบคุม
daemon เพื่อจำกัดการมองเห็นในอุปกรณ์เดียว
OPTIONS
-d
เริ่มต้น MPS control daemon โดยถือว่าผู้ใช้มีสิทธิ์เพียงพอ (เช่น root)
-ชม, --ช่วยด้วย
พิมพ์ข้อความช่วยเหลือ
<ไม่ ข้อโต้แย้ง>
เริ่มส่วนต่อประสานผู้ใช้การจัดการส่วนหน้าไปยัง MPS control daemon ซึ่งต้องเป็น
เริ่มก่อน UI ส่วนหน้าจะคอยอ่านคำสั่งจาก stdin จนถึง EOF คำสั่งคือ
คั่นด้วยอักขระขึ้นบรรทัดใหม่ หากมีการออกและปฏิเสธคำสั่งที่ไม่ถูกต้อง ข้อผิดพลาด
ข้อความจะถูกพิมพ์ไปที่ stdout สถานะการออกของ UI ส่วนหน้าเป็นศูนย์ if
การสื่อสารกับภูตสำเร็จ ค่าที่ไม่เป็นศูนย์จะถูกส่งคืนหาก daemon เป็น
ไม่พบหรือการเชื่อมต่อกับ daemon เสียโดยไม่คาดคิด ดูคำสั่ง "ออก" ด้านล่าง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสถานะการออก
คำสั่งที่สนับสนุนโดยดีมอนควบคุม MPS:
get_server_list
พิมพ์รายการ PID ของเซิร์ฟเวอร์ MPS ทั้งหมด
start_server -uid โพสต์
เริ่มเซิร์ฟเวอร์ MPS ใหม่สำหรับผู้ใช้ที่ระบุ (โพสต์).
ปิดเซิร์ฟเวอร์ PID [-f]
ปิดเซิร์ฟเวอร์ MPS ด้วยให้ PID. เซิร์ฟเวอร์ MPS จะไม่ยอมรับสิ่งใหม่ใด ๆ
การเชื่อมต่อไคลเอ็นต์และออกเมื่อไคลเอ็นต์ปัจจุบันทั้งหมดตัดการเชื่อมต่อ -f ถูกบังคับ
ปิดทันที หากไคลเอนต์เรียกใช้เคอร์เนลที่ผิดพลาดซึ่งทำงานตลอดไป a
อาจจำเป็นต้องปิดเซิร์ฟเวอร์ MPS เนื่องจากเซิร์ฟเวอร์ MPS สร้างและ
ออก GPU ทำงานในนามของลูกค้า
get_client_list PID
พิมพ์รายการ PID ของไคลเอ็นต์ทั้งหมดที่เชื่อมต่อกับเซิร์ฟเวอร์ MPS พร้อมให้ PID.
เลิก [-t หมดเวลา]
ปิดกระบวนการดีมอนควบคุม MPS และเซิร์ฟเวอร์ MPS ทั้งหมด ภูตควบคุม MPS
หยุดรับไคลเอนต์ใหม่ขณะรอเซิร์ฟเวอร์ MPS และไคลเอนต์ MPS ปัจจุบัน
ที่จะเสร็จสิ้น ถ้า หมดเวลา ถูกระบุ (เป็นวินาที) daemon จะบังคับเซิร์ฟเวอร์ MPS
เพื่อปิดเครื่องหากยังคงทำงานอยู่หลังจาก หมดเวลา วินาที
คำสั่งนี้เป็นแบบซิงโครนัส UI ส่วนหน้ารอให้ daemon ปิด
จากนั้นส่งคืนสถานะการออกของ daemon สถานะการออกเป็นศูนย์ถ้าเซิร์ฟเวอร์ MPS ทั้งหมด
ได้ออกไปอย่างสง่างาม
และพวกเรา
CUDA_MPS_PIPE_DIRECTORY
ระบุไดเร็กทอรีที่มีไปป์ที่มีชื่อที่ใช้สำหรับการสื่อสารระหว่าง
การควบคุม MPS, เซิร์ฟเวอร์ MPS และไคลเอนต์ MPS ค่าของตัวแปรสภาพแวดล้อมนี้
ควรสอดคล้องกันในดีมอนควบคุม MPS และกระบวนการไคลเอ็นต์ MPS ทั้งหมด
ไดเร็กทอรีเริ่มต้นคือ /tmp/nvidia-mps
CUDA_MPS_LOG_DIRECTORY
ระบุไดเร็กทอรีที่มีล็อกไฟล์ MPS ตัวแปรนี้ถูกใช้โดย
MPS ควบคุมภูตเท่านั้น ไดเร็กทอรีเริ่มต้นคือ /var/log/nvidia-mps
ใช้ alt-nvidia-340-cuda-mps-control ออนไลน์โดยใช้บริการ onworks.net