[Openmp-dev] Performance killer: more registers are used when multiple target regions are compiled together

Ye Luo via Openmp-dev openmp-dev at lists.llvm.org
Tue Jun 30 16:07:42 PDT 2020


Thank you! Could you elaborate a bit more? How common are the common
functions? Per cpp? or whole application?
Ye
===================
Ye Luo, Ph.D.
Computational Science Division & Leadership Computing Facility
Argonne National Laboratory


On Tue, Jun 30, 2020 at 2:37 PM Alexey.Bataev <a.bataev at outlook.com> wrote:

> Just a guess, but maybe some extra code paths are generated in the common
> functions and it increases number of registers.
>
> -------------
> Best regards,
> Alexey Bataev
>
> 30.06.2020 3:25 PM, Ye Luo via Openmp-dev пишет:
>
> Hi all,
> I just found when there are multiple offload regions, all the finally
> assembled kernels use equal amount registers corresponding to the kernel
> that uses the most registers. This causes all my kernels spilling registers
> and thus kills performance. This is surprising and I didn't see this
> behavior with IBM XL compiler.
> The reproducer is provided at https://bugs.llvm.org/show_bug.cgi?id=46450
> I also noticed the same issue with AOMP.
> So I'm wondering where could potentially be buggy in the compiling/linking
> flow.
> Any thoughts?
> Best,
> Ye
> ===================
> Ye Luo, Ph.D.
> Computational Science Division & Leadership Computing Facility
> Argonne National Laboratory
>
> _______________________________________________
> Openmp-dev mailing listOpenmp-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/openmp-dev/attachments/20200630/7b9eaf3e/attachment.html>


More information about the Openmp-dev mailing list