Notifications
Clear all

Cheapest possible eGPU setup  

  RSS

(@phil_s)
Active Member
Joined: 2 months ago
 

I would really like to setup an eGPU for my work laptop which needs help when working on CAD or simulations. Seeking out a non-invasive way to hook up GPU to thunderbolt without having to tear off the bottom of the laptop or spend over $200 for an external enclosure. It is a dell precision 7520.

 

Was wondering if a combo of the following would work?

 

ADT-LINK R43SL - https://tinyurl.com/uf9mc7f

+

EXTERNAL THUNDERBOLT 3 SSD ENCLOSURE - https://tinyurl.com/tcbp4r2; https://tinyurl.com/s9ovxzx

 

Would there be comm issues with such a setup? What about bandwith issues at 10 gb/s? Conflicting standards? USB 3.1 type c vs. thunderbolt 3?

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
(@jangoloti_1)
Estimable Member
Joined: 6 months ago
 

Those enclosures are USB my friend. 

Mac Mini 2018 i7 16 GB 512 GB SSD, Mac Book Pro 2016, HP Z31x, Sonnet Breakaway Box 550 W, Nitro+ RX5700 XT, KFA2 SNPR 1060 6GB eGPU,...


itsage liked
ReplyQuote
(@phil_s)
Active Member
Joined: 2 months ago
 

I figured out an answer by searching around the forums. Looks like Nando4 has done research into this already and using any kind of m.2 to TB3 adapter reduces performance significantly. I imagine the only way to increase this would be by making sure the manufacturer of the external ssd dock had clocked the speeds higher. 

 

He explains it better, check out this topic here.

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
joevt
(@joevt)
Noble Member
Joined: 3 years ago
 
Posted by: @phil_s

I figured out an answer by searching around the forums. Looks like Nando4 has done research into this already and using any kind of m.2 to TB3 adapter reduces performance significantly. I imagine the only way to increase this would be by making sure the manufacturer of the external ssd dock had clocked the speeds higher. 

No. The conclusion is not about M.2 to TB3 adapters. It's about Thunderbolt - period. A purpose-built Thunderbolt eGPU would have similar issues. There is no way around the problem with Thunderbolt latency - maybe there is Thunderbolt firmware that optimized latency over bandwidth? I know some eGPUs came with firmwares that had low bandwidth, but I don't think any benchmarks were done to see if they had different latency or performance (fps) compared to new firmware that enabled higher bandwidth.

Posted by: @phil_s

EXTERNAL THUNDERBOLT 3 SSD ENCLOSURE - https://tinyurl.com/tcbp4r2; https://tinyurl.com/s9ovxzx

That's not Thunderbolt. That's USB-C 3.1 gen 2. You can't use that for eGPU. You can tell it's not Thunderbolt because the price is less than $100... Go to https://egpu.io/forums/which-gear-should-i-buy/thunderbolt-3-external-drive-slot-m-2-ngff-adapter/ to read about Thunderbolt M.2 adapters being used for eGPUs.

 

Mac mini (2018), Mac Pro (Early 2008), MacBook Pro (Retina, 15-inch, Mid 2015), GA-Z170X-Gaming 7, Sapphire Pulse Radeon RX 580 8GB GDDR5, Sonnet Echo Express III-D, Trebleet Thunderbolt 3 to NVMe M.2 case


ReplyQuote
(@phil_s)
Active Member
Joined: 2 months ago
 

@joevt,  So does that mean eGPUs are not really the best idea until higher bandwidth standards are released beyond thunderbolt 3 and USB 4 (USB gen 3x2)? Whatever those will be? Hopefully 80 gb/s?

 

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
(@jangoloti_1)
Estimable Member
Joined: 6 months ago
 
Posted by: @phil_s

@joevt,  So does that mean eGPUs are not really the best idea until higher bandwidth standards are released beyond thunderbolt 3 and USB 4 (USB gen 3x2)? Whatever those will be? Hopefully 80 gb/s?

 

Who has said that? In eGPU.io, really?

Mac Mini 2018 i7 16 GB 512 GB SSD, Mac Book Pro 2016, HP Z31x, Sonnet Breakaway Box 550 W, Nitro+ RX5700 XT, KFA2 SNPR 1060 6GB eGPU,...


ReplyQuote
joevt
(@joevt)
Noble Member
Joined: 3 years ago
 

@phil_s, eGPUs are good enough if they give enough benefit. They are more convenient/easier than other eGPU solutions (M.2, ExpressCard, mPCIe) (ignoring problems with Windows). That convenience might be worth more than the performance benefit of some of those other connection types.

The benefit of eGPUs is shrinking with newer laptops having better graphics each year but eGPUs are still beneficial.

 

Mac mini (2018), Mac Pro (Early 2008), MacBook Pro (Retina, 15-inch, Mid 2015), GA-Z170X-Gaming 7, Sapphire Pulse Radeon RX 580 8GB GDDR5, Sonnet Echo Express III-D, Trebleet Thunderbolt 3 to NVMe M.2 case


