harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Chow" <simon.harm...@gmail.com>
Subject Re: [drlvm][jitrino]A question of pipeline and method filter
Date Thu, 10 Jan 2008 14:11:08 GMT
On 18 Dec 2007 14:04:17 +0300, Egor Pasko <egor.pasko@gmail.com> wrote:
>
> On the 0x3AF day of Apache Harmony Simon Chow wrote:
> > Is there any analysis tools automatically choosing optimization path for
> my
> > source code.
> > If no,
> > Do you think such a tool can help developers a lot for archiving better
> > performance on Harmony.
> > I am trying to do some research for OPT, expecting for your advice.
> Thanks!
>
> Simon,
>
> I just want to add some of my long thoughts.. :)
>
> JITs aim at solving the problem of optimizing code with more or less
> universal approaches. We have this great tool as compilation pipeline
> management for developers' ability to experiment. JIT is already
> overly complicated with many pipeline phases influencing each other
> sometimes in very unexpected ways :)
>
> I do not believe in just-in-time meta-optimization because even the
> optimization tool (without meta) is already very complicated. However,
> if a user is ready to pay a lot if time to get a real bang in
> performance (of a single method or the whole app), they should
> consider searching in the big space of JIT configurations
> automatically, where some not very intelligent artificial intelligence
> might be promising here.


Sorry for a late reply.
Thank you for sharing so much thoughts! :)

I have rethinked this question recently.
I strongly agree that it hard to write a program with such intelligence.
And I am curious about intelligent artificial intelligence you said :) What
is the method of searching configuration space?

Despiting the untested passes, Is there any possibility changing the
pipeline configuration (or create a new pipeline) for a particular set of
method which may archive better performance with some optimization pass by
analyzing profiling information?

Thanks

I suggest to apply artificial intelligence here because anyway we
> won't be able to understand what configurations are best using our own
> brains and hence we won't be able to write code for that.
>
> But be prepared to see that:
>
> a) not many of possible JIT pipelines make sense in terms of both
> compile-time and run-time performance plus memory footprint
>
> b) very little number of configurations would work in a stable way
> (because we do not test them, and some optimization passes are
> documented to work only in specific conditions, i.e. other
> optimizations preceded)
>
> What do you think?
>
> > On 17/12/2007, Mikhail Fursov <mike.fursov@gmail.com> wrote:
> > >
> > > On Dec 17, 2007 4:06 PM, Simon Chow <simon.harmony@gmail.com> wrote:
> > >
> > > > Thank you very much!
> > > >
> > > > So users should choose pipeline for methods before execution, isn't
> it?
> > >
> > > Yes.
> > >
> > >
> > > > Then I wants to know how to build a pipeline with the most efficient
> > > > compilation result of a specified method. Does it rely on the
> > > developer's
> > > > experience?
> > > >
> > > > Yes, it depends on developer's experience and on optimizations you
> > > expect
> > > to work for your method. E.g. if you know that your hot-spot method
> > > benefits
> > > from particular optimization - you just add it to the optimization
> path
> > > and
> > > tune it to do the best job for your method.
> > >
> > > --
> > > Mikhail Fursov
> > >
> >
> >
> >
> > --
> > From : Simon.Chow@Software School of Fudan University
>
> --
> Egor Pasko
>
>


-- 
>From : Simon.Chow@Software School of Fudan University

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message