https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90115
Thomas Schwinge <tschwinge at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |90114 --- Comment #1 from Thomas Schwinge <tschwinge at gcc dot gnu.org> --- Very much related is privatization via the corresponding 'private' clauses, at the respective level. (Thus not filing a new PR for that.) OpenACC 3.1, 2.5.12 "private clause" (similar 2.5.13 "firstprivate clause") states that on compute constructs, "The 'private' clause [...] declares that a copy of each item on the list will be created for each gang", and OpenACC 3.1, 2.9.10 "private clause" states: | The 'private' clause on a 'loop' construct specifies that a copy of each item in var-list will be created. If the body of the loop is executed in 'vector-partitioned' mode, a copy of the item is created for each thread associated with each vector lane. If the body of the loop is executed in 'worker-partitioned' 'vector-single' mode, a copy of the item is created for and shared across the set of threads associated with all the vector lanes of each worker. Otherwise, a copy of the item is created for and shared across the set of threads associated with all the vector lanes of all the workers of each gang. Also related is PR90114 "Predetermined private levels for variables declared in OpenACC accelerator routines". Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90114 [Bug 90114] Predetermined private levels for variables declared in OpenACC accelerator routines