ReplyQuote
(@phil_s)
Active Member
Joined: 2 months ago
 

@jangoloti_1, Fair point. I am new to all this, so as a result I am asking possibly very dumb questions. But that seems to be one great way to learn fast. It makes you real thankful for someone like yourself that is willing to put up with it as well!

@joevt, So in a way, I thought I was asking the wrong question. And was about to rephrase what I asked above. I was under the impression that the bandwidth required by some graphics cards was 256 gb/s for a gtx 1070, as an example. That is in fact memory bandwidth. 

Upon more research, pcie 3.0x16 supports 16 gb/s approx. Therefore 40 gb/s per thunderbolt 3 should be plenty for data transfer. I was convinced for a moment that an eGPU or any other setup could only tap into a very small fraction of the GPUs power and then realized I was reading the wrong spec for GPUs on techpowerup.com.

Thanks for your help!

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
joevt
(@joevt)
Noble Member
Joined: 3 years ago
 
Posted by: @phil_s

Upon more research, pcie 3.0x16 supports 16 gb/s approx. Therefore 40 gb/s per thunderbolt 3 should be plenty for data transfer. I was convinced for a moment that an eGPU or any other setup could only tap into a very small fraction of the GPUs power and then realized I was reading the wrong spec for GPUs on techpowerup.com.

You're getting your bits and bytes mixed up.

PCIe 3.0 x16 = 8 GT/s/lane * 16 lanes * 128b/130b * 1B/8b * 1b/T = 15.75 GB/s
Thunderbolt 3 ≈ 22 Gb/s = 2750 MB/s (that is for PCIe traffic over Thunderbolt; the rest of the 40 Gbps can be used by DisplayPort)

People can use PCIe 2.0 x1 for GPUs and still get useful performance from it because textures are loaded before gameplay begins, and data required to draw a frame is much less than the amount of pixels calculated by the GPU. For example, a triangle is just 9 numbers (x,y,z for each vertex), which can be millions of pixels in size - the GPU does the work with its own memory and doesn't need to get much from system memory.

PCIe 2.0 x1 = 5 GT/s/lane * 1 lane * 8b/10b * 1B/8b * 1b/T = 500 MB/s

b=bit, T=transfer, s=seconds, B=byte, M=Mega=1000000, G=Giga=1000M=1000000000

 

Mac mini (2018), Mac Pro (Early 2008), MacBook Pro (Retina, 15-inch, Mid 2015), GA-Z170X-Gaming 7, Sapphire Pulse Radeon RX 580 8GB GDDR5, Sonnet Echo Express III-D, Trebleet Thunderbolt 3 to NVMe M.2 case


itsage liked
ReplyQuote
(@phil_s)
Active Member
Joined: 2 months ago
 

@joevt, Thanks for the explanation that was awesome!

One question. You had a conversion factor of 128b/130b in there. What is that for? 

The rest I understood! And thanks for pointing out my error. I completely missed that one was GB and other Gb. It always trips me up.

 

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
joevt
(@joevt)
Noble Member
Joined: 3 years ago
 

@phil_s, PCIe 2.0 and earlier, USB 3.0 and earlier, and SATA and earlier use a 8b/10b encoding - which means they use 10 bits on the wire to encode a byte of data - the extra bits add transitions that allow the bit clock to be extracted from the data signal instead of having a separate clock signal like DVI/HDMI 2.0 has (HDMI 2.1 replaces the clock signal with a fourth data lane). The extra bits also allow for DC balancing.

PCIe 3.0 and later uses a more efficient 128b/130b encoding.

USB 3.1 gen 2 uses 128b/132b encoding.

Thunderbolt uses a 64b/66b encoding but the bit rates you see (10, 20, or 40 Gbps) already have this factored in (Thunderbolt uses 10.3125 or 20.625 Gbps on the wire and has one or two lanes).

https://en.wikipedia.org/wiki/Serial_ATA
https://en.wikipedia.org/wiki/USB
https://en.wikipedia.org/wiki/PCI_Express
https://en.wikipedia.org/wiki/8b/10b_encoding
https://en.wikipedia.org/wiki/64b/66b_encoding

 

On top of encoding overhead is protocol overhead. For example, PCIe 3.0 x4 should allow 3938 MB/s but you usually won't get more than 3500 MB/s.

http://billauer.co.il/blog/2011/05/pcie-pci-express-linux-max-payload-size-configuration-capabilities-tlp-lspci/
https://www.xilinx.com/support/documentation/white_papers/wp350.pdf

 

Mac mini (2018), Mac Pro (Early 2008), MacBook Pro (Retina, 15-inch, Mid 2015), GA-Z170X-Gaming 7, Sapphire Pulse Radeon RX 580 8GB GDDR5, Sonnet Echo Express III-D, Trebleet Thunderbolt 3 to NVMe M.2 case


itsage liked
ReplyQuote
(@phil_s)
Active Member
Joined: 2 months ago
 

@joevt, You sir, have a wealth of knowledge on this subject! Thank you again!

 

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote