我想寫一個函數,它會被其他函數多次重複調用。在這個函數內部,它應該產生大量的隨機數,這部分將被並行處理。如果只進行一次運行,可以爲每個線程選擇不同的種子,以便隨機數不相關。但是,如果這個函數第二次被調用,那麼隨機數似乎會重複,除非在隨後的調用期間種子將被再次改變。如何在重複調用中並行生成不相關的隨機數字?
所以我的問題是,是否有生成隨機數或重置種子,以便通過重複調用這項功能,同時通過不同的線程產生的隨機數是真正隨機的好辦法?
我需要這樣做OpenMP中。每次調用函數後,是否可以爲每個線程分別存儲生成器的狀態,以便下次調用函數時,隨機數生成器從最後一個狀態開始並繼續生成不相關的數字?
謝謝。
爲什麼你需要每個線程一個,爲什麼不共享相同的發電機? –