Opened 10 years ago
Closed 5 years ago
#12666 closed enhancement (wontfix)
Optional CLooGPPL spkg
Reported by:  SimonKing  Owned by:  tbd 

Priority:  major  Milestone:  sageduplicate/invalid/wontfix 
Component:  packages: optional  Keywords:  CLooG PPL ISL GCC LTO 
Cc:  leif  Merged in:  
Authors:  Reviewers:  François Bissey  
Report Upstream:  N/A  Work issues:  
Branch:  Commit:  
Dependencies:  #12672  Stopgaps: 
Description (last modified by )
As much as I understand, for building GCC with "graphite" one needs CLooGPPL
(the Chunky Loop Generator) being installed. Note that CLooG
plus PPL seems not to be enough
Hence, I suggest to have an optional spkg. At least on openSuse, the straight forward way to make an spkg (no patches, and an spkginstall and spkgcheck that just to ./configure prefix...
, make
, make install
and make check
) seems to work.
This is related with #12369, and depends on #12672.
spkg: http://boxen.math.washington.edu/home/SimonKing/SAGE/spkgs/cloog_ppl0.15.11.spkg
Change History (23)
comment:1 Changed 10 years ago by
 Status changed from new to needs_review
comment:2 Changed 10 years ago by
comment:3 Changed 10 years ago by
It turns out that the gcc package from #12369 can not use this cloog package.
I am not sure whether this is because of wrong sources (there seems to be a difference between cloog and cloogppl) or a missing configuration option.
Anyway. With a cloogppl package using the options withgmp withppl
, the gcc package seems to pick up CLooG PPL
. I'm afraid I can not post the updated packages, as sage.math seems to be down.
comment:4 Changed 10 years ago by
 Description modified (diff)
comment:5 Changed 10 years ago by
 Status changed from needs_review to needs_work
I think you are missing the configure option
withgmpprefix="$SAGE_LOCAL"
comment:6 followup: ↓ 7 Changed 10 years ago by
(even though CLooG seems to build without that option, which I cannot really explain...)
comment:7 in reply to: ↑ 6 Changed 10 years ago by
Replying to jdemeyer:
(even though CLooG seems to build without that option, which I cannot really explain...)
I guess it is since CLooG
looks for GMP in the standard location, "standard" being determined by the prefix="$SAGE_LOCAL"
option that I do provide.
Anyway. What is really missing is at least the option withppl
, or even a cloogppl package with that option.
Since sage.math seems to be down, I can't post either of the two spkgs...
comment:8 Changed 10 years ago by
 Cc leif added
 Dependencies set to #12672 #12661
 Description modified (diff)
 Keywords PPL added
 Status changed from needs_work to needs_review
 Summary changed from Optional CLooG spkg to Optional CLooGPPL spkg
