2013-11-03 126 views
1

我正在使用MPI構建一個C程序,模擬一些交通信號燈。我需要每個進程等待幾秒鐘,然後發送消息到另一個交通燈(進程)進行更改。如果我使用Sleep(),則程序崩潰。有沒有一種安全的方法讓一個進程在給定的秒數內休眠?如何在MPI中睡覺

+2

我不明白爲什麼你的程序會因使用'Sleep()'而崩潰。你可以發佈一些代碼嗎? – PureW

+0

它並沒有真正崩潰。我基本想要的是連續運行MPI程序,但如果我把所有內容都放在'while'中,它就不起作用。 –

+0

你能發表一個簡單的,可重複的,你想要做什麼的例子嗎? – damienfrancois

回答

1

您可以使用MPI_WTIME()模擬您自己的睡眠()功能,並手動等待您所需的時間量。根據執行方式(內核數量,節點數量等)的不同,這可能不會帶來任何性能影響,併爲您在等待下一個光照週期時能夠做其他事情提供額外的好處。