2013-02-13 67 views
2

在OpenMP中,我可以刷新指定的一組變量或整個緩存。OpenMP flush與flush(列表)

有沒有人有這個操作的性能的想法?只刷新真正已經改變的變量或者「快速沖洗」這些變量是否有意義,我不應該擔心?

我有鏈接列表,我需要刷新我的線程不時。我是否應該遍歷列表並單獨刷新每個元素,或者直接刷新所有內容?

回答

1

給出的建議中的OpenMP 3.1標準:

使用的沖洗構建一個列表是非常容易出錯, 用戶強烈嘗試這樣做。

和下面的句子:

實現可以通過忽略 列表,對待它同樣作爲沖洗沒有一個列表實現沖洗一個列表。

我會實施第一個解決方案pragma omp flush(沒有任何列表)。

然後,我真的會仔細考慮,然後再嘗試優化這個實現,添加一個清單來刷新構造,因爲代碼不會是性能便攜的