psthreads @ ppg

PSThreads is an open source threading library that implements a hybrid two-level (M:N) thread model: non-preemptive user-level threads are executed on top of kernel-level threads. PSThreads provides support for unlimited, high-performance nested parallelism.

Publications & documentation

If you want to cite PSThreads in your work please use the following publication:

P.E. Hadjidoukas, G.Ch. Philos, V.V. Dimakopoulos, “Exploiting fine-grain thread parallelism on multicore architectures”, Scientific Programming, Vol. 17, No. 4, Nov. 2009, pp. 309–323.

You can also view related publications.

PSThreads is distributed as a stand-alone software package (see below). Documentation is included in the tarball. The OMPi compiler comes with the necessary support for PSThreads but does not include the PSThreads library itself. If you want to use PSThreads with OMPi, you have to download and install it separately and then configure OMPi to use it, as explained in OMPi’s documents. In particular, assuming that you are currently working in the root directory of OMPi’s source tree, here is all that is needed:

  ./configure CFLAGS="`psthreads_cflags`" --with-ortlib=psthreads ...
  cd lib
  make clean
  make
  make install

and use as in:

  ompicc --ort=psthreads program.c

Download

Version Link Notes
1.0.4 Download » Improvements (see Changelog)
» Compatibility with OMPi version ≥ 1.2.2
1.0.3 Download » Bug fixes & improvements (see Changelog)
1.0.0 Download » First public release