To what extent is Intel's implementation of OpenMP on Linux* based on Pthreads? When I look at the code generated by Intel C++ or Fortran with -openmp, I see a lot of __kmpc* calls such as:
call __kmpc_fork_call
I know these are implemented in the compiler OpenMP lib:
/opt/intel/compiler70/ia32/lib/libguide.a
But there is a lot of functionality added by the compiler, over and above what is provided by Pthreads. For example, the Fork-Join model with parallel region master and slave threads -- there is no such concept in Phreads. With Pthreads, all threads are peers.
Are the __kmpc* calls implemented on top of Pthreads, or are they essentially a unique, low-level threading API?
thanks,
patrick
OpenMP and POSIX threads on Linux*
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione



