Підключіть GPU до Raspberry pi


15

Я хочу підключити GPU GT640 до моделі Raspberry pi B. Я знаю, що немає прямого зв’язку, і дані про транфер є дуже різними, але. Чи є шанс підключити цей пристрій, щоб скористатися потужністю обробки процесора? не потрібно мати спілкування в режимі реального часу, але чи це можливо в теорії?


Я планую використовувати MCS9990 (PCIe до 4-портового хост-контролера USB 2.0), щоб зробити плату, яка з'єднує GT640 PCI 3.0 16x з RPi USB 2.0. Я думаю, що єдиною складністю є драйвер цього чіпа, але я встиг його розробити. Якщо я реалізую це, що з іншим програмним забезпеченням (CUDA та драйвер GForce) вони працюють над драйвером плати?
Артуро Верас

Я знайшов інтерфейс, який зробить роботу. Це PCI Express Gen 2 до USB 3.0 периферійного контролера. Він має один порт PCI Express Gen 2 x1 та один клієнтський порт USB 3.0 SuperSpeed. Я знаю, що USB 3.0 також підтримує USB 2.0: + високошвидкісний USB ( USB 2.0 ) 480 Мбіт / с + USB SuperSpeed ​​( USB 3.0 ) 5 Гбіт / с + зовнішній PCI Express 2.0 × 1 4 Гбіт / с + зовнішній PCI Express 3.0 × 16 32 Гбіт / с Я буду обмежений портом USB 2.0 Raspberry pi.
Артуро Верас

3
Тоді я серйозно пропоную вам уникнути спроб зробити це
nagyben

Програмування драйверів дуже складно, особливо коли це те, що ніколи раніше не робилося
nagyben

Основним процесором Raspberry Pi вже є графічний процесор на базі VideoCore IV.
Еркін Альп Гюней

Відповіді:


3

майже неможливо.

вам краще спробувати використовувати дешеву коробку для ПК, тому що дуже великий ризик обсмажити ваш GT640 та / або Raspberry Pi.


Чому альмос неможливий? Я думав використовувати PCIe для мікросхем адаптера usb типу MCS9901CV-CC, я хочу спробувати зворотний шлях.
Артуро Верас

@ArturoVeras, оскільки ці пристрої не повинні з'єднуватися та / або використовуватися разом. не кажучи вже про відсутніх драйверах та програмному забезпеченні, про які ви повинні написати, продуктивність буде ненормальною, і це може спричинити суперечки.
lenik

Можливо, я пропускаю суть. Виправте мене, якщо я помиляюся, ідея полягає в тому, щоб підключити малину, дещо як, до GPU. Пізніше ми можемо зробити кластер з цим і мати більше потужності в процесі. Ідея полягає в тому, щоб не скористатися швидкістю передачі PCIe замість тисячі ядер GPU. Отже, якщо я можу спілкуватися, використовуючи чип GPIO, наприклад MCS9901CV, це буде чудово, тому що це означає, що я можу додати більше Raspberry pi і зробити кластер і вуаля !.
Артуро Верас

1
@ArturoVeras вам вдалося підключити якийсь простіший процесор до RaspPi GPIO і розумно спілкуватися з ним? Я погоджуюся з lenik, що це надзвичайно важке завдання (спочатку вивчіть архітектуру PCIe та спілкування GPU), і користь дуже мала. Можливо, спочатку спробуйте спілкуватися з GPU, підключеним безпосередньо до шини PCIe на вашому ПК.
ssavec

Ні, я ні. Я вивчаю протокол PCIe і бачу, чи можу я спілкуватися з Raspberry pi GPIO. Що ви думаєте про використання PE4L-PM060A ?, Це адаптер PCIe до mPCIe. Я зауважую, що інтерфейс PCI 1x лише зменшує пропускну здатність PC1 16x, я не проти цього. Такі речі можуть допомогти мені, тому що я можу використовувати плату розвитку, яка має інтерфейс mPCIe.
Артуро Верас

3

Це можливо, але врахуйте, що вам потрібно буде написати власні драйвери та розібратися з проблемами живлення, тому що я сумніваюся, що RasPi зможе самостійно живити повний PCI / PCI-E GPU. Будь ласка, майте на увазі, що процесор також вплине на потужність графічного процесора, тому, можливо, вам доведеться дослідити, перш ніж спробувати. <--- Додаючи до цього, ви можете використовувати кабель стояка, що працює на 1x 16x, зазвичай використовується в гірничих установах gpu. Є й інші живлення стоякових кабелів, які також використовують адаптерні карти для USB.


Це моє питання зараз, питання влади. Які проблеми я маю на увазі, якщо хочу використовувати зовнішній блок живлення для GPU?
Артуро Верас

1

Ви можете використовувати startKIT, який має слот для карт PCI Express x1, який ви можете використовувати для інтерфейсу до відповідного GPU (можливо, вам доведеться писати власні драйвери), і це може потім взаємодіяти з Pi, хоча заголовок GPIO.

Отже, коротше: так, ви можете, все обладнання для цього є і є доступним. Все, що вам потрібно зробити, - це написати логіку клею, але не сподівайтеся, що це буде просто.


Можливо, підключення GPIO до PCIe з MCS9901?
Артуро Верас

StartKIT додає лише апаратний інтерфейс між PCIe та de RPi? Драйвери, які ви згадуєте, повинні бути записані в startKit або в RPi? У чому складність програмування драйвера?
Артуро Верас

Напевно, дуже важко. Я насправді не впевнений, наскільки це можливо, але теоретично з startKIT у вас буде необхідне обладнання та середовище, щоб робити те, що ви хочете.

