Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
wiki:programming_libraries [2012/04/28 00:52] – [Thread management and CPU-affinity in linux] emrum | wiki:programming_libraries [2012/10/31 23:40] – [Lockfree (non-blocking) Data Structures - Libraries] emrum |
---|
* [[http://www.boost.org/doc/libs/1_39_0/boost/interprocess/detail/atomic.hpp| Boost Atomic.hpp (c++) ]] | * [[http://www.boost.org/doc/libs/1_39_0/boost/interprocess/detail/atomic.hpp| Boost Atomic.hpp (c++) ]] |
* [[http://threadingbuildingblocks.org/| Intel® Threading Building Blocks (Intel TBB) ]] | * [[http://threadingbuildingblocks.org/| Intel® Threading Building Blocks (Intel TBB) ]] |
| * [[http://lttng.org/urcu| Userspace RCU library]] - User-level Read-Copy Update, Lock-free data structures (RCU lock-free hash table with auto-resize, queues, stacks), atomic operations, efficient user-level wait/wake-up |
* [[http://www.ioremap.net/node/224| libsync - Atomic operations and userspace RCU ]] | * [[http://www.ioremap.net/node/224| libsync - Atomic operations and userspace RCU ]] |
* [[http://www.pjsip.org/docs/latest/pjlib/docs/html/index.htm| PJLIB ]] - A small footprint framework library written in C for making scalable applications. Includes Atomic Ops. | * [[http://www.pjsip.org/docs/latest/pjlib/docs/html/index.htm| PJLIB ]] - A small footprint framework library written in C for making scalable applications. Includes Atomic Ops. |
===== Lockfree (non-blocking) Data Structures - Libraries ===== | ===== Lockfree (non-blocking) Data Structures - Libraries ===== |
\\ | \\ |
| * [[http://lttng.org/urcu| Userspace RCU (read-copy-update) ]] |
| * [[http://lwn.net/Articles/262464/| What is RCU - Article ]] |
* [[http://sourceforge.net/projects/mc-fastflow/| FastFlow - Lockfree FIFO Queues ]] | * [[http://sourceforge.net/projects/mc-fastflow/| FastFlow - Lockfree FIFO Queues ]] |
* [[http://atomic-ptr-plus.sourceforge.net/| Atomic Ptr Plus ]] | * [[http://atomic-ptr-plus.sourceforge.net/| Atomic Ptr Plus ]] |
* [[http://tim.klingt.org/code/projects/boost-lockfree| Boost.Lockfree ]] - A boost-like, but NOT boost, library for lockfree structs. | * [[http://tim.klingt.org/code/projects/boost-lockfree| Boost.Lockfree ]] - A boost-like, but NOT boost, library for lockfree structs. |
* [[http://www.noble-library.org/| Noble library ]] - a library of non-blocking synchronization protocols | * [[http://www.noble-library.org/| Noble library ]] - a library of non-blocking synchronization protocols |
| * [[http://lttng.org/urcu| Userspace RCU library liburcu-cds]] - Userspace RCU Lock-free data structures (RCU lock-free hash table with auto-resize, queues, stacks) |
\\ | \\ |
| |
===== Parallel Programming ===== | ===== Parallel Programming ===== |
| |
| \\ |
| * [[http://www.par4all.org/features/| Par4all compiler ]] - Generates OpenCL, CUDA or OpenMP parallel code from (sequenciel) C code. |
\\ | \\ |
* [[http://openmp.org/wp/about-openmp/| OpenMP (Open Multi-Processing) ]] - OpenMP is an API (Application Programming Interface) that supports multi-platform shared memory multiprocessing programming. | * [[http://openmp.org/wp/about-openmp/| OpenMP (Open Multi-Processing) ]] - OpenMP is an API (Application Programming Interface) that supports multi-platform shared memory multiprocessing programming. |
* [[http://www.khronos.org/registry/cl/| OpenCL API ]] | * [[http://www.khronos.org/registry/cl/| OpenCL API ]] |
* [[http://www.macresearch.org/opencl_episode1| OpenCL Tutorial ]] | * [[http://www.macresearch.org/opencl_episode1| OpenCL Tutorial ]] |
| * [[http://mathema.tician.de/software/pyopencl| PyOpenCL ]] - use OpenCL parallel computation API from Python |
| * [[http://packages.python.org/pyfft/| PyFFT ]] - fast fourier transform with OpenCL (or Cuda) using Python |
| \\ |
\\ | \\ |
* [[http://upc.gwu.edu/| Unified Parallel C]] - UPC is an extension of the C programming language designed for high-performance computing. | * [[http://upc.gwu.edu/| Unified Parallel C]] - UPC is an extension of the C programming language designed for high-performance computing. |