2012-01-15 129 views
1

我想創建派生數據類型由動態數組組成,其長度我不知道,我該怎麼做?如果smb在這裏發佈一個簡單的例子,那將會很棒。謝謝。MPI派生數據類型

+0

你可以進一步瞭解更多細節嗎?你的數組在運行時改變大小嗎?你需要在一條消息中發送所有的數組嗎?你想創建什麼類型地圖? – suszterpatt 2012-01-15 23:18:15

+0

我有3個整數和兩個未知大小的數組,這意味着我將在運行時知道它。是的,我需要在一條消息中發送所有這些東西。 – Michael 2012-01-15 23:26:14

回答

2

我發佈了一個類似問題的答案here。總之:

  1. 你需要一個HIndexed數據類型。
  2. 您將不得不使用MPI_Address()函數來獲得適當的位移。
  3. 您必須確保typemap保持有效(即數組不會更改大小或相對於其他數據成員的位置),如果它變得無效,請重新定義並重新提交數據類型。