Building on Mac OS X 10.9

I'm trying to build the openmprtl on Mac OS X 10.9, to be used with OpenMP/Clang project. Is this supposed to be possible? A new thing with 10.9 is that gcc is just a macro for clang, which maybe is confusing the build scripts.

I try to build with:

make compiler=clang

And I get a build error in "Cannot parse GNU compiler version" as it has run gcc and get clang output (as gcc is just a macro for clang on 10.9). I was thinking that when you compile with "compiler=clang" the would not look for gcc at all.

How do I know in which core my thread is running

Hello guys.

I'm trying to scale a for loop but I'm getting even worse results.

My serial code runs in 30s but my openmp version completed in 200s.

This is my pragma.

int procs = omp_get_num_procs();
#pragma omp parallel for num_threads(procs)\
shared (c, u, v, w, k, j, i, nx, ny) \
reduction(+: a, b, c, d, e, f, g, h, i)

And this are my openmp exports :

export KMP_AFFINITY=verbose,scatter 

And this is my verbose running in 1 node 8 cores

The Chronicles of Phi - part 3 Hyper-Thread Phalanx – tiled_HT1 continued

The prior part (2) of this blog provided a header and set of function that can be used to determine the logical core and logical Hyper-Thread number within the core. This determination is to be use in an optimization strategy called the Hyper-Thread Phalanx.

how to enable work-stealing

Dear all,

I want to enable work-stealing in intel OpenMP and thus set the variable KMP_TASKING=1. However, all OpenMP based programs have segmentation fault (core dumped) at the start of the parallel region.

Please, could somebody give me some guidelines in order to enable the work-stealing feature in intel OpenMP? I use the latest icc and ifort to compile the C and fortran programs, respectively.

Thanks a lot for your help.

Best Regards,

Yaqiong Peng

The Chronicles of Phi - part 1 The Hyper-Thread Phalanx

The term phalanx is derived from a military formation used by the ancient Greeks and Romans. The formation generally involved soldiers lining up shoulder to shoulder, shield to shield multiple rows deep. The formation would advance in unison becoming “an irresistible force.” I use the term Hyper-Thread Phalanx to refer to the Hyper-Thread siblings of a core being aligned shoulder-to-shoulder and advancing forward.

Compiler flags

Dear all,

I am looking for flag option that used to generate intermediate representation of OpenMP* on icc, such as explain in (1.7.1 Work Sharing Example).

Also, is it possible to extend  icc compiler by adding new pragma (directive)?

Thanks in adavnce


__kmpc_push_num_threads bug?

I use __kmpc_push_num_threads for support num_threads clause. But it is segmentation fault when call __kmp_push_num_threads.

I debug with gdb and found that __kmp_threads is null. This is __kmpc_push_num_threads bug? or I miss anything?

7884	    kmp_info_t *thr = __kmp_threads[gtid];
(gdb) p __kmp_threads
$1 = (kmp_info_t **) 0x0

Thank you


Effeciently parallelizing the code in fortran


I am trying to parallelize a certain section of my code which is written in fortran. The code snippet looks as below:

do i=1,50

j = K
... if conditions on K...
....write and reads on j...
... do lot of things ...
K = K+1

So I tried to parallelize using the below code.. which was obviously not as it should have been

订阅 OpenMP*