Software Archive
Read-only legacy content
17061 Discussions

Cilk Plus patch for gcc 4.7

Brandon_H_Intel
Employé
1 474 Visites

All,

There's now an open source implementation of Intel Cilk Plus based on gcc 4.7.

Information on how to contribute is at:

http://software.intel.com/en-us/articles/contribute-to-intel-cilk-plus/

Source is at:

http://software.intel.com/en-us/articles/download-intel-cilk-plus-source/

0 Compliments
9 Réponses
philouphilou_ch
Débutant
1 474 Visites
Thanks Intel, good move!

I've tried compiling gcc cilkplus 4.7 latest SVN on MacOSX, both 10.6 and 10.7, it fails, MacOSX supporting only weak object references in it's Mach-O files it seems.
On debian Linux 6.0 it went fine, when *NOT* trying to compile against libppl and libcloog, to take advantage of graphite loop optimizations. otherwise (trying to have graphite activated), after bootstrap phase, a configure script die because xgcc does not recognize the capital V option (-V).
Regards.
Philippe, Lausanne, Switzerland.
0 Compliments
philouphilou_ch
Débutant
1 474 Visites
Oops a bug, when using -O or -O2 switch, the following code :
-- 8< --
#include
#include
int fib (int n) {
if (n<2)
return n;
else {
int x, y;
x = cilk_spawn fib (n-1);
y = cilk_spawn fib (n-2);
cilk_sync;
return (x+y);
}
}
int main (int argc, char *argv[]) {
int n, result;
n = atoi(argv[1]);
result = cilk_spawn fib(n);
cilk_sync;
printf ("Result: %d\n", result);
return 0;
}
-- 8< --
/opt/cilkplus/bin/gcc -pthread -O -o fib fib-cilk.c -lcilkrts
gives:
fib-cilk.c: In function main:
fib-cilk.c:27:1: error: definition in block 4 does not dominate use in block 3
for SSA_NAME: n_21(ab) in statement:
n_6(ab) = PHI
PHI argument
n_21(ab)
for PHI node
n_6(ab) = PHI
fib-cilk.c:27:1: internal compiler error: verify_ssa failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <> for instructions.
without -O or -O2 it build fine.
0 Compliments
KitturGanesh
Employé
1 474 Visites
Hi,

Thanks for the above(fib) bug, which is under investigation. Also, the first release was for Linux, but the Intel Cilk Plus Support for Mac OS* X is forthcoming soon. I'll keep you updated as soon as it becomes available.

-regards,
Kittur
0 Compliments
Balaji_I_Intel
Employé
1 474 Visites
Hello Philippe,
Thank you very much for your post. Can we use the example code you posted aboveas part of the cilk-plus test suite in GCC?

Thanks,

Balaji V. Iyer.
0 Compliments
philouphilou_ch
Débutant
1 474 Visites
I guess so, it comes out of the old MIT cilk 5.4.6 project documentation,http://supertech.csail.mit.edu/cilk/, licensed GPL, but about licensing of an example in the documentation ?? I dunno.
0 Compliments
Balaji_I_Intel
Employé
1 474 Visites
Hello Philippe,
We have send a new patch to the gcc-patches mailing list that should fix this problem. Please let me know otherwise.

Thanks,

Balaji V. Iyer.
0 Compliments
philouphilou_ch
Débutant
1 474 Visites
Hello Balaji,
with this second patch, which you seem to have pushed on SVN some hours ago, the build on latest linux debian dies in libcilkrts, while configuring it, with the following errors in config.log:
g++: error: unrecognized command line option '-funconfigured-libstdc++-v3'
the same error with or without graphite loop optim enable in the gcc build (ppl, cloog).
I don't know enough of gcc internals to be of any more help there.
I've emailed cilk@intel.com with the full report.
Regard.
0 Compliments
Balaji_I_Intel
Employé
1 474 Visites

Hi Phillipe,

We were able to get it successfully built and installed in Ubuntu. We will try to reproduce the problem and get back to you. In the meantime, can you please tell me yourOS version (along with32 or 64 bit), and the versions of the following tools;

1) flex

2) bison

4) texinfo

6) GCC

7) autogen

8) gmake

9) automake

Thanks,

Balaji V. Iyer.

0 Compliments
philouphilou_ch
Débutant
1 474 Visites
This is a debian stable, aka "squeeze" 6.0 box, x86_64/amd64
philou@lenix:~$ gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.5 (Debian 4.4.5-8)
flex: 2.5.35-10
bison: 1:2.4.1.dfsg-3
texinfo: 4.13a.dfsg.1-6
gcc: 4.4.5-8
make: 3.81-8
automake: 1:1.11.1-1
autoconf: 2.67-2
libtool: 2.2.6b-2
autotools-dev (incl. autogen.sh) : 20100122.1

regards.

0 Compliments
Répondre