[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