Re: Machine Learning in Optimization ?

=?ISO-8859-1?Q?Bj=F6rn_Franke?= <bfranke@inf.ed.ac.uk>
Wed, 04 Jun 2008 15:44:56 +0100

          From comp.compilers

Related articles
Machine Learning in Optimization ? linuxkaffee@gmx.net (Stephan Ceram) (2008-06-02)
Re: Machine Learning in Optimization ? bfranke@inf.ed.ac.uk (=?ISO-8859-1?Q?Bj=F6rn_Franke?=) (2008-06-04)
Re: Machine Learning in Optimization ? linuxkaffee@gmx.net (Stephan Ceram) (2008-06-09)
Re: Machine Learning in Optimization ? bfranke@inf.ed.ac.uk (=?ISO-8859-1?Q?Bj=F6rn_Franke?=) (2008-06-10)
| List of all articles for this month |

From: =?ISO-8859-1?Q?Bj=F6rn_Franke?= <bfranke@inf.ed.ac.uk>
Newsgroups: comp.compilers
Date: Wed, 04 Jun 2008 15:44:56 +0100
Organization: Edinburgh University
References: 08-06-003
Keywords: optimize
Posted-Date: 04 Jun 2008 10:44:30 EDT

Hi Stephan,


[... machine learning in compilers ...]


> Just out of curiosity I was wondering how the machine learning system
> is integrated into a compiler. Is this done by having a data base
> which is extended during learning or are the results stored in a file?


For the particular paper you are referring to the data was collected
in text files containing comma separated values. These files have been
subsequently processed by various machine learning algorithms
implemented in Matlab. However, this is just a technical
implementation issue. Whether you use a relational database or just
some proprietary data repository doesn't really matter. In terms of
interfacing this approach is certainly not the most efficient way of
doing this, though.


> And what free tools are there which can be integrated in a C++
> project? Any powerful C++ libraries?


You may want to look at GCC ICI [1] (= Interactive Compilation
Interface). Basically, GCC ICI is an initiative to open up the
internal heuristics of GCC and allow an external tool to make the
decisions for GCC whenever it has to decide on whether or not to apply
a transformation or to choose a transformation parameter. So, GCC ICI
is a GCC framework with handles to an external decision making tool
which may or may not be based on machine learning.


In terms of machine learning packages WEKA [2] may be useful to
you. As WEKA is written in Java you may need to develop your own C++
wrappers, though. Some information on bridging WEKA and .NET can be
found in [3].


Cheers,


      Bjoern






[1] http://gcc-ici.sourceforge.net/
[2] http://weka.sourceforge.net
[3] http://weka.sourceforge.net/wiki/index.php/Use_Weka_with_the_Microsoft_.NET_Framework


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.