Finally, after several months of updates and testing of MILEPOST GCC
and cTuning web-services, I managed to sort out most of the issues
and produce the new fully updated MILEPOST 1.5 compiler
together with documentation (thanks to Yuriy and Abdul for
helping with the testing!):
http://ctuning.org/wiki/index.php/CTools:MilepostGCC:Documentation
Also, I updated the whole MILEPOST GCC webpage:
http://cTuning.org/milepost-gcc
By the way, most of the functionality for calculating speedups,
building optimization space frontiers for execution time speedups,
code size improvements and compilation time speedups have been
updated on the cDatabase and CCC framework that I will also
release by the end of this month.
Before releasing the compiler, I attached the patch that can be
put on top of current official MILEPOST 1.0 GCC 4.4.0 to recompile
it. It now includes part of the CCC framework with the milepost-gcc
wrapper so there is no need to install CCC framework ...
Nik, Yuriy and others - do you mind to check it please?
I also slightly modified the ICI plugin to be able to process only
a few functions instead of the whole program - you can just put
the file _ctuning_select_functions.txt with the list of functions
to process to the compilation directory. Nik, for now, this can
be a temporal solution for your problem with MILEPOST GCC crash,
to specify only a few hot functions and avoid the function that
crashed compiler. I will ask Joern to check this issue and check
g++ before releasing the new version...
In the attached file, I know have several demos so normally, after
simple configuration, you can now easily test MILEPOST GCC...
Now, hopefully, we will check ICI with g++ for GCC 4.4.0 and
check the crash that Nik found and then we will be able to release
the MILEPOST GCC before I move to a new private Lab so that
you can continue using/extending it with the cTuning community ...
Hope this variant of the compiler will be more stable/useful and have fun ;),
Grigori
Joern found a mistake in the script _build_plugins_ml.sh. I commented compilation
of XSB (just to testing only plugins but then I forgot to uncomment it):
#Have to compile XSB in its own directory
#pushd $SRC_DIR/src-third-party/XSB/build/
#make distclean
#./configure --prefix=$BUILD_DIR
#./makexsb
#./makexsb install
#popd
You have to uncomment it and rerun this script from scratch again:
#Have to compile XSB in its own directory
pushd $SRC_DIR/src-third-party/XSB/build/
make distclean
./configure --prefix=$BUILD_DIR
./makexsb
./makexsb install
popd
If you don't do this, you machine learning plugins will not work ...
Cheers,
Grigori
Hi all,
http://ctuning.org/wiki/index.php/CTools:MilepostGCC:Documentation
--
You received this message because you are subscribed to the Google Groups "ctuning-discussions"
group.
To post to this group, send email to ctuning-d...@googlegroups.com.
To unsubscribe from this group, send email to ctuning-discuss...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ctuning-discussions?hl=en.
> http://ctuning.org/wiki/index.php/CTools:MilepostGCC:Documentation
You say there that the compiler is available under GPL v2, but that
can't be true, since GCC since 4.2.2 is only available under GPL v3
or later.
By the way, I have been releasing CCC framework under GPL v2
and I added some parts of it to the MILEPOST GCC - does it mean
that I have to change that part of CCC framework to GPL v3
or it is not necessary (it's just a wrapper around GCC
to invoke machine learning modes and collective optimization modes)...
Cheers,
Grigori
> Ups! Thanks!Updated...
>
> By the way, I have been releasing CCC framework under GPL v2
> and I added some parts of it to the MILEPOST GCC - does it mean
> that I have to change that part of CCC framework to GPL v3
> or it is not necessary (it's just a wrapper around GCC
> to invoke machine learning modes and collective optimization modes)...
IIRC the stance of the FSF is that if your program can only used together
with a GPLed program, it is a dervative work of the GPLed program, even
if you don't actually link to it (although AFAIK this hasn't ever been
tested in court).
So the safe option is to make the license compatible. Instead of GPL v3
you could also say GPL v2 or any later version; this will allow to use
the framework also with GCC 4.2.1 or other compilers under GPL v2.
Other options are GPL v3 or later, the GNU AFFERO General Public License
version 3, or the GNU AFFERO General Public License v3 or later.
The GNU AFFERO license would bring an additional restriction on
(non-end-)users: if someone uses the covered code to provide a compilation
service over a network, they would have to prominently offer a way to get
the source code.
See http://www.gnu.org/licenses/agpl.html .
-----Original Message-----
From: ctuning-d...@googlegroups.com [mailto:ctuning-d...@googlegroups.com] On Behalf
Quoting Grigori Fursin <gfu...@gmail.com>:
--