Regression on ARM hardware gcc 6.2 and 7.1

Regression on ARM hardware gcc 6.2 and 7.1

Thank you for including the slight modifications that allow gcc with Cilk support to build for ARM architectures.  I mentioned a slight problem with performance at https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=102743&p=1197225#p1197225 and also at https://software.intel.com/en-us/forums/intel-cilk-plus/topic/556887 relating to the 7.1 version of the gcc Cilk.  Does anyone know why version 7.1 runs so much slower than version 6.2?

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I just heard back from Andrew Pinski at the gcc bugzilla that cilkplus is deprecated and will be removed in version 8.0.

    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81828

The stated reason is that nobody is using Cilkplus and Intel's support for it disappeared.  I know new versions of OpenMP support task barriers which suspend until child tasks are complete in a way similar to Cilkplus.  Still, the syntax of Cilkplus is easier to read and the vector notation would be useful if it worked.  As parallel programming techniques are essential to make efficient use of modern hardware, my opinion is that deprecating a convenient way of programming multi-core hardware at this point is a mistake.

While CUDA seems to be somewhat successful as a proprietary HPC programming language, just as Cray vector code is no longer useful, proprietary solutions can become obsolete while there is still interest in numerical solutions to a particular scientific problem.  To promote the longevity of Cilkplus two things are needed:  a diversity of programming environments that support the standard and software libraries that depend on it.  My opinion is a widespread investment in writing code to take advantage of Cilkplus will not happen if it is deprecated in gcc.  Admittedly making the Intel Parallel Studio free might change things, but that scenario seems even less likely to me.

What is the future of Cilkplus?  Would it be better to switch to OpenMP now?  What about OpenCL?

Cilkplus never appeared to compete in the same arenas as cuda or opencl.  Intel themselves predicated the case for cilkplus on availability of a working open source version but failed to carry their support to the point of making any such version sufficiently reliable to become self sustaining.  Now that Intel has let several of the former cilkplus players go, they must concentrate on projects with near term return.

I note that the g++-8.0 testsuite still throws 114 FAIL indications attempting to run cilk-plus tests on WSL (ubuntu Windows subsystem).  One would think that planned removal of cilk-plus would imply removing the attempt to build and test it.  People have figured out how to change the defaults so that it builds for cygwin as well, but I can't get those builds to run much.

It's nearly a year since I began filing bugs for cilk-plus cases which fail even on linux, but they all retain NEW status, which I take as an indication that Intel withdrew the CilkPlus(tm) initiative at least that long ago.  With these bugs, cilk reducers are pretty much useless in the usage I look at.

Leave a Comment

Please sign in to add a comment. Not a member? Join today