BTW, not having 64bit unsigned integer numbers with well defined overflow behaviour makes it difficult to implement well-established random number generators in fortran. There are a couple generators which support split and merge operations, which helps to avoid any syncronisation within a parallel region. gfortran implements the xoshiro256** generator and its “jump” function for splitting (see libgfortran/intrinsics/random.c of in its current source tree). But I do not see how that is actually used by the compiler in conjunction with openmp code.
Related topics
| Topic | Replies | Views | Activity | |
|---|---|---|---|---|
|
Random numbers in parallel
|
22 | 490 | February 18, 2025 | |
| OpenMP and FORTRAN | 32 | 1078 | December 9, 2024 | |
| Replicable Monte Carlo simulation with OpenMP | 15 | 1336 | January 6, 2023 | |
| Learning coarrays, collective subroutines and other parallel features of Modern Fortran | 48 | 2434 | May 11, 2021 | |
| Nvfortran comparison of do concurrent vs OpenMP code | 24 | 902 | September 9, 2024 |