Results 1 to 5 of 5

Thread: AESOP: A New Auto-Parallelizing Compiler

  1. #1
    Join Date
    Jan 2007
    Posts
    14,348

    Default AESOP: A New Auto-Parallelizing Compiler

    Phoronix: AESOP: A New Auto-Parallelizing Compiler

    AESOP is a new auto-parallelizing C/C++ compiler for shared memory systems. This new open-source compiler was written at the University of Maryland and is now available to the public...

    http://www.phoronix.com/vr.php?view=MTMxNjg

  2. #2
    Join Date
    Nov 2007
    Posts
    1,024

    Default

    It's worth noting that this is built as a Clang/LLVM modification. It "replaces" Clang in that it offers a driver (CLI tool) to invoke itself using the modified Clang frontend and LLVM backend. It offers a GCC driver by using a modified DragonEgg plugin (LLVM backing a GCC frontend).

    It's essentially a large patch to Clang/LLVM, not a whole new compiler.

  3. #3
    Join Date
    Mar 2013
    Posts
    2

    Default

    Quote Originally Posted by elanthis View Post
    It's worth noting that this is built as a Clang/LLVM modification. It "replaces" Clang in that it offers a driver (CLI tool) to invoke itself using the modified Clang frontend and LLVM backend. It offers a GCC driver by using a modified DragonEgg plugin (LLVM backing a GCC frontend).

    It's essentially a large patch to Clang/LLVM, not a whole new compiler.
    Thanks, elanthis. I am one of the AESOP developers, and this is basically right. AESOP leverages existing LLVM frontends, and just provides its own "replacement" drivers to enable people to easily attempt whole-program autoparallelization in existing projects.

    Although we can compile some major SPEC/NAS benchmarks with good results, we are certainly not claiming that AESOP is anywhere near production-ready. We are also not claiming that this is a whole new compiler framework, rather, it is a compiler implemented using LLVM. Most of the implementation amounts to several significant additional LLVM-based libraries which provide the required analysis and transformations.

    The work was announced to the LLVMdev mailing list in case other LLVM developers/researchers might be interested in the work so far.

  4. #4
    Join Date
    Feb 2013
    Posts
    9

    Default

    This sounds great, this is something I think many people hoped for. Is this something that's already being merged into Clang or is it too complicated to simply merge? When can we expect to see this implemented in Clang and do the developers of AESOP plan to continue developing for AESOP exclusively or work with Clang more closely instead?
    Last edited by Feared; 03-04-2013 at 04:38 PM. Reason: forgotten words

  5. #5
    Join Date
    Mar 2013
    Posts
    2

    Default

    Quote Originally Posted by Feared View Post
    This sounds great, this is something I think many people hoped for. Is this something that's already being merged into Clang or is it too complicated to simply merge? When can we expect to see this implemented in Clang and do the developers of AESOP plan to continue developing for AESOP exclusively or work with Clang more closely instead?
    Although architecturally the AESOP analysis and code generation might merge nicely into LLVM, the problem is that AESOP's code is only research quality; it would need a lot of cleanup, review, and testing before it would be worthy of inclusion in LLVM. We announced to the LLVM mailing list because our research projects which used these parts of AESOP are winding down, and we thought it would be good to make the work available in case others find it useful. Although it is not production-ready, it can still compile pretty large projects and sometimes gets good results without the user having to resort to manual parallelization.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •