เชื่อมต่อ GPU เข้ากับ Raspberry pi


15

ฉันต้องการเชื่อมต่อ GPU GT640 กับรุ่น Raspberry pi ฉันรู้ว่าไม่มีการเชื่อมต่อโดยตรงและข้อมูลผู้โอนมีความแตกต่างกันมาก มีโอกาสใดบ้างที่จะเชื่อมต่ออุปกรณ์นี้เพื่อใช้ประโยชน์จากพลังการประมวลผลของ GPU? ไม่จำเป็นต้องมีการสื่อสารตามเวลาจริง แต่เป็นไปได้ในทางทฤษฎี?


ฉันวางแผนที่จะใช้MCS9990 (โฮสต์คอนโทรลเลอร์ PCIe ถึง 4 พอร์ต USB 2.0) เพื่อสร้างบอร์ดที่เชื่อมต่อ GT640 PCI 3.0 16x กับ RPi USB 2.0 ฉันคิดว่าปัญหาเดียวคือไดรเวอร์ของชิปนั้น แต่ฉันมีเวลาพัฒนามัน หากฉันใช้สิ่งนี้ซอฟต์แวร์อื่น ๆ (ไดรเวอร์ CUDA และ GForce) จะทำงานบนไดร์เวอร์บอร์ดหรือไม่
Arturo Veras

ฉันพบอินเทอร์เฟซที่จะทำงาน เป็นตัวควบคุมอุปกรณ์ต่อพ่วงPCI Express Gen 2 ถึง USB 3.0 มีพอร์ต PCI Express Gen 2 x1 หนึ่งพอร์ตและพอร์ต USB 3.0 SuperSpeed ​​ไคลเอ็นต์หนึ่งพอร์ต ฉันรู้ว่า USB 3.0 รองรับ USB 2.0: + USB Hi-Speed ​​( USB 2.0 ) 480 Mbit / s + USB SuperSpeed ​​( USB 3.0 ) 5 Gbit / s + ภายนอกPCI Express 2.0 × 1 4 Gbit / s + ภายนอกPCI Express 3.0 × 16 32Gbit / s ฉันจะถูก จำกัด โดยพอร์ต USB 2.0 Raspberry pi
Arturo Veras

3
จากนั้นฉันขอแนะนำให้คุณหลีกเลี่ยงการทำเช่นนี้อย่างจริงจัง
nagyben

โปรแกรมควบคุมการเขียนโปรแกรมเป็นเรื่องยากมากโดยเฉพาะอย่างยิ่งเมื่อเป็นสิ่งที่ไม่เคยทำมาก่อน
nagyben

โปรเซสเซอร์หลักของ Raspberry Pi นั้นเป็น GPU ที่ใช้ VideoCore IV อยู่แล้ว
Erkin Alp Güney

คำตอบ:


3

แทบจะเป็นไปไม่ได้

คุณควรลองใช้กล่องพีซีราคาถูกแทนดีกว่าเพราะมีความเสี่ยงสูงที่จะทอด GT640 และ / หรือ Raspberry Pi ของคุณ


เหตุใดจึงไม่สามารถ almos ฉันคิดว่าจะใช้ชิปเซ็ตอะแดปเตอร์ PCIe กับ usb เช่น MCS9901CV-CC ฉันต้องการลองใช้วิธีกลับกัน
Arturo Veras

@ArturoVeras เพราะอุปกรณ์เหล่านี้ไม่ควรเชื่อมต่อและ / หรือใช้ร่วมกัน นับประสาไดรเวอร์ที่ขาดหายไปและซอฟต์แวร์ที่คุณต้องเขียนประสิทธิภาพจะสุดขั้วแสดงผลความพยายามทั้งหมดที่สงสัย
lenik

บางทีฉันอาจจะพลาดจุดนี้ แก้ไขให้ถูกต้องถ้าฉันคิดผิดความคิดคือการเชื่อมต่อราสเบอร์รี่กับ GPU ต่อมาเราสามารถทำคลัสเตอร์ด้วยสิ่งนี้และมีพลังในกระบวนการมากขึ้น แนวคิดนี้ไม่ได้ใช้ประโยชน์จากการส่งความเร็ว PCIe แทน GPUs พันคอร์ ดังนั้นถ้าฉันสามารถสื่อสารโดยใช้ GPIO oa chip เช่น MCS9901CV จะดีมากเพราะนั่นหมายความว่าฉันสามารถเพิ่ม Raspberry pi มากขึ้นและสร้างกลุ่มและ voila!
Arturo Veras

1
@ArturoVeras คุณจัดการการเชื่อมต่อโปรเซสเซอร์ที่ง่ายกว่าเข้ากับ RaspPi GPIO และสื่อสารกับมันอย่างสมเหตุสมผลหรือไม่? ฉันเห็นด้วยกับ lenik ว่ามันเป็นงานที่ยากมาก (ศึกษาสถาปัตยกรรม PCIe และการสื่อสาร GPU ก่อน) และประโยชน์มีน้อยมาก อาจเป็นการออกกำลังกายก่อนพยายามสื่อสารกับ GPU ที่เชื่อมต่อโดยตรงกับ PCIe บัสในพีซีของคุณ
ssavec

ไม่ฉันทำไม่ได้ ฉันกำลังศึกษาโปรโตคอล PCIe และดูว่าฉันสามารถสื่อสารกับ Raspberry pi GPIO ได้หรือไม่ คุณคิดอย่างไรกับการใช้PE4L-PM060Aเป็นอะแดปเตอร์ PCIe ถึง mPCIe ฉันสังเกตเห็นว่าอินเตอร์เฟส PCI 1x ลดแบนด์วิดท์ PC1 16x เท่านั้นฉันไม่คิดว่า สิ่งนี้สามารถช่วยฉันได้เพราะฉันสามารถใช้บอร์ดพัฒนาที่มีส่วนต่อประสาน mPCIe
Arturo Veras

3

เป็นไปได้ แต่โปรดระวังว่าคุณจะต้องเขียนไดรเวอร์ของคุณเองและแก้ไขปัญหาด้านพลังงานเพราะฉันสงสัยว่า RasPi จะสามารถใช้พลังงาน PCI / PCI-E GPU เต็มรูปแบบได้ด้วยตัวเอง โปรดอย่าลืมว่า CPU จะส่งผลต่อพลังของ GPU ดังนั้นจึงอาจเป็นความคิดที่จะทำการค้นคว้าก่อนที่คุณจะลอง <--- การเพิ่มเข้าไปนั้นคุณสามารถใช้สายเคเบิลไรเซอร์แบบ 1x ถึง 16x ที่ใช้กันทั่วไปในแท่นขุด gpu มีสายเคเบิลตัวอื่นที่ใช้พลังงานจากการ์ดอะแดปเตอร์สำหรับ USB ด้วยเช่นกัน


นั่นคือความกังวลของฉันในขณะนี้ปัญหาพลังงาน ปัญหาที่ฉันมีอยู่ในใจคืออะไรหากฉันต้องการใช้แหล่งจ่ายไฟภายนอกกับ GPU
Arturo Veras

1

คุณสามารถใช้ startKITซึ่งมีช่องเสียบการ์ด PCI Express x1 ซึ่งคุณสามารถใช้เพื่อเชื่อมต่อกับ GPU ที่เหมาะสม (คุณอาจต้องเขียนไดรเวอร์ของคุณเอง) และสิ่งนี้สามารถเชื่อมต่อกับ Pi แม้ว่าส่วนหัว GPIO

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


อาจเชื่อมต่อ GPIO กับ PCIe ด้วย MCS9901 หรือไม่
Arturo Veras

startKIT เพิ่มอินเตอร์เฟสฮาร์ดแวร์ระหว่าง PCIe และ de RPi เท่านั้น ไดรเวอร์ที่คุณพูดถึงจะต้องเขียนใน startKit หรือใน RPi? ความยากในการเขียนโปรแกรมควบคุมคืออะไร
Arturo Veras

อาจจะยากมาก ฉันไม่แน่ใจว่าเป็นไปได้จริง ๆ แต่ในทางทฤษฎีกับ startKIT คุณจะต้องมีฮาร์ดแวร์และสภาพแวดล้อมที่จำเป็นในการทำสิ่งที่คุณต้องการ

1
คุณคิดอย่างไรเกี่ยวกับUSB 2380 ดูเหมือนจะเป็นทางออกปัญหาเดียวคือ GT640 คือ 16x PCIe และ USB 2380 สำหรับ 1x PCIe แต่ฉันคิดว่านี่ไม่ใช่ปัญหาเลย
Arturo Veras

@ArturoVeras ยากที่จะพูดโดยไม่สามารถเข้าถึงรายละเอียดผลิตภัณฑ์ แต่ดูเหมือนว่ามันควรจะเป็นไปได้ยังคงคาดหวังว่ามันจะเป็นเรื่องยาก นอกจากนี้คุณอาจจะไม่สามารถใช้ประโยชน์จากพลังการ์ดได้เต็มที่เมื่อมันมี Pi เป็นโฮสต์อยู่ดี

1

ดังนั้นเพื่อปลุกด้ายที่ตายแล้วฉันจะไม่ทำกับ Raspberry Pi เป็นการส่วนตัว ฉันจะแนะนำอย่างน้อย Pi 3 ที่มีอะแดปเตอร์ mPCIe กับ PCIe ที่ออกแบบมาสำหรับเดสก์ท็อป GPU และใช้พลังงานจากแหล่งจ่ายไฟเฉพาะ นอกจากนี้คุณต้องตรวจสอบให้แน่ใจว่าเวอร์ชันของ Linux มีไดรเวอร์รองรับอยู่ หากไม่มีไดรเวอร์ที่ต้องเขียนและอาจต้องใช้เวลาเป็นเดือนและมีสินทรัพย์และซอร์สโค้ดที่ถูกต้อง เป็นไปได้ 100% ที่จะทำเช่นนี้ แต่คุณอาจต้องมีความสามารถพอที่จะเขียนให้กับชุมชนได้หากยังไม่ได้ดำเนินการ


แน่นอนว่าไดรเวอร์ Linux ที่ NVidia วางจำหน่ายจะถูกกำหนดเป้าหมายที่ฮาร์ดแวร์แบบ PC - ฉันไม่อยากเชื่อว่า OP จะสามารถรับปริมาณข้อมูลที่จะทำสิ่งที่มีประโยชน์แทน FPS (เฟรมต่อวินาที) ได้ สมมติว่าเขาจะได้รับผลการแสดงผลที่เป็นประโยชน์ฉันคิดว่ามันน่าจะวัดได้ใน FPM หรือ PFH! 8-)
SlySven

NVidia ยังกระจายไบนารีแบบปิดเท่านั้นแทนที่จะเป็นไดรเวอร์โอเพนซอร์ซโค้ด (ในแบบเดียวกับที่เราได้รับ blobs ไบนารีที่ใช้ใน RPi เพื่อใช้งาน GPU) ซึ่งทำให้การพัฒนาไดรฟ์เวอร์ยากขึ้นมากถ้าเป็นไปไม่ได้ ... IMHO .
SlySven

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

0

ปัญหาที่คุณเผชิญอีกประการหนึ่งคือ CPU จะทำให้เกิดปัญหาคอขวดการ์ดเนื่องจากมีการโอเวอร์คล็อกที่ 700 MHz เท่านั้น ฉันจะลองกับ GT 210 ที่ราคาถูกกว่ามาก (ซึ่งคุณสามารถหาได้ในราคา $ 20 - $ 30) เกี่ยวกับไดรเวอร์ของคุณคุณสามารถค้นหาไดรเวอร์ Nvidia โอเพ่นซอร์สและรวบรวมไว้ใน ARM


ปัญหาเฉพาะของสิ่งนี้คืออะไร ฉันต้องการการคำนวณจาก GPU ฉันไม่ต้องการแอปพลิเคชันแบบเรียลไทม์
Arturo Veras

แล้วการ์ดนี้ล่ะ? SBC-A510 คอมพิวเตอร์บอร์ดเดี่ยว มันมีซีพียู 800 MHz และมาพร้อมกับสล็อต PCIe 1x
Arturo Veras

0

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

แน่นอนว่าการเขียนไดรเวอร์เป็นเรื่องยากมาก แต่ทำงานกับทีมมหากาพย์และมันจะต้องทำก่อนพระอาทิตย์ขึ้น

