* [[http://www.cse.iitb.ac.in/grc/gcc-workshop-10/sources/slides/gccw10-par-vect.pdf|Parallelization and Vectorization in GCC 4.5.0]]
====== 建置 Graphite ======
請見 [[http://gcc.gnu.org/install/prerequisites.html|Prerequisites for GCC]] 中底下兩項描述:
* Parma Polyhedra Library (PPL) version 0.11
* CLooG-PPL version 0.15 or CLooG 0.16
===== GCC 4.5 =====
- 安裝 PPL
$ wget http://www.cs.unipr.it/ppl/Download/ftp/releases/0.11.2/ppl-0.11.2.tar.gz
$ tar xvf ppl-0.11.2.tar.gz
$ mkdir build install; cd build
$ ../ppl-0.11.2/configure --prefix=$INSTALL
$ make; make test; make install
- 安裝 CLooG
$ wget http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-parma-0.16.1.tar.gz
$ tar xvf cloog-parma-0.16.1.tar.gz
$ mkdir install build; cd build
$ ../cloog-parma-0.16.1/configure --prefix=$INSTALL --with-ppl-prefix=$INSTALL
$ make; make check; make install
- 安裝 GCC
$ wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.5.3/gcc-4.5.3.tar.gz; tar xvf gcc-4.5.3.tar.gz
$ mkdir build install; cd build
$ ../gcc-4.5.3/configure --prefix=$INSTALL \
--with-ppl=/tmp/chenwj/install/ \
--with-cloog=/tmp/chenwj/install/ \
--enable-languages=c,c++
===== GCC 4.6 =====
- 安裝 PPL
$ wget http://www.cs.unipr.it/ppl/Download/ftp/releases/0.11.2/ppl-0.11.2.tar.gz
$ tar xvf ppl-0.11.2.tar.gz
$ mkdir build install; cd build
$ ../ppl-0.11.2/configure --prefix=$INSTALL
$ make; make test; make install
- 安裝 CLooG
$ wget http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-0.16.2.tar.gz
$ tar xvf cloog-0.16.2.tar.gz
$ mkdir install build; cd build
$ ../cloog-0.16.2/configure --prefix=$INSTALL
$ make; make check; make install
- 安裝 GCC
$ wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.6.0/gcc-4.6.0.tar.gz; tar xvf gcc-4.6.0.tar.gz
$ ../gcc-4.6.0/configure --prefix=$INSTALL \
# CLooG 後端有 PPL、PolyLib 和 isl。這裡選用 isl。
--enable-cloog-backend=isl \
--with-ppl=/tmp/chenwj/install/ \
--with-cloog=/tmp/chenwj/install/ \
--enable-languages=c,c++
====== Q & A ======
- ''configure: error: cannot compute suffix of object files: cannot compile'' \\ 請見 [[http://gcc.gnu.org/ml/gcc-help/2011-06/msg00268.html|Problem while building GCC 4.6.0 with Graphite enabled]] 和 [[http://gcc.gnu.org/wiki/FAQ#configure_suffix|Configuration fails with ''configure: error: cannot compute suffix of object files: cannot compile''. What is the problem?]]。
18:35 < iant> probably you built gmp/mpfr/mpc yourself but did not use --disable-shared when building them
====== 外部連結 ======
* [[http://gcc.gnu.org/wiki/Graphite|Graphite: Gimple Represented as Polyhedra]]
* [[http://www.grosser.es/publications/grosser-2010--Graphite-two-years-after--GROW-slides.pdf|GRAPHITE Two Years After]]
* [[http://openwall.info/wiki/internal/gcc-local-build#How-to-build-GCC-with-the-Graphite-loop-optimizations|How to create a user-local build of recent GCC]]