1
Що ти думаєш про USB 2380 . Здається, це рішення, єдина проблема полягає в тому, що GT640 - це 16x PCIe, а USB 2380 - для 1x PCIe, але я думаю, це зовсім не проблема.
Артуро Верас

@ArturoVeras Важко сказати, не маючи доступу до деталей продукту, але здається, що це повинно бути можливим, все-таки очікуйте, що це буде складно. Крім того, ви, мабуть, не зможете отримати повне використання потужності карт, коли в будь-якому випадку Pi є хостом.

1

Отже, щоб розбудити мертву нитку, я б не робив цього на Raspberry Pi особисто. Я рекомендував би принаймні Pi 3 з адаптером mPCIe до PCIe, призначеним для настільних графічних процесорів і живиться від спеціалізованого джерела живлення. Також вам потрібно переконатися, що версія Linux має підтримку драйверів для неї; якщо немає драйверів, хтось повинен їх писати, і це може зайняти кілька місяців за допомогою потрібних активів та вихідного коду. Це можливо зробити на 100%, але вам, мабуть, доведеться бути достатньо талановитим, щоб написати це для громади, якщо цього ще не було зроблено.


Звичайно, будь-які драйвери Linux, що випускають NVidia, будуть орієнтовані на апаратне забезпечення, подібне до ПК - я не можу повірити, що ОП зможе отримати пропускну здатність даних, щоб зробити що-небудь корисне, замість FPS (кадри в секунду) навіть припускаючи, що він може отримати будь-який корисний показ дисплея, я б обміняв, що він буде вимірюватися в FPM або PFH! 8-)
SlySven

Також NVidia поширює лише закриті двійкові файли, а не драйвери з відкритим вихідним кодом (так само, як ми отримуємо лише бінарні краплі, які використовуються на RPi для роботи з графічним процесором), що робить драйвери, що розвиваються, набагато складніше, якщо не неможливо ... IMHO .
SlySven

Це також вірно і його слід враховувати. Будь-який код, який ви можете знайти та реверсувати інженеру для pi 3, повинен бути дорогим. Ймовірно, для створення рішення знадобиться команда етичних хакерів або кілька компаній. У будь-якому сенсі було б цікаво і прикордонно бачити.
Robschwab1

0

Ще одна проблема, з якою ви стикаєтеся, полягає в тому, що процесор буде вузьким місцем для відеокарти, оскільки вона працює на частоті всього 700 МГц. Я б спробував це зі значно дешевшим GT 210 (який ви можете знайти за $ 20 - $ 30). Щодо ваших драйверів, ви можете знайти драйвери з відкритим кодом Nvidia та компілювати їх на ARM.


У чому полягає конкретна проблема цього? Мені просто потрібні деякі обчислення від GPU, мені не потрібні додатки в режимі реального часу.
Артуро Верас

Що з цією карткою? SBC-A510 Одноплатний комп'ютер . Він має 800 МГц процесор і пропонує PCIe 1x слот.
Артуро Верас

0

Просто натикаючись на стару нитку. Це майже неможливо, але головна причина - капіталізм і бюрократія, а не написання водіїв.

Звичайно, писати водіїв дуже складно, але працювати з епічною командою, і це було б зроблено до сходу сонця.

Ще важче буде отримати доступ до існуючих вихідних кодів для всієї відеокарти, а може бути, навіть вихідних кодів або для BCM2835, BCM2836, або BCM2837 (Pi 1, 2 і 3 відповідно). Вам потрібні ті, щоб дізнатись, як картки працюють зсередини, і знайти спосіб взаємодіяти між собою.

Вам доведеться бути OEM, щоб отримати навіть навіть шанс отримати вихідні коди. Навіть фонд Raspberry Pi сама була у зазнає труднощів з тим , і повинен осісти на попередньо скомпільовані згустку взаємодіяти з процесором і GPU.

Вимоги до електроенергії взагалі не будуть проблемою, оскільки, до моменту, коли ви благаєте [назву компанії], ви б це вже зрозуміли. Ймовірно, ПК-блок живлення підключений до відеокарти, а також живить Pi через 5V-рейку.


0

MCS9990 - це міст PCIe до USB / ISA, призначений для забезпечення додаткових портів USB / ISA / GPIO в системі з інтерфейсом PCIe. Його не можна використовувати для підключення пристрою PCIe до системи, яка має лише USB, наприклад, RPi. Тож такий підхід приречений з самого початку.


-1

Вашою єдиною проблемою будуть водії. Було б так круто, щоб змусити Nvidia GPU працювати над Pi, але це майже так важко, як створити власний GPU з нуля.

Люди праві, обладнання не є неможливим, але це буде схематично. Однак вам абсолютно потрібні водії. Навіть якби ви могли написати своє, вони не були б оптимізовані для того, щоб використовувати всі до швидкості та можливостей GPU.

Мені хотілося спробувати це зі старою Nvidia GForce, але я паршивий програміст, який не має досвіду злому обладнання.

Я подумав, що це довгий кадр, але я відправив електронну пошту NVidia одразу після виходу RTX, і запитав, чи вони збиратимуть драйвери для декількох графічних процесорів до Pi-2010 до 2010 року та роблять їх доступними для завантаження та повороту, або випуску вихідний код, щоб люди могли скласти себе. Очевидно, вони сказали "ні".

Тож ось у чому річ, у нас є зовнішні графічні процесори для ноутбуків ( без врахування витрат ), а Wi-Fi у новому Pi 3B + повинен бути швидким, чому б не зрозуміти, чи може це працювати?


Я не впевнений, чи це дає відповідь, чи це пропозиція, хоч і корисна.
Greenonline

@ Greenonline Це було призначено для пропозиції та відмови (Перечитайте останнє речення)
сріблястий срібло
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.