ยิ่งยากขึ้นคือการเข้าถึงซอร์สโค้ดที่มีอยู่สำหรับการ์ดวิดีโอทั้งหมดและอาจเป็นซอร์สโค้ดสำหรับ BCM2835, BCM2836 หรือ BCM2837 (Pi 1, 2 และ 3 ตามลำดับ) คุณต้องการเรียนรู้วิธีการทำงานของการ์ดภายในและค้นหาวิธีการเชื่อมต่อกับการ์ดแต่ละใบ

คุณจะต้องเป็น OEM เพื่อให้ได้โอกาสที่จะได้รับซอร์สโค้ด แม้มูลนิธิ Raspberry Pi ตัวเองได้ มีมีปัญหากับเหล่านั้นและมีการตั้งถิ่นฐานอยู่บนหยดก่อนรวบรวมเพื่อติดต่อกับโปรเซสเซอร์และ GPU

ความต้องการด้านพลังงานจะไม่เป็นปัญหาอีกต่อไปเนื่องจากเมื่อคุณขอ [ชื่อ บริษัท ] คุณจะได้รู้แล้ว น่าจะเป็น PC PSU ที่เชื่อมต่อกับการ์ดแสดงผลและให้อำนาจ Pi ผ่านทางรถไฟ 5V


0

MCS9990 เป็นบริดจ์ PCIe to USB / ISA ออกแบบมาเพื่อให้พอร์ต USB / ISA / GPIO เพิ่มเติมบนระบบที่มีอินเตอร์เฟส PCIe ไม่สามารถใช้เชื่อมต่ออุปกรณ์ PCIe กับระบบที่มี USB เช่น RPi เท่านั้น ดังนั้นวิธีการนี้จะถึงวาระตั้งแต่ต้น


-1

ปัญหาเดียวของคุณคือไดรเวอร์ มันจะเจ๋งมากที่จะให้ Nvidia GPU ทำงานบน Pi ได้ แต่มันก็ยากพอ ๆ กับการสร้าง GPU ของคุณเองตั้งแต่เริ่มต้น

ผู้คนพูดถูกฮาร์ดแวร์ไม่เป็นไปไม่ได้ แต่จะเป็นภาพร่าง อย่างไรก็ตามคุณต้องมีไดรเวอร์อย่างแน่นอน แม้ว่าคุณจะสามารถเขียนของคุณเองพวกเขาจะไม่ได้รับการปรับให้เหมาะกับความเร็วและฟีเจอร์ต่าง ๆ ของ GPU

ฉันต้องการทดลองใช้กับ Nvidia GForce รุ่นเก่า แต่ฉันเป็นนักเขียนโปรแกรมที่ไม่มีประสบการณ์การแฮ็กฮาร์ดแวร์

ฉันคิดว่ามันเป็นช็อตที่ยาวนาน แต่ฉันส่งอีเมล NVidia หลังจากเปิดตัว RTX และถามว่าพวกเขาจะรวบรวมไดรเวอร์สำหรับ GPU Pre-2010 เพียงไม่กี่ตัวสำหรับ Pi และทำให้พวกเขาพร้อมที่จะดาวน์โหลดและคนจรจัดด้วยหรือปล่อย รหัสที่มาสำหรับคนที่จะรวบรวมตัวเอง เห็นได้ชัดว่าพวกเขาพูดว่า "ไม่"

ดังนั้นนี่คือสิ่งที่เรามี GPU ภายนอกสำหรับแล็ปท็อป ( ค่าใช้จ่ายที่ไม่ต้องสนใจ ) และ Wi-Fi ใน Pi 3B + ใหม่ควรจะรวดเร็วทำไมไม่ลองดูว่ามันจะทำงานได้ไหม?


ฉันไม่แน่ใจว่านี่จะให้คำตอบหรือเป็นคำแนะนำแม้ว่าจะเป็นประโยชน์
Greenonline

@ Greenonline นี่เป็นจุดประสงค์เพื่อเป็นข้อเสนอแนะและผู้ให้คำปรึกษา (อ่านประโยคสุดท้าย)
lockheed silverman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.