<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=http://email.email.llvm.org/c/eJylUs1u2zAMfhr5QsxwZDuODz60Cwr0ULRYDjtLFmsrlSWDkpOuTz86yTasOw4gLEukvh-KOpgf3XeEUZ0QFJDqeYlwRiBUBtKI8BgPL097GFzQyoH10RoEsS0mNc_WD6K84xgw3bvQvx3sBwq5E7LlCtD4GgjhDcnjetUmq5z9UMkGDzaCCZ7p_JXnpNyC66k6KeuUdggpgHKOs6uYmItiL4q76_dgJy4iQKJAEfDdxoTmxijkV77EUCv-mf1YnyiYpeeKq7uYFK31K4M5LjGtjv4ywfIZ6qIM3xMpxqFZyIfz2inrYUCPZHuYgsE8M11p2rJVmVrSGKg7moD0ipSyhVw3pjTHtVHygWOwaVx03oeJN86dfi1fZgpH7BNvbYwLRv6py13dZGNXVlpWUu5qXTR9Y5pWt1puNrqUZtdW_S7jhqGLnajvhZRhRj-xWCnqffb_9LaTheTY1Ju6KmSZN-V221eNqpWpyqLUoipw4kfLV5w80JBRd4HUyxA56fhx4p-kitEOHvGm9nevboKTTe6Se2YbTy98BN_WueSZ-XcezUI8hECLT3bCTzOWXYx0Fxc_AcQl-FU>53857</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[OpenMP] Race on the IsSPMD global during runtime initialization
</td>
</tr>
<tr>
<th>Labels</th>
<td>
openmp
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
jdoerfert
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
jdoerfert
</td>
</tr>
</table>
<pre>
We have a race as we read the IsSPMD global inside `mapping::getBlockSize()` before kernel initialization is done and the value is available to all threads.
Similar errors existed before, this one was introduced as we started to adjust `getBlockSize` for the extra warp/wave in generic mode.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxlUclu2zAQ_RrqMqggU5JlHXRIagTIIUhQH3qmxLFEhyKFIWWn-foObbdFW2DAbZa3sPf6R_cdYVJnBAWkBt4CXBAIlYY4ITyHw9vLHkbre2XBuGA0gtgWs1oW40ZRPnCMGB-tH94P5hOF3AnZcgX0ePSE8I7kMLWaaJQ1nyoa78AE0N4xnLvhnJVdMb2qszJW9RYhelDWcjaRCbko9qJ4uK0HM3MRARJ5CoAfJkTUd0Qhv3ITj0rzL6zHuEherwNX3NSFqCjVJwR9WkNMiv4SwfR51JUZfkRSPIcWIZ8uySnjYESHZAaYvcY8012p27JVWTTRYifqx9cF3cubqPfwLZnKgv83U6_EDgKtLpoZ_zEoW8l2U4xLSBbLJ47RxGnt88HPfLH2_Gv7spA_4RD5akJYMfChLnd1k01d1W4GVTeyRYlqKI_ttq7w2OyaarMtZVFkbDXakCgLKT2znlmmZOKZ6WQhOTb1pq4KWeZNud0OVaNqpauyKHtRFTjzZ-WJRO5pzKi78unXMXDS8qeEP0kVghkd4h3rpD3SESne4dQaJ0_d7-fsqqW7CvkJcX7i4g">