簡體   English   中英

我可以在 TensorFlow 上同時運行 AMD GPU 和 NVIDIA GPU 嗎?

[英]Can I run an AMD GPU and NVIDIA GPU on TensorFlow together?

簡單的問題:我可以在 TensorFlow 中同時運行雙 GPU 設置(如下所示)嗎?

 1 AMD RX 480 and 1 NVIDIA 3070
 (ROCm 3.5.1 and CUDA 11)

我試圖通過安裝 TensorFlow (2.4) 和 TensorFlow ROCm(2.4) 以及所有適當的驅動程序來做到這一點。 不幸的是,TensorFlow 只選擇其中之一,這取決於是否安裝了 TensorFlow ROCm。

我怎樣才能解決這個問題?

如果不可能,原因是什么?

我真的不認為你能做到。 Tensorflow-rocm 是 Tensorflow 的一個分支。 AMD 已經做出了很大改變,以實現與 GPU 的兼容性。 因此,由於它們是不同的包,它們不能完全運行。

對於 AMD,您有不同的 package、Tensorflow 需要 NVIDIA GPU。 由於新的架構,我也看到了新的 NVIDIA GPU 的緩慢性。 我建議您使用 tf-nightly-gpu 2.5.0.dev20210126 與我的 RTX 3090 一起使用。您也可以組合兩個 3090,但不能組合兩個 3070。您可以查看 NVIDIA 文檔以閱讀有關基於 SLI 的顯卡的信息. 您也可以將兩個 3090 與同一品牌配對,這意味着華碩的 3090 將無法連接 RTX3090 創始版。

運行代碼時請確保正在調用 tensorflow 2.5

為了使執行更快,您還可以使用 allocate memory

在這里,由於我使用的是 RTX 3090,因此我為 Tensorflow 分配 22GB 在您的情況下,您可以將其更改為 8 GB

gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
# Restrict TensorFlow to only allocate 22GB of memory on the first GPU
try:
tf.config.experimental.set_virtual_device_configuration(
    gpus[0],
[tf.config.experimental.VirtualDeviceConfiguration(memory_limit=22000)])
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
except RuntimeError as e:
# Virtual devices must be set before GPUs have been initialized
print(e)

memory_limit=8000

您可以參考 tensorflow 中關於 GPU 調整https://www.Z2C39BC19B761AC476DC046245D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM