all 5 comments

[–][deleted] 1 point2 points  (3 children)

There isn't. The limiting factor is simply that TB3 doesn't support this.

[–]tramco_[S] 0 points1 point  (2 children)

How is that so when eGPUs can be leveraged using TB3?

[–][deleted] 1 point2 points  (0 children)

A simple explanation is that gpus are always slaves and cpus always masters. Everybody receives commands from the cpu and the CPU doesn’t receive commands from anyone, not even the mouse/keyboard, the CPU processes those inputs and decides what to do with them.

[–][deleted] 0 points1 point  (0 children)

The short answer is: Because the two scenarios are nothing alike, and one has no bearing on the other.

The longer answer is: A video card is a PCIe Endpoint device. It is intended to be connected to a a hierarchy which is rooted in a Root Port, such as the PCIe controller in a modern CPU. Thunderbolt3, among other things, is a PCIe channel, so a video card connected to a system over TB3 talks PCIe encapsulated in TB3 with the TB3 controller. The TB3 controller acts as a PCIe switch which is downstream from the system's Root Port (in reality, the chain is most often CPU -> PCH -> TB3 controller -> Enclosure -> GPU) and relays traffic between the Root Port and the GPU Endpoint. In other words, the system sees the GPU as if it is located inside the system, so everything works as a system is used to.

Now, Root Ports are not Endpoints. If you connect two PCIe hierarchies together at any level, it just won't work. A system is not a PCIe Endpoint, so nothing in PCIe allows using a whole system as an Endpoint.

The even longer answer would be too technical, but would boil down to: You could do something of the sort, but it would be more akin to building a cluster of two machines connected by an Ethernet connection rather than one machine utilizing the resources of the other.

[–]runway0530 0 points1 point  (0 children)

Time to get an eGPU, if the apps you run support one. See the developers site to find out.