我正在使用在Fortran中編寫的CFD代碼。它的某些部分已與OpenMP並行化。即使我打開OpenMP並在Windows上的Linux機器上使用相同的編譯器選項(-O3),我也會得到不同的結果。嘗試關閉優化(-O0)並向我的編譯器選項添加(-fp-model源)後,它僅在2次迭代步驟後才顯示NaN。是否有其他原因,有一個不同的結果,以及如何我可以保證,它們是相同的)取決於操作系統的不同結果
感謝, 塞巴斯蒂安
PS:這兩款機器都使用相同的英特爾Fortran編譯器2013年,是64位並配備英特爾至強處理器。
結果有什麼不同? – 2013-03-22 22:23:55
他們在Linux機器上發散,而在Windows機器上運行1000多個時間步。 – Sebu 2013-03-25 09:18:57
你還沒有真正回答我的問題 - 你在Windows版本和Linux版本上得到的數字有什麼區別?從你寫的內容來看,不可能排除一個不穩定的(實現一個)算法。 – 2013-03-25 12:34:52