On 29/06/2022 11:45, Jakub Jelinek wrote:
And omp_init_allocator needs to decide what to do if one asks for features that need memkind as well as for features that need whatever you/Abid have been working on. A possible resolution is punt (return omp_null_allocator), or prefer one feature over the other one or vice versa. From the features currently handled by memkind, even before my changes for consistency with libomp from llvm omp_high_bw_mem_space was considered a hard request, ditto omp_atk_pinned omp_atv_true, but the rest was just taken as optimization hint.
Right now I'm rebasing our patches so that they build and pass our tests again.
I don't know what to do if someone requests pinned high-bandwidth memory. I don't even know if that's a thing that can exist. Right now, as I have my dev branch, the high-bandwidth will take precedence simply because memkind is checked first. I presume that if memkind ever grew the ability to allocate pinned memory you would still have the choose one "kind" or the other.
Andrew