On Thu, Jun 30, 2022 at 01:40:24PM +0200, Jakub Jelinek via Gcc-patches wrote: > > +/* The initial ICV values for the host, which are configured with > > environment > > + variables without a suffix, e.g. OMP_NUM_TEAMS. */ > > +struct gomp_initial_icvs gomp_initial_icvs_none; > > + > > +/* Initial ICV values that were configured for the host and for all > > devices by > > + using environment variables like OMP_NUM_TEAMS_ALL. */ > > +struct gomp_initial_icvs gomp_initial_icvs_all; > > + > > +/* Initial ICV values that were configured only for devices (not for the > > host) > > + by using environment variables like OMP_NUM_TEAMS_DEV. */ > > +struct gomp_initial_icvs gomp_initial_icvs_dev; > > As I said last time, I don't like allocating these > all the time in the data section of libgomp when at least for a few upcoming > years, most users will never use those suffixes. > Can't *_DEV and *_ALL go into the gomp_initial_icv_dev_list > chain too, perhaps
Sorry, forgot to finish sentence, I meant perhaps with dev_num of some magic negative constants, and ensure that the all entry goes e.g. first in the list, then dev and then the rest, so when filling up say what values to copy to some device, it would start with the defaults, then if all is present overwrite from selected all vars, then if non-host and dev is present, overwrite from selected dev vars and finally overwrite from selected specific device vars. Jakub