[LLVMdev] AESOP autoparallelizing compiler

Timothy Mattausch Creech tcreech at umd.edu
Sun Mar 3 09:32:49 PST 2013

Hi Sebastian,
  Sure! The bulk of LMDA was written by Aparna Kotha (CCd). It computes dependences between all instructions, computes the resulting direction vectors in the function, then associates them all with loops.

At a high level, the dependence analysis consults with AliasAnalysis, and ScalarEvolution before resorting to attempting to understand the effective affine expressions and performing dependence tests (e.g., Banerjee). If it cannot rule out a dependence, then it will additionally consult with an ArrayPrivatization analysis to see if an involved memory object can be made thread private. It is probably also worth mentioning that the LMDA has been written not only to function well with IR from source code, but also with low level IR from a binary to IR translator in a separate project. This has required new techniques specific to this problem. Aparna can provide more information on techniques used in our LMDA.


On Sun, Mar 03, 2013 at 09:18:47AM +0100, Sebastian Dreßler wrote:
> Hi,
> On 03/03/2013 07:09 AM, Timothy Mattausch Creech wrote:
> > [...]
> > The main components of the released implementation are loop memory
> > dependence analysis and parallel code generation using calls to POSIX
> > threads.
> The loop memory dependence analysis sounds very interesting to me. Could
> you provide some more information regarding its capabilities?
> Cheers,
> Sebastian
> -- 
> Mit freundlichen Grüßen / Kind regards
> Sebastian Dreßler
> Zuse Institute Berlin (ZIB)
> Takustraße 7
> D-14195 Berlin-Dahlem
> Germany
> dressler at zib.de
> Phone: +49 30 84185-261
> http://www.zib.de/

More information about the llvm-dev mailing list