Re: Questions about ACOVEA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/03/17 16:06, Alexander Monakov wrote:
On Mon, 6 Mar 2017, ltp0709@xxxxxxxx wrote:
Is there any replacement tool of ACOVEA ? Can anyone give some suggestions?
I’ll appreciate that :-).

There's a tool called TACT developed by my colleagues at ISPRAS, but as far as
I'm aware it didn't get a lot of use outside of our institute.  You can see a
presentation outlining design goals and some results linked from GNU Cauldron
2013 page at https://gcc.gnu.org/wiki/cauldron2013 (search for "TACT"), and the
tool itself is available at https://github.com/ispras/tact .

There's also a paper with more exposition:
http://www.sciencedirect.com/science/article/pii/S1877050913004419 .

Since it is rare that I can combine my research with my interest in GCC, please excuse me if I also advertise our own tool:
http://iridia.ulb.ac.be/irace

It is a general-purpose tool for black-box optimization in noisy problems with some block structure. It supports numerical and categorical parameters, forbidden parameter combinations, parameters that are conditional to other parameters, etc. Someone would need to add the glue to connect it to GCC.

I would not recommend it over TACT if you just want something that works out-of-the-box. But if you have some time to experiment, it can provide you a baseline for comparison with TACT. (TACT also has other nice GCC-specific features that irace does not have, such as filtering and parameter importance. And it supports multi-objective tuning, whereas irace does not, yet.)

The main advantage of irace over ACOVEA (I didn't understand completely how TACT aggregates and compares results over independent GCC executions, so perhaps they do something beyond computing the mean/median) is that it uses a smarter evaluation method to aggregate and compare over multiple testcases that tries hard to be efficient but also not be misled by outliers, thus it is ideal if you have a bunch of testcases (different codes to compile or different inputs for your code) that should be similar to, but not necessarily identical to, the ones you actually care about.

irace has been used for tuning parameters of optimization software, such as CPLEX, and machine learning software.

Cheers,

Manuel.




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux