Jump to content

Use displayport for fast data transfer

REVERSEDSKIES
Go to solution Solved by Eigenvektor,

As others have said, DisplayPort is essentially one way. Your GPU can send data to your monitor, but your monitor can't exactly send data back to your GPU(1). It isn't made to receive. Even if it could, I'm not sure DisplayPort was ever designed for duplex operation, so you'd most likely halve the bandwidth or more if you wanted to be able to go both directions.

 

Network protocols also include stuff like routing, which is lacking from DisplayPort, so it would be strictly a 1:1 connection. Oh, and the maximum cable length for DisplayPort is very limited, compared to network cables (2 meters vs 100 meters for Cat 7).

 

Last but not least, I'm not sure how efficient it would be to encode your data into an "image", send it over DP, then decode that image back into data, instead of using protocols that are made to send data in the first place.

 

Of course, cables are cables and don't care what information it sent over them. So you could use the physical connection and use a different protocol. But once you do use something like TCP/IP, you'll probably lose quite a bit of that bandwidth that comes from using a simple one-way only protocol.

 

1) Just to be clear, your monitor can actually send some data back to your GPU (e.g. information about monitor model etc.) but that's an auxiliary channel with much lower bandwidth.

Hi everyone!

 

Sooooo, I got this idea when i found the bandwidth of displayport again. Depending on which version of DP you have it can get pretty fast. Displayport 2.0 has a maximum bandwidth of 80Gbit like dayum!

 

So the question that popped up in my head was: could you use displayport to transfer data similarly to USB or ethernet? I mean it would be much faster than even 10gigabit ethernet. Obviously not as simple, but could it be possible?
I'm not a programmer, but could you make a program that accesses the DP connector and sends data from one machine, than on another machine you have a program running that pretty much is there to accept whatever is coming in (since I'm not sure if DP is directional or not when using it in such a way)? Maybe it is bidirectional and you could actually send large amounts of data both ways?

 

Now I know what you're thinking, there's nothing other than a RAM disk that could actually take such amounts of data, and even then you'd have to move it to some other storage device since RAM will of course lose whatever is on there when it loses power. But I'm talking totally hypothetically and this is just an idea because why not. I just wanna know if it's possible or if it's been done before or not. I couldn't really find anything so I'm assuming that maybe someone once tried but never published anything. But maybe there's someone reading this who thinks this could be done? I have no idea how to, I'm not smart enough for that but maybe someone?

 

What do you guys think?

 

❤️

Link to comment
Share on other sites

Link to post
Share on other sites

Without wanting to learn the why, personally, it has to do with the pinouts, and protocol for communication and its not made for data transfer, at all.

Workstation Laptop: Dell Precision 7540, Xeon E-2276M, 32gb DDR4, Quadro T2000 GPU, 4k display

Wifes Rig: ASRock B550m Riptide, Ryzen 5 5600X, Sapphire Nitro+ RX 6700 XT, 16gb (2x8) 3600mhz V-Color Skywalker RAM, ARESGAME AGS 850w PSU, 1tb WD Black SN750, 500gb Crucial m.2, DIYPC MA01-G case

My Rig: ASRock B450m Pro4, Ryzen 5 3600, ARESGAME River 5 CPU cooler, EVGA RTX 2060 KO, 16gb (2x8) 3600mhz TeamGroup T-Force RAM, ARESGAME AGV750w PSU, 1tb WD Black SN750 NVMe Win 10 boot drive, 3tb Hitachi 7200 RPM HDD, Fractal Design Focus G Mini custom painted.  

NVIDIA GeForce RTX 2060 video card benchmark result - AMD Ryzen 5 3600,ASRock B450M Pro4 (3dmark.com)

Daughter 1 Rig: ASrock B450 Pro4, Ryzen 7 1700 @ 4.2ghz all core 1.4vCore, AMD R9 Fury X w/ Swiftech KOMODO waterblock, Custom Loop 2x240mm + 1x120mm radiators in push/pull 16gb (2x8) Patriot Viper CL14 2666mhz RAM, Corsair HX850 PSU, 250gb Samsun 960 EVO NVMe Win 10 boot drive, 500gb Samsung 840 EVO SSD, 512GB TeamGroup MP30 M.2 SATA III SSD, SuperTalent 512gb SATA III SSD, CoolerMaster HAF XM Case. 

https://www.3dmark.com/3dm/37004594?

Daughter 2 Rig: ASUS B350-PRIME ATX, Ryzen 7 1700, Sapphire Nitro+ R9 Fury Tri-X, 16gb (2x8) 3200mhz V-Color Skywalker, ANTEC Earthwatts 750w PSU, MasterLiquid Lite 120 AIO cooler in Push/Pull config as rear exhaust, 250gb Samsung 850 Evo SSD, Patriot Burst 240gb SSD, Cougar MX330-X Case

 

Link to comment
Share on other sites

Link to post
Share on other sites

The bandwidth provided by displayport is more reliant on the protocol and controllers at each end of the connections, rather than the connector or cable. 

 

Unlike with data transfer between two devices, transmitting video has significantly less overhead. It's also, for the most part, a one way system, where you have an output and an input and data only flows one way. This means the bandwidth available can be used all at once as there's no need to reserve much for any data that's being received.

 

The issue isn't the media, it's the protocol and processing required. We do have data transfer interfaces that can match or outperform Displayport in terms of bandwidth, such as Infiniband or QSFP, but they're significantly more expensive because the processing required to do that type of data transfer is much more complex than simple video data streaming in one direction. 

Link to comment
Share on other sites

Link to post
Share on other sites

22 minutes ago, comander said:

If you need that speed... 40/100/400Gbps network cables and interfaces exist. 

 

Also be aware that your SSD won't be able to keep up so it won't matter. 

I already mentioned networking and i already mentioned that the only thing capable of keeping up with an 80Gbit connection would be a RAM disk. Also mentioned this is a totally hypothetical question. It's just an idea, I'm aware no SSD is gonna keep up.

Link to comment
Share on other sites

Link to post
Share on other sites

As others have said, DisplayPort is essentially one way. Your GPU can send data to your monitor, but your monitor can't exactly send data back to your GPU(1). It isn't made to receive. Even if it could, I'm not sure DisplayPort was ever designed for duplex operation, so you'd most likely halve the bandwidth or more if you wanted to be able to go both directions.

 

Network protocols also include stuff like routing, which is lacking from DisplayPort, so it would be strictly a 1:1 connection. Oh, and the maximum cable length for DisplayPort is very limited, compared to network cables (2 meters vs 100 meters for Cat 7).

 

Last but not least, I'm not sure how efficient it would be to encode your data into an "image", send it over DP, then decode that image back into data, instead of using protocols that are made to send data in the first place.

 

Of course, cables are cables and don't care what information it sent over them. So you could use the physical connection and use a different protocol. But once you do use something like TCP/IP, you'll probably lose quite a bit of that bandwidth that comes from using a simple one-way only protocol.

 

1) Just to be clear, your monitor can actually send some data back to your GPU (e.g. information about monitor model etc.) but that's an auxiliary channel with much lower bandwidth.

Remember to either quote or @mention others, so they are notified of your reply

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×