I want to connect a GPU GT640 to a Raspberry pi model B. I know there is not a direct connection and the tranfer data are very differents but. Is there any chance to connect this devices in order to take advantage of GPU processing power? is not necessary to have a real time communication, but is this possible in theory?
8 Answers
almost impossible.
you'd better try to use cheap PC box instead, because there's a very high risk to fry your GT640 and/or Raspberry Pi.

- 11,541
- 1
- 30
- 37
-
Why is almos imposible ? i was thinking to use a PCIe to usb adapter chipset like MCS9901CV-CC, i want to try the inverse way. – Arturo Veras Jan 16 '14 at 20:28
-
@ArturoVeras because these devices are not supposed to be connected and/or used together. let alone the missing drivers and software you have to write, the performance would be abysmal, rendering the whole endeavour moot. – lenik Jan 16 '14 at 23:44
-
Maybe i am missing the point. Correct me if I'm wrong, the idea is to connect the raspberry, some how, to a GPU. Later we can do a cluster with this and have more process power. The idea is not to take advantage of transmission PCIe speed instead of the GPUs thousand cores. So , if i can communicate, using GPIO o a chip like MCS9901CV, there will be great because that means that i can add more Raspberry pi and make a cluster and voila!. – Arturo Veras Jan 17 '14 at 13:52
-
1@ArturoVeras have you managed to connect some simpler processor to the RaspPi GPIO and communicate reasonably with it?
I agree with lenik, that it is extremely difficult task (study the PCIe architecture and GPU communication first) and the benefit is very small. Maybe as an exercise first try to communicate with GPU connected directly to the PCIe bus in your PC.
– ssavec Jan 17 '14 at 16:24 -
No i don't. I am studying the PCIe protocol and see if i can communicate with the Raspberry pi GPIO.
What to you think of using a PE4L-PM060A?, is a PCIe to mPCIe adapter. I notice that PCI 1x interface only reduce the PC1 16x bandwidth, i do not mind that. This kind of things can help me because i can use a development board that it has mPCIe interface.
– Arturo Veras Jan 20 '14 at 17:16 -
The PCI protocol is extremely complex, I don't know if you will be able to get the flexibility needed to program on that level over the GPIO. Normally you do this with an FPGA. Perhaps a board like that would be more suitable than a Pi. – deed02392 Feb 24 '14 at 12:26
-
I am reviving this too, mainly because I was looking for an answer myself. There are reasons one might want to do this...my reason, to test out a lower powered form of alt coin mining, on hardware that costs virtually nothing. Anyway IMPOSSIBLE, is the one thing that people say, who really have no vision whatsoever...thank goodness, that we as a species don't go around saying impossible to everything. I found an answer...but then...how could I? Impossible lol. https://hackaday.com/2015/07/03/tiny-x86-systems-with-graphics-cards/ – MyBadComputer Feb 21 '18 at 19:08
-
@MyBadComputer have you actually read the article? it talks about small-sized x86 computer, that already has PCIe slot. RPi is an ARM computer without any PCIe slots. this is why a few years ago I have recommended to stick to familiar (x86) architecture... – lenik Feb 23 '18 at 05:24
It would be possible, but please be aware that you will need to write your own drivers and sort out the power issues, because I doubt the RasPi will be able to power a full PCI/PCI-E GPU on it's own. Please also bare in mind that the CPU will also affect the GPU's power, so it may be an idea to research before you try. <--- Adding to that, you can use a 1x to 16x powered riser cable commonly used in gpu mining rigs. There are other powered riser cables that utilize adapter cards for USB as well.

- 192
- 5
-
That's my concern right now, the power issues. What are the issues that i have in mind if i want to use an external power supply to the GPU ? – Arturo Veras Jan 29 '14 at 18:25
You could use a startKIT which has a PCI Express x1 card slot which you could use to interface to a suitable GPU (you would likely have to write your own drivers), and this could then interface with the Pi though the GPIO header.
So in short: yes you can, all the hardware to do so exists and is readily available, all you have to do is write glue logic, but don't expect it to be easy.
-
-
The startKIT only adds a hardware interface between PCIe and de RPi? The drivers that you mention must be written in the startKit or in the RPi? What is the difficulty of programming a driver? – Arturo Veras Jan 20 '14 at 17:09
-
Very difficult probably. I'm not actually sure how feasible this is, but in theory with the startKIT you will have the required hardware and environment to do what you want to. – Jan 20 '14 at 19:00
-
1What do you think about USB 2380. It seems to be the solution, the only problem is that GT640 is 16x PCIe and USB 2380 is for 1x PCIe, but i think this is not problem at all. – Arturo Veras Jan 21 '14 at 18:40
-
@ArturoVeras Difficult to say with no access to product details, but seems like it should be possible, still, expect it to be difficult. Also you probably won't be able to get the full utilisation of the cards power when it has the Pi as a host anyway. – Jan 21 '14 at 20:31
-
ic found another host controller, the [MCS9990]{http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=124;74;110&PLine=74}. I am going in this way, develop myself the circuit. – Arturo Veras Jan 22 '14 at 21:56
So, to wake the dead thread, I would not do it on a Raspberry Pi personally. I would recommend at least the Pi 3 with a mPCIe to PCIe adapter designed for desktop GPU and powered by a dedicated power supply. Also you need to make sure that the version of Linux has driver support for it; if there's no drivers someone has to write them, and that can take months with the right assets and source code. It is 100% possible to do this way, but you will likely have to be talented enough to write it for the community if it has not been done already.

- 2,740
- 4
- 23
- 36

- 11
- 1
-
Of course any Linux drivers that NVidia release are going to be targeted at the PC-like hardware - I cannot believe that the OP is going to be able to get the data throughput to do anything useful, instead of FPS (frames per second) even assuming he could get any useful display output I'd bet it would be measured in FPM or PFH! 8-) – SlySven Apr 27 '16 at 03:42
-
Also NVidia only distributes closed binaries rather than open source code drivers (in the same way that we only get the binary blobs that is used on the RPi to operate the GPU) which makes developing drivers much, much harder if not impossible... IMHO. – SlySven Apr 27 '16 at 03:53
-
This is also true and should be taken into account. Any code that you can find and reverse engineer for the pi 3 should be cherished. Likely it will take a team of ethical hackers or a few companies to come together to create a solution. In either sense it would be interesting and borderline funny to see. – Robschwab1 May 23 '16 at 04:31
Another problem you face is that the CPU would bottleneck the graphics card since it is clocked at only 700 MHz. I would try this with a much cheaper GT 210 (Which you can find for $20 - $30). Regarding your drivers you could find the open-source Nvidia drivers and compile it on ARM.

- 31
- 1
-
What is the specific problem with this? i just need some computation from the GPU i do not need real time aplications. – Arturo Veras Feb 05 '14 at 18:19
-
What about this card? SBC-A510 Single Board Computer. It has a 800 MHz CPU and brings with a PCIe 1x slot. – Arturo Veras Feb 06 '14 at 14:55
Just bumping to an old thread. It's nearly impossible, but the main reason is capitalism and bureaucracy, not writing drivers.
Sure, writing drivers is very difficult, but work with an epic team and it would be done before sunrise.
Even harder would be to get access to existing source codes for the whole video card and maybe even source codes for either the BCM2835, BCM2836, or BCM2837 (Pi 1, 2, and 3 respectively). You need those to learn how the cards work on the inside and find a way to interface with it with each other.
You would have to be an OEM to get just even a chance to get the source codes. Even the Raspberry Pi foundation itself has had has difficulty with those and has to settle on a pre-compiled blob to interface with the processor and GPU.
Power requirements wouldn't be an issue at all since, by the time you're begging [company name], you would have already figured it out. Probably a PC PSU connected to the video card and also powering the Pi via its 5V rail.

- 7,136
- 1
- 28
- 52
The MCS9990 is a PCIe to USB/ISA bridge, designed to provide additional USB / ISA / GPIO ports on a system with PCIe interface. It cannot be used to connect a PCIe device to a system which only has USB, such as an RPi. So this approach is doomed from the start.

- 27,928
- 6
- 53
- 144
Your only problem will be drivers. It would be so cool to get a Nvidia GPU to work on a Pi, but this is almost as hard as building your own GPU from scratch.
People are right, the hardware isn't impossible, but it WILL be sketchy. You absolutely will need drivers, however. Even if you could write your own, they would not be optimized to utilize all to the speed and features on the GPU.
I wanted to try this with an old Nvidia GForce, but I am a lousy programmer with no hardware hacking experience.
I figured it was a long shot, but I emailed NVidia just after the RTX was released, and asked if they would either compile the drivers for a few Pre-2010 GPUs for the Pi and make them available to download and tinker with, or release the source code for people to compile themselves. Obviously they said "no."
So here is the thing, we have external GPUs for laptops (costs disregarded) and the Wi-Fi in the new Pi 3B+ is supposed to be fast, why not see if that could work?

- 2,740
- 4
- 23
- 36

- 108
- 1
- 12
-
I'm not sure if this provides an answer, or is a suggestion, albeit a useful one. – Greenonline Oct 31 '18 at 06:03
-
@ Greenonline This was intended to be a suggestion and an aswer (Reread the last sentence) – lockheed silverman Nov 02 '18 at 23:33
I am going to be limited by the USB 2.0 Raspberry pi port.
– Arturo Veras Jan 29 '14 at 16:36