为什么两张显卡同时跑一个TensorFlow程序,速度小于一张显卡?

显卡为750ti、p106-90。

其中p106-90我使用了PCIE 1x转16x的线,是不是转接线的传输速率低下造成两张效果劣于一张的情况?

两个卡的性能差距本来就很大,起码差2x,而性能好的P106你又用x1的插槽,这些都是不利的因素。
而且tf本身又分任务并行和数据并行,不同的代码,差别很大,当你训练模型设计不当,很容易造成性能低下。
为了发挥多gpu的性能,最好用双xeon平台,因为每个处理器都有自己独立的pcie通道,才不会发生总线的竞争。

1x转16x。
首先带宽不会转。会导致显卡不能全速跑。
第二因为1X槽的电源供应不够。显卡不能满负载运作。
第三两个显卡跑这个,因为速度不一致,会导致快的显卡要等慢的显卡。

所以解决方案是建议卖掉750。加钱换另一张P106.
然后买价格在100以上的16X转16X延长线。毕竟现在ATX主板都有2个16X槽。
不要用1X槽去转。1X槽转的情况只适合sata m.2这种转硬盘。或者是挖矿这种异步处理。而且挖矿是强调计算,带宽消耗不高。