[packages/pluto] - new

qboosh qboosh at pld-linux.org
Sun Oct 5 19:35:29 CEST 2014


commit cffb6e24c85a7d448afb98c9ced5ff1f25c92e40
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Oct 5 19:35:40 2014 +0200

    - new

 pluto-system-libs.patch | 177 ++++++++++++++++++++++++++++++++++++++++++++++++
 pluto-updates.patch     | 100 +++++++++++++++++++++++++++
 pluto.spec              | 124 +++++++++++++++++++++++++++++++++
 3 files changed, 401 insertions(+)
---
diff --git a/pluto.spec b/pluto.spec
new file mode 100644
index 0000000..0f2ee4d
--- /dev/null
+++ b/pluto.spec
@@ -0,0 +1,124 @@
+Summary:	PLUTO automatic parallelizer
+Summary(pl.UTF-8):	PLUTO - automatyczny zrównoleglacz
+Name:		pluto
+Version:	0.11.0
+Release:	1
+License:	LGPL v2.1+ (library), GPL v3+ (tools)
+Group:		Libraries
+Source0:	http://downloads.sourceforge.net/pluto-compiler/%{name}-%{version}.tar.gz
+# Source0-md5:	c391e6d4cf49712ef638662c9193c707
+Patch0:		%{name}-system-libs.patch
+Patch1:		%{name}-updates.patch
+URL:		http://pluto-compiler.sourceforge.net/
+BuildRequires:	autoconf >= 2.50
+BuildRequires:	automake
+BuildRequires:	candl-devel >= 0.6.2-1.20120728
+BuildRequires:	clan-devel >= 0.7.1
+BuildRequires:	gcc >= 6:4.2
+BuildRequires:	isl-devel >= 0.13
+BuildRequires:	libgomp-devel
+BuildRequires:	libtool
+BuildRequires:	osl-devel >= 0.8.4
+BuildRequires:	piplib-devel >= 1.4.0
+BuildRequires:	polylib-devel >= 5.22.5
+Requires:	candl >= 0.6.2-1.20120728
+Requires:	clan >= 0.7.1
+Requires:	isl >= 0.13
+Requires:	osl >= 0.8.4
+Requires:	piplib >= 1.4.0
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+PLUTO is an automatic source-to-source transformer that can optimize
+nested loop sequences for coarse-grained parallelism and cache
+locality simultaneously. OpenMP parallel code for multicores can be
+generated from regular C program sections.
+
+%description -l pl.UTF-8
+PLUTO to automatyczne narzędzie operujące na kodzie źródłowy,
+potrafiące optymalizować sekwencje zagnieżdżonych pętli pod kątem
+zrównoleglenia i lokalizacji pamięci podręcznej. Można generować kod
+równoległy OpenMP ze zwykłych sekcji programu w C.
+
+%package devel
+Summary:	Header files for Pluto library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki Pluto
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+Requires:	candl-devel >= 0.6.2-1.20120728
+Requires:	clan-devel >= 0.7.1
+Requires:	isl-devel >= 0.13
+Requires:	libgomp-devel
+Requires:	osl-devel >= 0.8.4
+Requires:	piplib-devel >= 1.4.0
+
+%description devel
+Header files for Pluto library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki Pluto.
+
+%package static
+Summary:	Static Pluto library
+Summary(pl.UTF-8):	Statyczna biblioteka Pluto
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description static
+Static Pluto library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka Pluto.
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+
+%build
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+	--disable-silent-rules
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+# installed by mistake
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/getversion.sh
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc ACKS AUTHORS ChangeLog README
+%attr(755,root,root) %{_bindir}/ploog
+%attr(755,root,root) %{_bindir}/plorc
+%attr(755,root,root) %{_bindir}/pluto
+%attr(755,root,root) %{_bindir}/plutune
+%attr(755,root,root) %{_bindir}/polycc
+%attr(755,root,root) %{_bindir}/vloog
+%attr(755,root,root) %{_libdir}/libpluto.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpluto.so.0
+
+%files devel
+%defattr(644,root,root,755)
+%doc doc/{DOC.txt,pluto.bib}
+%attr(755,root,root) %{_libdir}/libpluto.so
+%{_libdir}/libpluto.la
+%{_includedir}/pluto
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libpluto.a
diff --git a/pluto-system-libs.patch b/pluto-system-libs.patch
new file mode 100644
index 0000000..defd1be
--- /dev/null
+++ b/pluto-system-libs.patch
@@ -0,0 +1,177 @@
+--- pluto-0.11.0/configure.ac.orig	2014-05-30 10:28:06.000000000 +0200
++++ pluto-0.11.0/configure.ac	2014-10-05 14:26:45.652660158 +0200
+@@ -112,74 +112,6 @@ if test "$poly_cv_gmpfatal" = "yes"; the
+ 
+ 
+ 
+-dnl Configuring PipLib (long long int is 64 bits)
+-echo ""
+-echo "=========================="
+-echo "Configuring PipLib"
+-echo "=========================="
+-configureopts="--with-gmp \
+---with-gmp-prefix=$GMP_PREFIX \
+---prefix=$prefix"
+-(cd piplib/
+- $RM config.cache;
+- ./configure ${configureopts} ${archopts}
+- )
+-
+-
+-dnl Configuring Openscop
+-echo ""
+-echo "=========================="
+-echo "Configuring Openscop"
+-echo "=========================="
+-configureopts="--with-gmp=system \
+---with-gmp-prefix=$GMP_PREFIX \
+---prefix=$prefix"
+-(cd openscop/
+- ./configure ${configureopts} ${archopts}
+- )
+-
+-
+-dnl Configuring Clan-osl
+-echo ""
+-echo "=========================="
+-echo "Configuring Clan"
+-echo "=========================="
+-configureopts="--prefix=$prefix \
+---with-osl=build \
+---with-osl-builddir=$SOURCE_DIR/openscop"
+-(cd clan/
+- ./configure ${configureopts} ${archopts}
+- )
+-
+-
+-dnl Configuring Candl-osl
+-dnl can't enable the gmp version without modifying 
+-dnl the precision the is used elsewhere in pluto
+-echo ""
+-echo "=========================="
+-echo "Configuring Candl"
+-echo "=========================="
+-configureopts="--enable-llint-version \
+---prefix=$prefix \
+---with-piplib=build \
+---with-piplib-builddir=$SOURCE_DIR/piplib \
+---with-osl=build \
+---with-osl-builddir=$SOURCE_DIR/openscop"
+-(cd candl/
+- ./configure ${configureopts} ${archopts}
+- )
+-
+-
+-dnl Configuring polylib
+-echo ""
+-echo "======================"
+-echo "Configuring polylib"
+-echo "======================"
+-configureopts="--enable-longlongint-lib \
+---prefix=$prefix"
+-(cd polylib/
+- ./configure ${configureopts}
+-)
+ 
+ 
+ AC_SUBST(ISL_INCLUDE)
+@@ -219,32 +151,6 @@ configureopts="--with-gmp=system \
+ fi
+ 
+ 
+-dnl Configuring Cloog 0.14.1 (long long int)
+-echo ""
+-echo "=========================="
+-echo "Configuring Cloog-isl"
+-echo "=========================="
+-if test x$external_isl = xfalse; then
+-configureopts="--with-isl=build \
+---with-isl-builddir=$SOURCE_DIR/isl \
+---with-gmp=system \
+---with-gmp-prefix=$GMP_PREFIX \
+---with-osl=build \
+---with-osl-builddir=$SOURCE_DIR/openscop \
+---prefix=$prefix"
+-else
+-configureopts="--with-isl=system \
+---with-isl-prefix=$isl_prefix \
+---with-gmp=system \
+---with-gmp-prefix=$GMP_PREFIX \
+---with-osl=build \
+---with-osl-builddir=$SOURCE_DIR/openscop \
+---prefix=$prefix"
+-fi
+-(cd cloog-isl/
+- ./configure ${configureopts} ${archopts}
+- )
+-
+ AC_PATH_PROGS(BASH, bash)
+ 
+ AC_CONFIG_FILES([getversion.sh], [chmod +x ./getversion.sh])
+--- pluto-0.11.0/Makefile.am.orig	2014-05-30 10:28:06.000000000 +0200
++++ pluto-0.11.0/Makefile.am	2014-10-05 15:40:59.042473155 +0200
+@@ -18,7 +18,7 @@
+ endif
+ 
+ 
+-SUBDIRS = piplib openscop clan candl polylib $(MAY_ISL) cloog-isl src
++SUBDIRS = src
+ 
+ ACLOCAL_AMFLAGS = -I m4
+ 
+--- pluto-0.11.0/src/Makefile.am.orig	2014-05-30 10:28:07.000000000 +0200
++++ pluto-0.11.0/src/Makefile.am	2014-10-05 15:51:12.572447520 +0200
+@@ -19,25 +19,12 @@
+ 
+ pluto_SOURCES = constraints.c constraints_polylib.c constraints_isl.c math_support.c ddg.c transforms.c pluto.c post_transform.c framework.c pluto_codegen_if.c polyloop.c ast_transform.c main.c constraints.h math_support.h pluto.h program.c program.h tile.c unit_tests.c
+ pluto_CPPFLAGS = -O3 -funroll-loops -fopenmp \
+-   -DSCOPLIB_INT_T_IS_LONGLONG -DCLOOG_INT_GMP \
+-   -I../include \
+-   -I../piplib/include \
+-   -I../clan/include \
+-   $(ISL_INCLUDE) \
+-   -I../cloog-isl/include \
+-   -I../openscop/include \
+-   -I../candl/include \
+-   -I../polylib/include
++   -DSCOPLIB_INT_T_IS_MP -DCLOOG_INT_GMP \
++   -I../include
+ 
+-pluto_LDFLAGS = -static -fopenmp
++pluto_LDFLAGS = -fopenmp
+ pluto_LDADD =  \
+-   ../piplib/libpiplib64.la \
+-   ../openscop/libosl.la \
+-   ../clan/libclan.la \
+-   ../cloog-isl/libcloog-isl.la \
+-   $(ISL_LIBADD) \
+-   ../polylib/libpolylib64.la \
+-   ../candl/libcandl.la \
++   -lpiplibMP -losl -lclan -lcloog-isl -lisl -lpolylibgmp -lcandl \
+    -lm
+ 
+ lib_LTLIBRARIES = libpluto.la
+@@ -45,20 +32,10 @@
+ # libpluto doesn't use polylib-based functions
+ libpluto_la_SOURCES = constraints.c constraints_isl.c math_support.c ddg.c transforms.c pluto.c post_transform.c framework.c polyloop.c libpluto.c constraints.h math_support.h pluto.h program.c program.h tile.c
+ libpluto_la_CPPFLAGS = -O3 -funroll-loops -fopenmp \
+-   -DSCOPLIB_INT_T_IS_LONGLONG -DCLOOG_INT_GMP \
+-   -I../include \
+-   -I../piplib/include \
+-   -I../clan/include \
+-   -I../openscop/include \
+-   -I../candl/include \
+-   -I../cloog-isl/include \
+-   $(ISL_INCLUDE)
++   -DSCOPLIB_INT_T_IS_MP -DCLOOG_INT_GMP \
++   -I../include
+ 
+ # libpluto doesn't use polylib
+ libpluto_la_LIBADD = \
+-   ../piplib/libpiplib64.la \
+-   ../openscop/libosl.la \
+-   ../clan/libclan.la \
+-   ../candl/libcandl.la \
+-   $(ISL_LIBADD) \
++   -lpiplibMP -losl -lclan -lcandl -lisl \
+    -lm -lgomp
diff --git a/pluto-updates.patch b/pluto-updates.patch
new file mode 100644
index 0000000..3b39d7b
--- /dev/null
+++ b/pluto-updates.patch
@@ -0,0 +1,100 @@
+--- pluto-0.11.0/src/constraints_isl.c.orig	2014-05-30 10:28:07.000000000 +0200
++++ pluto-0.11.0/src/constraints_isl.c	2014-10-05 18:36:32.182031269 +0200
+@@ -14,6 +14,9 @@
+ #include "constraints.h"
+ #include "pluto.h"
+ 
++#include "isl/deprecated/constraint_int.h"
++#include "isl/deprecated/mat_int.h"
++#include "isl/deprecated/point_int.h"
+ #include "isl/map.h"
+ #include "isl/set.h"
+ 
+--- pluto-0.11.0/src/framework.c.orig	2014-05-30 10:28:07.000000000 +0200
++++ pluto-0.11.0/src/framework.c	2014-10-05 18:37:10.948696367 +0200
+@@ -32,6 +32,8 @@
+ #include <isl/constraint.h>
+ #include <isl/mat.h>
+ #include <isl/set.h>
++#include <isl/deprecated/int.h>
++#include <isl/deprecated/mat_int.h>
+ #include "candl/candl.h"
+ 
+ static void eliminate_farkas_multipliers(PlutoConstraints *farkas_cst, int num_elim);
+--- pluto-0.11.0/src/polyloop.c.orig	2014-05-30 10:28:07.000000000 +0200
++++ pluto-0.11.0/src/polyloop.c	2014-10-05 18:37:26.448695622 +0200
+@@ -23,6 +23,7 @@
+  *
+  */
+ #include <assert.h>
++#include <string.h>
+ 
+ #include "pluto.h"
+ #include "program.h"
+--- pluto-0.11.0/src/program.c.orig	2014-05-30 10:28:07.000000000 +0200
++++ pluto-0.11.0/src/program.c	2014-10-05 18:40:07.968688856 +0200
+@@ -57,6 +57,8 @@
+ #include <isl/set.h>
+ #include <isl/flow.h>
+ #include <isl/union_map.h>
++#include <isl/deprecated/int.h>
++#include <isl/deprecated/mat_int.h>
+ 
+ void pluto_add_dep(PlutoProg *prog, Dep *dep)
+ {
+@@ -477,8 +479,8 @@ void pluto_populate_scop (osl_scop_p sco
+     {
+       int niter = stm->domain->nb_columns - scop->context->nb_columns;
+       int nb_orig_it = -1;
+-      if(stm->body){
+-        osl_body_p stmt_body = (osl_body_p)(stm->body->data);
++      osl_body_p stmt_body = osl_statement_get_body(stm);
++      if(stmt_body){
+         nb_orig_it = osl_strings_size(stmt_body->iterators);
+         if (nb_orig_it != niter)
+           {//update iterators.
+@@ -1134,7 +1136,7 @@ static Stmt **osl_to_pluto_stmts(const o
+         /* Tile it if it's tilable unless turned off by .fst/.precut file */
+         stmt->tile = 1;
+ 
+-        osl_body_p stmt_body = (osl_body_p)(scop_stmt->body->data);
++        osl_body_p stmt_body = osl_statement_get_body(scop_stmt);
+ 
+         for (j=0; j<stmt->dim; j++)    {
+             stmt->iterators[j] = strdup(stmt_body->iterators->string[j]);
+@@ -1876,7 +1878,7 @@ static void compute_deps(osl_scop_p scop
+               dim = set_names(dim, isl_dim_param, scop_params->string);
+             }
+             if(niter){
+-              osl_body_p stmt_body = (osl_body_p)(stmt->body->data);
++              osl_body_p stmt_body = osl_statement_get_body(stmt);
+               dim = set_names(dim, isl_dim_set, stmt_body->iterators->string);
+             }
+             dim = isl_dim_set_tuple_name(dim, isl_dim_set, name);
+@@ -1890,7 +1892,7 @@ static void compute_deps(osl_scop_p scop
+               dim = set_names(dim, isl_dim_param, scop_params->string);
+             }
+             if(niter){
+-              osl_body_p stmt_body = (osl_body_p)(stmt->body->data);
++              osl_body_p stmt_body = osl_statement_get_body(stmt);
+               dim = set_names(dim, isl_dim_in, stmt_body->iterators->string);
+             }
+             dim = isl_dim_set_tuple_name(dim, isl_dim_in, name);
+@@ -1954,7 +1956,7 @@ static void compute_deps(osl_scop_p scop
+                   names->parameters = osl_strings_clone(scop_params);
+                 }
+                 if(niter){
+-                  osl_body_p stmt_body = (osl_body_p)(stmt->body->data);
++                  osl_body_p stmt_body = osl_statement_get_body(stmt);
+                   dim = set_names(dim, isl_dim_set, stmt_body->iterators->string);
+ 
+                   osl_strings_free(names->iterators);
+@@ -1971,7 +1973,7 @@ static void compute_deps(osl_scop_p scop
+                   dim = set_names(dim, isl_dim_param, scop_params->string);
+                 }
+                 if(niter){
+-                  osl_body_p stmt_body = (osl_body_p)(stmt->body->data);
++                  osl_body_p stmt_body = osl_statement_get_body(stmt);
+                   dim = set_names(dim, isl_dim_in, stmt_body->iterators->string);
+                 }
+                 dim = isl_dim_set_tuple_name(dim, isl_dim_in, name);
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/pluto.git/commitdiff/cffb6e24c85a7d448afb98c9ced5ff1f25c92e40



More information about the pld-cvs-commit mailing list