라즈베리 파이에 GPU 연결


15

GPU GT640을 Raspberry pi 모델 B에 연결하고 싶습니다. 직접 연결이없고 전송 데이터가 매우 다르다는 것을 알고 있습니다. GPU 처리 능력을 이용하기 위해이 장치를 연결할 기회가 있습니까? 실시간 의사 소통을 할 필요는 없지만 이론 상으로는 가능합니까?


GTCS PCI 3.0 16x와 RPi USB 2.0을 연결하는 보드를 만들기 위해 MCS9990 (PCIe to 4-Port USB 2.0 호스트 컨트롤러) 을 사용할 계획 입니다. 나는 유일한 어려움은 그 칩의 드라이버라고 생각하지만 그것을 개발할 시간이있다. 이것을 구현하면 보드 드라이버 위에서 작동하는 다른 소프트웨어 (CUDA 및 GForce 드라이버)는 어떻습니까?
Arturo Veras

작업을 수행 할 인터페이스를 찾았습니다. 그것은이다 USB 3.0 PCI 익스프레스 2 세대를 주변 장치 컨트롤러. 1 개의 PCI Express Gen 2 x1 포트와 1 개의 USB 3.0 SuperSpeed ​​클라이언트 포트가 있습니다. + USB 고속 (: 그 USB 3.0은 또한 USB 2.0 지원 알 USB 2.0 ) 480 메가 비트는 / S + USB 슈퍼 스피드를 ( USB 3.0 ) 5 기가비트 / s의 + 외부 PCI 익스프레스 2.0 × 1 4 기가비트 / s의 + 외부 PCI 익스프레스 3.0 × 16 32Gbit / s USB 2.0 Raspberry pi 포트에 의해 제한됩니다.
Arturo Veras

3
그런 다음 진지하게 제안하지 마십시오
nagyben

특히 이전에는 해보지 못한 무언가를 프로그래밍하는 것은 매우 어렵습니다.
nagyben

라즈베리 파이의 메인 프로세서는 이미 VideoCore IV 기반의 GPU입니다.
Erkin Alp Güney

답변:


3

거의 불가능한.

GT640 및 / 또는 Raspberry Pi를 튀길 위험이 매우 높기 때문에 대신 저렴한 PC 상자를 사용하는 것이 좋습니다.


왜 almos가 불가능합니까? MCS9901CV-CC와 같은 PCIe 대 USB 어댑터 칩셋을 사용하려고 생각하고 반대의 방법으로 시도하고 싶습니다.
Arturo Veras

@ArturoVeras는 이들 장치가 연결 및 / 또는 함께 사용되어서는 안되기 때문입니다. 누락 된 드라이버와 소프트웨어를 작성해야 할지라도 성능은 끔찍할 것이므로 전체적인 노력이 필요합니다.
lenik

어쩌면 나는 요점을 놓치고있다. 내가 틀렸다면 정정하십시오. 아이디어는 라즈베리를 어떻게 든 GPU에 연결하는 것입니다. 나중에 우리는 이것으로 클러스터를 만들고 더 많은 프로세스 파워를 가질 수 있습니다. 아이디어는 GPU 수천 개의 코어 대신 전송 PCIe 속도를 활용하지 않는 것입니다. 따라서 MCS9901CV와 같은 GPIO oa 칩을 사용하여 통신 할 수 있다면, 더 많은 라즈베리 파이를 추가하고 클러스터와 짜잔을 만들 수 있기 때문에 좋을 것입니다!.
Arturo Veras

1
@ArturoVeras는 더 간단한 프로세서를 RaspPi GPIO에 연결하고 합리적으로 통신 할 수 있었습니까? lenik에 동의합니다. 이는 매우 어려운 작업 (PCIe 아키텍처 및 GPU 통신을 먼저 연구)이며 그 이점은 매우 작습니다. 운동으로 먼저 PC의 PCIe 버스에 직접 연결된 GPU와 통신을 시도하십시오.
ssavec

아뇨. PCIe 프로토콜을 연구하고 있는데 Raspberry pi GPIO와 통신 할 수 있는지 확인합니다. PE4L-PM060A ? 사용에 대한 생각은 PCIe - mPCIe 어댑터입니다. PCI 1x 인터페이스는 PC1 16x 대역폭 만 줄인다는 것을 알았습니다. mPCIe 인터페이스가있는 개발 보드를 사용할 수 있기 때문에 이런 종류의 것들이 도움이 될 수 있습니다.
Arturo Veras

