Intel® Parallel Composer

Оптимизировали, оптимизировали, да не выоптимизировали!

Оптимизация? Конечно, каждый сталкивался с данной задачей при разработке своих, сколь-нибудь значительных, требующих определённых вычислений, приложений. При этом способов оптимизировать код существует огромное множество, и, как следствие, различных путей сделать это в автоматическом режиме с помощью опций компилятора. Вот здесь и возникает проблема – как выбрать то, что нужно нам и не запутаться?

Slides from May 4th Webinar on Cilk

Hi all,

We did a webinar this morning at 8am Pacific time on changes and new updates in Cilk in the Intel Parallel Composer beta. I am posting the slides here. Let me know if there's any interest to do another webinar on this around 5pm or so Pacific time - I want to see if there's anyone that couldn't attend due to the time that would have liked to attend. Thanks everyone, and I really enjoyed the questions in today's session.

gcc 5.1 -mfpmath=387 Floating point exception

It appears that the compiler option -mfpmath=387 immediately causes floating point exceptions on Intel architecture processors in cilk_spawn routines compiled with gcc-5.1 cilk.  This seems to be a regression as gcc-4.9 with the cilk patches works fine.  Note that -mfpmath=sse works on 64-bit machines, however, this option is not available for 32-bit Intel machines.  As far as I can tell, most floating point code is affected.  Does anyone know of patches or workarounds for this, especially as this appears to be a show-stopper on 32-bit Intel.

Cilkplus port to Raspberry Pi 2B

I compiled the new release of gcc-5.1 with the Cilkplus parallel processing extensions and runtime library for ARMv7 architecture on the Raspberry Pi 2B single board computer.  Two changes were needed.

The first change corrects a typo in generic/cilk-abi-vla.c by changing the second to the last line of the file from

vla_internal_heap_free(t, full_size);

to

vla_internal_heap_free(p, full_size);

the second change was to generic/os-fence.c and ARM specific. Comment out the line

COMMON_SYSDEP void __cilkrts_fence(void); ///< MFENCE instruction

changes in CEAN implications re vectorization in next release?

I note that premier.intel.com is open for submissions for the first time in months, so I submitted a ticket.  It still looks like setting up premier for beta 16 has not been completed, as the form requires choosing compiler version 15.0 or earlier from the pull-down.

I'm curious whether Cilk(tm) Plus is under deprecation, in view of the comments at IDF last year that Intel would not sponsor publications on it, and the lack of follow-through to make gcc -fcilkplus viable.

As to changes in behavior in the beta test:

Using Cilk reducer inside Cilker shared function

Hi I am trying to offload some parallel work to MIC using _Cilk_Shared and _Cilk_offload. 

I declare a Cilk shared function:

_Cilk_shared void somefun(int count)

 

In main I call this function using 

_Cilk_offload somefun(12) ;

inside this function everything is expected to be offloaded to MIC;

I want to declare a Cilk reducer inside somefun, so I can then use cilk_for and append to a cilk reducer list, 

but I get error:

Unable to Compile GCC

I was following the instructions from https://www.cilkplus.org/build-gcc-cilkplus, and I consistently got an error saying that "tm.h": no file or directory was found. I'm not sure what tm.h is, or what package it is included with.

I installed the following packages: GNAT (probably doesn't help), GMP, MPFR, MPC, ISL, Flex, Bison.

My configuration options were `./configure --prefix=/usr/lib/gcc/cilkplus --enable-languages="c,c++" --disable-multilib`

On Ubuntu 14.10. 

Iscriversi a Intel® Parallel Composer