Подключите графический процессор в Raspberry Pi


15

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


Я планирую использовать MCS9990 (хост-контроллер PCIe-4-Port 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.
Артуро Верас

3
Тогда я серьезно советую вам избегать попыток сделать это
nagyben

Программирование драйверов очень сложно, особенно когда это то, чего раньше никогда не делали
nagyben

Основным процессором Raspberry Pi уже является графический процессор на основе VideoCore IV.
Эркин Алп Гюней

Ответы:


3

почти невозможно.

лучше вместо этого использовать дешевый компьютерный бокс, потому что есть очень высокий риск жарить ваш GT640 и / или Raspberry Pi.


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

@ArturoVeras, потому что эти устройства не должны быть подключены и / или использоваться вместе. не говоря уже о недостающих драйверах и программном обеспечении, которое вы должны написать, производительность будет ужасной, что сделает весь процесс спорным.
ленник

Может быть, я упускаю суть. Поправьте меня, если я не прав, идея состоит в том, чтобы подключить Rasberry, кое-как, к GPU. Позже мы можем сделать кластер с этим и иметь больше вычислительной мощности. Идея состоит не в том, чтобы использовать преимущества скорости передачи PCIe вместо тысячи графических процессоров. Так что, если я смогу общаться, используя GPIO или чип, такой как MCS9901CV, это будет здорово, потому что это означает, что я могу добавить больше Raspberry pi и создать кластер и вуаля !.
Артуро Верас

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

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

3

Это было бы возможно, но имейте в виду, что вам нужно будет написать свои собственные драйверы и разобраться с проблемами с питанием, потому что я сомневаюсь, что RasPi сможет питать полноценный графический процессор PCI / PCI-E самостоятельно. Также имейте в виду, что процессор также влияет на мощность графического процессора, поэтому, возможно, стоит попробовать изучить его, прежде чем пытаться. <--- В дополнение к этому вы можете использовать переходной кабель с питанием от 1x до 16x, обычно используемый в буровых установках gpu. Существуют и другие переходные кабели с питанием, в которых также используются адаптерные карты для USB.


Это моя забота сейчас, вопросы власти. Какие проблемы я имею в виду, если я хочу использовать внешний блок питания для графического процессора?
Артуро Верас

1

Вы можете использовать startKIT, который имеет слот для карты PCI Express x1, который вы можете использовать для взаимодействия с подходящим графическим процессором (вам, вероятно, придется писать свои собственные драйверы), и тогда он может взаимодействовать с 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, будут нацелены на аппаратные средства, подобные ПК - я не могу поверить, что OP сможет получить пропускную способность для данных, что-то полезное, вместо 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 через 5В шину.


0

MCS9990 - это мост PCIe-USB / ISA, разработанный для предоставления дополнительных портов USB / ISA / GPIO в системе с интерфейсом PCIe. Его нельзя использовать для подключения устройства PCIe к системе, которая имеет только USB, например RPi. Так что этот подход обречен с самого начала.


-1

Ваша единственная проблема - водители. Было бы круто заставить работать графический процессор Nvidia на Pi, но это почти так же сложно, как создать собственный графический процессор с нуля.

Люди правы, аппаратная часть не невозможна, но она будет отрывочной. Однако вам абсолютно необходимы драйверы. Даже если бы вы могли написать свои собственные, они не были бы оптимизированы для использования всех возможностей и скорости графического процессора.

Я хотел попробовать это на старой Nvidia GForce, но я паршивый программист без опыта взлома оборудования.

Я подумал, что это был долгий путь, но я написал NVidia по электронной почте сразу после выпуска RTX и спросил, будут ли они либо скомпилировать драйверы для нескольких GPU до 2010 года для Pi и сделать их доступными для загрузки и настройки, либо выпустить исходный код для людей, чтобы скомпилировать себя. Очевидно, они сказали «нет».

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


Я не уверен, дает ли это ответ или является предложением, хотя и полезным.
Greenonline

@ Greenonline Это было предназначено, чтобы быть предложением и aswer (Перечитайте последнее предложение)
lockheed silverman
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.