3

가능하지만 RasPi가 자체적으로 전체 PCI / PCI-E GPU에 전원을 공급할 수있을 것 같지 않기 때문에 자체 드라이버를 작성하고 전원 문제를 분류해야합니다. CPU도 GPU의 성능에 영향을 미치므로 시도하기 전에 조사하는 것이 좋습니다. <--- 여기에 추가로, GPU 채굴 장비에서 일반적으로 사용되는 1x ~ 16x 전원 라이저 케이블을 사용할 수 있습니다. USB 용 어댑터 카드를 사용하는 다른 전원 공급 라이저 케이블도 있습니다.


전력 문제는 지금 저의 관심사입니다. GPU에 외부 전원 공급 장치를 사용하려는 경우 염두에 두어야 할 문제는 무엇입니까?
Arturo Veras

1

적절한 GPU에 인터페이스하는 데 사용할 수있는 PCI Express x1 카드 슬롯이 있는 startKIT 를 사용할 수 있으며 (자체 드라이버를 작성해야 할 수도 있음) GPIO 헤더를 통해 Pi와 인터페이스 할 수 있습니다.

간단히 말해 : 가능합니다. 모든 하드웨어가 존재하고 쉽게 사용할 수 있습니다. 접착제 로직을 작성하기 만하면되지만 쉽지는 않습니다.


MCS9901을 사용하여 GPIO를 PCIe에 연결할 수 있습니까?
Arturo Veras

startKIT는 PCIe와 de RPi 사이에 하드웨어 인터페이스 만 추가합니까? 언급 한 드라이버는 startKit 또는 RPi에 작성해야합니까? 드라이버 프로그래밍의 어려움은 무엇입니까?
Arturo Veras

아마 매우 어려울 것입니다. 실제로 이것이 가능한지 확실하지 않지만 startKIT와 이론적으로 원하는 것을 수행하는 데 필요한 하드웨어와 환경이 있습니다.

1
USB 2380 에 대해 어떻게 생각하십니까 ? 해결책은 GT640이 16x PCIe이고 USB 2380이 1x PCIe를위한 것입니다. 그러나 이것이 전혀 문제가되지 않는다고 생각합니다.
Arturo Veras

@ArturoVeras 제품 세부 사항에 액세스 할 수 없지만 말하기는 어렵지만 여전히 가능해야 할 것 같습니다. 어쨌든 파이를 호스트로 사용하면 카드 전원을 최대한 활용할 수 없을 것입니다.

1

그래서 죽은 실을 깨우기 위해 개인적으로 Raspberry Pi에서하지 않을 것입니다. 데스크탑 GPU 용으로 설계되고 전용 전원 공급 장치로 전원을 공급받는 mPCIe 대 PCIe 어댑터가있는 Pi 3 이상을 권장합니다. 또한 Linux 버전에서 드라이버를 지원하는지 확인해야합니다. 드라이버를 작성해야 할 사람이 없으면 올바른 자산과 소스 코드로 몇 달이 걸릴 수 있습니다. 이 방법으로 100 % 가능하지만 커뮤니티가 아직 작성하지 않은 경우 커뮤니티에 쓸 수있을만큼 재능이 있어야합니다.


물론 NVidia 릴리스의 모든 Linux 드라이버는 PC와 같은 하드웨어를 대상으로합니다. OP는 FPS (초당 프레임) 대신 유용한 데이터 처리량을 얻을 수 있다고 생각할 수 없습니다. 그가 유용한 디스플레이 출력을 얻을 수 있다고 가정하면 FPM 또는 PFH로 측정됩니다! 8-)
SlySven

또한 NVidia는 오픈 소스 코드 드라이버가 아닌 닫힌 바이너리를 배포합니다 (RPI에서 GPU를 작동하기 위해 RPi에 사용되는 바이너리 블롭 만 얻는 것과 같은 방식으로). .
SlySven