Leif cited from the GCC prerequisites page:
CLooGPPL version( 0.15 or CLooG 0.16 Necessary to build GCC with the Graphite loop optimizations. There are two versions available. CLooGPPL 0.15 as well as CLooG 0.16. The former is the default right now. It can be downloaded from ftp://gcc.gnu.org/pub/gcc/infrastructure/ as cloogppl0.15.tar.gz. CLooG 0.16 support is still in testing stage, but will be the default in future GCC releases. It is also available at ftp://gcc.gnu.org/pub/gcc/infrastructure/ as cloog0.16.1.tar.gz. To use it add the additional configure option enablecloogbackend=isl. Even if CLooG 0.16 does not use PPL, PPL is still required for Graphite.
Actually, I found that cloog0.16.1
does not work, i.e., gcc does not build. Hence, I made a cloog_ppl0.15.11 spkg, that I suggest to make an optional spkg.
comment:9 followup: ↓ 10 Changed 10 years ago by
 Dependencies changed from #12672 #12661 to #12672
 Status changed from needs_review to needs_work
You are missing the configure options
withgmp="$SAGE_LOCAL" withppl="$SAGE_LOCAL"
If I apply the following patch, CLooGPPL builds fine (even without the GMP spkg):

spkginstall
diff r 93c792cfd365 spkginstall
a b 10 10 SAGE_CONF_OPTS="enableshared disablestatic" 11 11 12 12 cd src 13 ./configure libdir="$SAGE_LOCAL/lib" prefix="$SAGE_LOCAL" withgmp withppl$SAGE_CONF_OPTS13 ./configure libdir="$SAGE_LOCAL/lib" prefix="$SAGE_LOCAL" withgmp="$SAGE_LOCAL" withppl="$SAGE_LOCAL" $SAGE_CONF_OPTS 14 14 $MAKE 15 15 if [ $? ne 0 ]; then 16 16 echo "Error building CLooG PPL."
comment:10 in reply to: ↑ 9 Changed 10 years ago by
 Status changed from needs_work to needs_review
Replying to jdemeyer:
You are missing the configure options
withgmp="$SAGE_LOCAL" withppl="$SAGE_LOCAL"If I apply the following patch, CLooGPPL builds fine (even without the GMP spkg):
Cool! I just updated my spkg on boxen.math
comment:11 Changed 10 years ago by
Thanks, that seems to work.
Unfortunately, I'm afraid your earlier performance tests with GCC are now invalidated and should be done again with this spkg and without GMP.
comment:12 Changed 10 years ago by
 Description modified (diff)
comment:13 Changed 8 years ago by
 Milestone changed from sage5.11 to sage5.12
comment:14 followup: ↓ 18 Changed 8 years ago by
 Status changed from needs_review to needs_info
Should we obsolete this? Recent gcc still use cloog but with isl instead of ppl. Plus we upgraded ppl to 1.1 I don't think anyone patch cloog anymore to interface with ppl after 0.12.x. gcc was the main consumer of that.
comment:15 Changed 8 years ago by
 Milestone changed from sage6.1 to sage6.2
comment:16 Changed 7 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:17 Changed 7 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:18 in reply to: ↑ 14 Changed 5 years ago by
 Keywords ISL GCC LTO added
 Milestone changed from sage6.4 to sageduplicate/invalid/wontfix
 Status changed from needs_info to needs_review
Replying to fbissey:
Should we obsolete this? Recent gcc still use cloog but with isl instead of ppl. Plus we upgraded ppl to 1.1 I don't think anyone patch cloog anymore to interface with ppl after 0.12.x. gcc was the main consumer of that.
More than two and a half years later...
I think we can close this, as while GCC 4.9 still uses CLooG and ISL, GCC 5.x and 6.x have dropped CLooG and now only use ISL (if at all, i.e., with enablelto
).
Feel free to open a new ticket making ISL an optional package.
comment:19 Changed 5 years ago by
P.S.: enablelto
is meanwhile even the default. GCC will automatically pick up ISL when present (installed library and headers, or source in the build tree) and otherwise simply disable LTO support.
comment:20 followup: ↓ 21 Changed 5 years ago by
 Status changed from needs_review to positive_review
cloog/isl and previously ppl were for the graphite plugin which does loop optimization, not "link time optimization" unless you know something I don't. In any case I am for closing it too.
comment:21 in reply to: ↑ 20 ; followup: ↓ 22 Changed 5 years ago by
 Reviewers set to François Bissey
Replying to fbissey:
cloog/isl and previously ppl were for the graphite plugin which does loop optimization, not "link time optimization" unless you know something I don't.
Yes, but that was (at least years ago) also, if not only, done at link time. But LTO has massively changed (and improved) over the last years, they say.
Not sure whether CLooG was initially used during compilation as well.
In any case I am for closing it too.
Ok, I guess Simon won't complain either.
comment:22 in reply to: ↑ 21 Changed 5 years ago by
Replying to leif:
Replying to fbissey:
cloog/isl and previously ppl were for the graphite plugin which does loop optimization, not "link time optimization" unless you know something I don't.
Yes, but that was (at least years ago) also, if not only, done at link time. But LTO has massively changed (and improved) over the last years, they say.
Not sure whether CLooG was initially used during compilation as well.
Hmmm, strike that. I couldn't find any reference, and both seem indeed independent, while combining them may of course be advantageous. (Hence you're right, enablelto
is orthogonal to withisl
.)
comment:23 Changed 5 years ago by
 Resolution set to wontfix
 Status changed from positive_review to closed
Determined to be invalid/duplicate/wontfix (closing as "wontfix" as a catchall resolution).
I forgot to mention that
CLooG
needsGMP
. Therefore it might be needed to install the spkg from #12661 as well.