[llvm-dev] [RFC] Moving tools/llvm-mca/lib into lib/MCA
Clement Courbet via llvm-dev
llvm-dev at lists.llvm.org
Sun Dec 16 23:24:15 PST 2018
Thanks for the comments. I'm going to submit this as there seem to be no
objections.
On Wed, Dec 12, 2018 at 10:37 PM David Greene <dag at cray.com> wrote:
> +1. Great work!
>
> -David
>
> Andrea Di Biagio via llvm-dev <llvm-dev at lists.llvm.org> writes:
>
> > Thanks Clement for working on this.
> >
> > I like the idea of moving the core abstractions of llvm-mca in
> > llvm/lib, as it potentially enables a number of interesting use cases
> > and future developments.
> >
> > As you wrote, the patch is very simple (a pretty mechanical change).
> > From my point of view, this all looks good. Let see if other people
> > have the same opinion on this.
> >
> > -Andrea
> >
> > On Wed, Dec 12, 2018 at 11:58 AM Clement Courbet <courbet at google.com>
> > wrote:
> >
> > (on the correct mailing list)
> >
> >
> > Hi all,
> >
> > tl;dr: We'd like to propose moving tools/llvm-mca/lib into lib/MCA
> > and create a new MCA library in LLVM.
> >
> > llvm-mca has recently been split into its core part and the tool
> > part.
> >
> > * The core part simulates the execution of a basic block of
> > machine instructions as modeled by the llvm SchedModel.
> >
> > * The tool part deals with the plumbing and interacting with
> > the user.
> >
> > The core part can be used by parts of LLVM that deal with cost
> > modeling (e.g. scheduling and vectorization). MCA provides a more
> > realistic target for optimization than the heuristics typically
> > used to drive these passes. We think that using approaches based
> > on fine-grained cost modeling can greatly improve the performance
> > of critically hot code, by trading compile time for performance.
> >
> > As an example of how MCA can be used to improve scheduling, we
> > have built a prototype machine scheduler that optimizes the
> > simulated latency of a block of code under the constraints of the
> > scheduling DAG. We've had interesting wins of 2-3% on assembly
> > kernels for webp and gemmlowp*.
> >
> > The patch is completely mechanical and can be seen here. It only
> > moves the files and updates all references.
> >
> > We'd like to hear if there are any things comments/objections to
> > this change.
> >
> > Thanks !
> >
> > *note: We did this before llvm-mca was released and were using a
> > different simulator, but the idea remains the same.
> >
> >
> > On Wed, Dec 12, 2018 at 11:44 AM Clement Courbet
> > <courbet at google.com> wrote:
> >
> >
> > Hi all,
> >
> > tl;dr: We'd like to propose moving tools/llvm-mca/lib into
> > lib/MCA and create a new MCA library in LLVM.
> >
> > llvm-mca has recently been split into its core part and the
> > tool part.
> >
> > * The core part simulates the execution of a basic
> > block of machine instructions as modeled by the llvm
> > SchedModel.
> >
> > * The tool part deals with the plumbing and
> > interacting with the user.
> >
> > The core part can be used by parts of LLVM that deal with cost
> > modeling (e.g. scheduling and vectorization). MCA provides a
> > more realistic target for optimization than the heuristics
> > typically used to drive these passes. We think that using
> > approaches based on fine-grained cost modeling can greatly
> > improve the performance of critically hot code, by trading
> > compile time for performance.
> >
> > As an example of how MCA can be used to improve scheduling, we
> > have built a prototype machine scheduler that optimizes the
> > simulated latency of a block of code under the constraints of
> > the scheduling DAG. We've had interesting wins of 2-3% on
> > assembly kernels for webp and gemmlowp*.
> >
> > The patch is completely mechanical and can be seen here. It
> > only moves the files and updates all references.
> >
> > We'd like to hear if there are any things comments/objections
> > to this change.
> >
> > Thanks !
> >
> > *note: We did this before llvm-mca was released and were using
> > a different simulator, but the idea remains the same.
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > llvm-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181217/4bf05568/attachment-0001.html>
More information about the llvm-dev
mailing list