| 73 | | Otherwise, iterations must be distributed among the threads in some nondeterministic way. This could blow up rapidly! |
| | 73 | Otherwise, iterations must be distributed among the threads in some nondeterministic way. This could blow up rapidly! Also, a thread does not have to execute its iterations in increasing order. It can execute them in any order. |
| | 74 | |
| | 75 | Trying a few different things for now: picking a particular scheduling policy like round-robin (status with chunk size 1). Of course you can always do this if schedule is specified to be static. |
| | 76 | |
| | 77 | The question is do we ever want to try to explore these interleavings? |
| | 78 | |
| | 79 | Is there any loss of generality by just running all iterations concurrently? |
| | 80 | |
| | 81 | === `sections` === |
| | 82 | |
| | 83 | If there are n sections, create n functions: section1, section2, .... Again the question is how to distribute them among threads and in what order. |
| | 84 | As with loops, you really want to check these are independent and only do the interleaving exploration as a last resort. |