2016-12-26 31 views
3

我正在使用圖形分區API Metis。我有一個來自節點的完整網格,並且想要劃分這個網格。在這個分區之後,一個cfd-solver將在多個gpu上並行運行。問題是:我需要metis的塊輸出(每個維度的節點數相同)。我知道,metis在後臺使用了Graph。Metis - 塊輸出

儘管如此,還是有可能獲得塊作爲輸出?

回答

1

這對你來說可能已經太遲了,但也許對其他人來說也不算太晚。如果你想要一個阻塞的輸出,我也假定你正在使用一個結構化的網格。

如果是這樣,我們可以沿着this answer from SciComp。從METIS創建塊輸出的合理的良好解決方案:

  1. 創建一個新圖,該圖封裝了原始問題的塊結構。也就是說,如果我們最初有一個與立方元素相連的50^3立方體的頂點,我們可以通過與立方元素相連的頂點的更小的10^3立方體來「重建」這個結構 。這次除了 ,頂點對應於原始問題的塊。
  2. 在新圖上運行METIS。
  3. 將結果重新解釋爲METIS的塊輸出,用於解決原始問題 。

我說這是一個「相當不錯」的解決方案,因爲您必須在運行METIS之前自行規定每個維度中的節點數。因此,也許你可以通過某種方式自己優化這個超參數,但也許你只需要進行有根據的猜測並使用METIS提供的輸出來運行。

+0

這正是我實際工作的方式。也許這是Metis建立在圖表上的最好且唯一的解決方案。謝謝你的努力! – Soeren