[Openmp-commits] [PATCH] D19879: Solve 'Too many args to microtask' problem
Hal Finkel via Openmp-commits
openmp-commits at lists.llvm.org
Wed May 25 21:57:58 PDT 2016
Hi Samuel, et al.,
I added an assembly ppc64[le] implementation of microtask dispatch in r270821.
-Hal
----- Original Message -----
> From: "Samuel Antão" <samuelfantao at gmail.com>
> To: "Alexey Bataev" <a.bataev at hotmail.com>
> Cc: "Hal Finkel" <hfinkel at anl.gov>, reviews+d19879+public+05d7f2d0749cb612 at reviews.llvm.org,
> openmp-commits at lists.llvm.org, "amara emerson" <amara.emerson at arm.com>, "pawel osmialowski"
> <pawel.osmialowski at arm.com>
> Sent: Friday, May 13, 2016 9:04:02 AM
> Subject: Re: [Openmp-commits] [PATCH] D19879: Solve 'Too many args to microtask' problem
>
>
> Hi Alexey,
>
>
> Why is it necessarily better to use a record of pointers instead of
> using a vararg? If the goal is to use ffi to call the outlined
> functions I can understand the runtime may have some noticeable
> overhead, but if the runtime implementation has the calling
> convention encoded in small piece of ASM, I guess that would be
> better as things could be passed by register. I'm also concerned
> that using a record will preclude passing attributes for each of
> these pointers as that can only be done if they are function
> parameters.
>
>
> Thanks,
> Samuel
>
>
> 2016-05-13 3:07 GMT-04:00 Alexey Bataev via Openmp-commits <
> openmp-commits at lists.llvm.org > :
>
>
> The codegen scheme in clang has been changed some time ago. Currently
> all captured variables are emitted as immediate arguments of the
> outlined function and not gathered into a single RecordDecl. I'm
> thinking on improving this scheme and I hope this problem will be
> resolved in a week or so. I'm going to implement flexible scheme of
> codegen which will generate single argument if the number of captured
> variables is too big.
>
> Best regards,
> Alexey Bataev
> =============
> Software Engineer
> Intel Compiler Team
>
> 12.05.2016 21:46, Hal Finkel пишет:
>
>
> > Alexey,
> >
> > Could you please comment on this? Is the comment inaccurate?
> >
> > -Hal
> >
> > ----- Original Message -----
> >> From: "Andrey Churbanov via Openmp-commits" <
> >> openmp-commits at lists.llvm.org >
> >> To: "pawel osmialowski" < pawel.osmialowski at arm.com >, "jonathan l
> >> peyton" < jonathan.l.peyton at intel.com >, "andrey
> >> churbanov" < andrey.churbanov at intel.com >
> >> Cc: openmp-commits at lists.llvm.org , "amara emerson" <
> >> amara.emerson at arm.com >
> >> Sent: Thursday, May 12, 2016 1:43:41 PM
> >> Subject: Re: [Openmp-commits] [PATCH] D19879: Solve 'Too many args
> >> to microtask' problem
> >>
> >> AndreyChurbanov accepted this revision.
> >> AndreyChurbanov added a comment.
> >> This revision is now accepted and ready to land.
> >>
> >> LGTM.
> >>
> >> Still unclear though how this problem corresponds with the comment
> >> just above the error print "Too many args to microtask" in
> >> z_Linux_util.c line 2579:
> >>
> >> #if !(KMP_ARCH_X86 || KMP_ARCH_X86_64 || KMP_MIC)
> >> // we really only need the case with 1 argument, because CLANG
> >> always
> >> build
> >> // a struct of pointers to shared variables referenced in the
> >> outlined function
> >>
> >> Probably something is wrong with compiler code generation for
> >> AArch64...
> >>
> >>
> >> Repository:
> >> rL LLVM
> >>
> >> http://reviews.llvm.org/D19879
> >>
> >>
> >>
> >> _______________________________________________
> >> Openmp-commits mailing list
> >> Openmp-commits at lists.llvm.org
> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-commits
> >>
>
> _______________________________________________
> Openmp-commits mailing list
> Openmp-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-commits
>
>
--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
More information about the Openmp-commits
mailing list