Commit 6fdb530
committed
fix: replace fragmented bc member GPU_UPDATE with single whole-struct update
Compilers (nvfortran/CCE with OpenMP target, and AMD amdflang) fail or
generate incorrect device pointer arithmetic when target update uses
3-level-deep struct member paths like bc%y%beg_side%vel_wall.
bc_xyz_info has no allocatable/pointer members, so updating the entire
bc struct atomically is safe and generates ! target update to(bc) /
! update device(bc) — one directive vs 14 fragmented member paths.1 parent 030fcc9 commit 6fdb530
1 file changed
Lines changed: 4 additions & 17 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1080 | 1080 | | |
1081 | 1081 | | |
1082 | 1082 | | |
1083 | | - | |
| 1083 | + | |
1084 | 1084 | | |
1085 | | - | |
| 1085 | + | |
1086 | 1086 | | |
1087 | 1087 | | |
1088 | | - | |
| 1088 | + | |
1089 | 1089 | | |
1090 | | - | |
1091 | | - | |
1092 | | - | |
1093 | | - | |
1094 | | - | |
1095 | | - | |
1096 | | - | |
1097 | | - | |
1098 | | - | |
1099 | | - | |
1100 | | - | |
1101 | | - | |
1102 | | - | |
1103 | | - | |
| 1090 | + | |
1104 | 1091 | | |
1105 | 1092 | | |
1106 | 1093 | | |
| |||
0 commit comments