이것은 또한 사실이므로 고려해야합니다. pi 3을 찾아 리버스 엔지니어링 할 수있는 코드는 소중히 간직해야합니다. 아마도 솔루션을 만들기 위해 윤리적 해커 또는 소수의 회사로 구성된 팀이 필요할 것입니다. 어떤 의미에서든 재미 있고 경계선이 재미있을 것입니다.
Robschwab1

0

또 다른 문제는 CPU가 그래픽 카드가 700MHz로만 클럭되기 때문에 병목 현상이 발생한다는 것입니다. 나는 훨씬 저렴한 GT 210으로 이것을 시도 할 것입니다 ($ 20-$ 30 동안 찾을 수 있습니다). 드라이버와 관련하여 오픈 소스 Nvidia 드라이버를 찾아 ARM에서 컴파일 할 수 있습니다.


이것에 대한 구체적인 문제는 무엇입니까? GPU에서 약간의 계산이 필요하며 실시간 응용 프로그램이 필요하지 않습니다.
Arturo Veras

이 카드는 어떻습니까? SBC-A510 싱글 보드 컴퓨터 . CPU는 800MHz이며 PCIe 1x 슬롯이 있습니다.
Arturo Veras

0

오래된 실에 부딪히는 것뿐입니다. 거의 불가능하지만 주된 이유는 운전자를 쓰지 않고 자본주의와 관료주의입니다.

물론 드라이버 작성은 매우 어렵지만 서사적 인 팀과 함께 작업하면 일출 전에 완료됩니다.

전체 비디오 카드의 기존 소스 코드 및 BCM2835, BCM2836 또는 BCM2837 (각각 Pi 1, 2 및 3)의 소스 코드에 액세스하는 것이 더 어려울 수 있습니다. 카드가 어떻게 작동하는지 배우고 카드와 상호 작용하는 방법을 찾아야합니다.

심지어 소스 코드를 얻을 수있는 기회를 얻으려면 OEM이어야합니다. 자체에도 라즈베리 파이 재단 했다가 그와 함께 어려움을 가지고 있으며, 프로세서 및 GPU와 인터페이스 할 수있는 미리 컴파일 된 덩어리에 정착한다.

[회사 이름]을 구걸 할 때까지 전원 요구 사항은 전혀 문제가되지 않습니다. 아마도 PC PSU가 비디오 카드에 연결되어 있고 5V 레일을 통해 Pi에 전원을 공급할 수도 있습니다.


0

MCS9990은 PCIe-USB / ISA 브리지로 PCIe 인터페이스가있는 시스템에서 추가 USB / ISA / GPIO 포트를 제공하도록 설계되었습니다. RPi와 같이 USB 만있는 시스템에는 PCIe 장치를 연결하는 데 사용할 수 없습니다. 따라서이 접근 방식은 처음부터 끝났습니다.


-1

유일한 문제는 드라이버입니다. Nvidia GPU가 Pi에서 작동하게하는 것은 매우 멋진 일이지만, 자신 만의 GPU를 처음부터 구축하는 것만 큼 어렵습니다.

사람들은 옳습니다. 하드웨어는 불가능하지는 않지만 스케치입니다. 그러나 운전자는 절대적으로 필요합니다. 직접 작성해도 GPU의 속도와 기능을 모두 활용하도록 최적화되지는 않았습니다.

나는 오래된 Nvidia GForce로 이것을 시도하고 싶었지만 하드웨어 해킹 경험이없는 형편없는 프로그래머입니다.

나는 그것이 긴 샷이라고 생각했지만 RTX가 출시 된 직후 NVidia에 이메일을 보냈고 Pi를 위해 2010 이전의 몇 GPU에 대한 드라이버를 컴파일하고 다운로드하여 땜질 하거나 릴리스 할 수 있는지 물었습니다. 사람들이 스스로 컴파일 할 수있는 소스 코드. 분명히 그들은 "아니오"라고 말했습니다.

그래서 여기에, 우리는 랩탑 용 외장 GPU ( 비용 무시 )가 있으며 새로운 Pi 3B +의 Wi-Fi는 빠르다고 가정합니다.


유용한 답변이지만 이것이 답변을 제공하는지 또는 제안인지 확실하지 않습니다.
Greenonline

Greenonline이 제안하고 aswer (다시 읽기 마지막 문장)을 의도 된 @
록히드 실버
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.