7
我試圖找出在兩個GPU之間均勻分割seq2seq網絡的內存負載的最具戰略性的方法。在TensorFlow中GPU之間均勻分割RNN內存消耗
對於卷積網絡來說,任務要簡單得多。但是,我試圖找出如何最大限度地利用2 Titan X的內存。我們的目標是建立最大的網絡,合併的24GB內存將允許。
一個想法是將每個RNN層放置在單獨的GPU中。
GPU1 --> RNN Layer 1 & Backward Pass
GPU2 --> RNN Layer 2,3,4
但是,反向計算需要大量的內存。因此,另一個想法是在一個GPU上執行整個正向傳遞,並在單獨的GPU上執行反向傳遞。
GPU1 --> Forward Pass
GPU2 --> Backward Pass
(然而,GPU2仍佔大多數內存負載)
有什麼辦法來衡量GPU如何內存中有多少被使用?這將使我們能夠弄清楚如何在每個GPU「充滿」之前使每個GPU最大化。
一旦使用了2個GPU,我最終會使用4個GPU。不過,我認爲最大化2個GPU是第一步。