Quantcast
Channel: Intermediate
Viewing all articles
Browse latest Browse all 664

Intel® Concurrent Collections for C++ 0.8 for Windows* and Linux*

$
0
0
Product Overview | FAQ | Documentation and Tutorials | Papers | Discussions and Feedback | Blog

 

Product Overview

Intel® Concurrent Collections for C++ provides a mechanism which facilitates writing and tuning C++ programs which will execute in parallel:

Easy parallelism

  • There is no need to think about lower level parallelization techniques like threading primitives or message passing; no need to understand pthreads, MPI, Windows threads, TBB,...
  • There is no need to think about different types of parallelism such as task, pipeline, fork-join, task or data parallelism.
  • Intel® Concurrent Collections for C++ provides a separation of concerns between what the application means and how to tune it for a specific platform. The application code can be paired with isolated tuning code. This allows programmers to focus on each separately.

Portability

  • The same source runs on Windows and Linux.
  • The same binary runs on shared memory multi-core systems and clusters of workstations. In fact, Intel® Concurrent Collections for C++ is a unified model for shared and distributed memory systems (as opposed to the MPI / OpenMP combination, for example).

Efficiency

  • Because Intel® Concurrent Collections for C++ provides a way to express an algorithm with minimal scheduling constraints, it is very efficient.
  • In addition, Intel® Concurrent Collections for C++ supports two types of tuning:
    • Runtime tuning makes the runtime more efficient for a specific application.
    • Application tuning makes the application itself more efficient with user-specified distribution of the work.

Scalability

  • Intel® Concurrent Collections for C++ achieves scalable performance on a wide range of configurations from small multicore systems to large clusters.
  • No need to re-write or re-compile application in order to target a new configuration.

The Idea

Traditional approaches to parallelism let the programer express the parallelisim exlicitly. This makes achieving parallelism unnecesserily hard and uneffective. With Intel® Concurrent Collections for C++ the programmer does not think about what should go in parallel; instead he/she specifies the semantic dependencies of his algorithm and so defines the ordering constraints only: Concurrent Collections (CnC) lets the programmer define what cannot go in parallel. The model allows the programmer to specify high-level computational steps including inputs and outputs but he/she does not express when or where things should be executed. The when and where are handled by the runtime and/or an optional tuning layer. Code within the computational steps is written using standard serial constructs of the C++ language. Data is either local to a computational step or it is explicitly produced and consumed by them. An application in this programming model supports multiple styles of parallelism (e.g., data, task, pipeline parallel). While the interface between the computational steps and the runtime system remains unchanged, a wide range of runtime systems may target different architectures (e.g., shared memory, distributed) or support different scheduling methodologies (e.g., static or dynamic). With Intel® Concurrent Collections for C++ we provide a parallel runtime system for shared and distributed memory systems. Our goal in supporting a strict separation of concerns between the specification of the application and the optimization of its execution on a specific architecture is to help ease the transition to parallel architectures for programmers who are not parallelism experts. For excellent performance results which we were able to achieve with Intel® Concurrent Collections for C++ please read here.

What's new?

New features and enhancements in version 0.8 are listed in the Release Notes.

Documentation and Tutorials

Papers, Presentations, Research

Discussions, Report Problems or Leave Feedback

To stay in touch with the Intel® Concurrent Collections team and the community, we provide a new email-list you can subscribe to or just watch online:
http://tech.groups.yahoo.com/group/intel_concurrent_collections/.

Aternatively, to report a problem or leave feedback on this product, please visit the "Whatif Alpha Forum" to participate in forum discussions about Intel® Concurrent Collections:
http://software.intel.com/en-us/forums/intel-concurrent-collections-for-cc/
.

  • Sviluppatori
  • Professori
  • Studenti
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • Client business
  • Server
  • C/C++
  • Avanzato
  • Principiante
  • Intermedio
  • Software What If
  • Intel® Cluster Ready
  • Message Passing Interface
  • OpenMP*
  • Elaborazione basata su cluster
  • Strumenti di sviluppo
  • Settore dei servizi finanziari
  • Sviluppo giochi
  • Grafica
  • Ottimizzazione
  • Elaborazione parallela
  • Threading
  • Contratto di licenza: 

    Allegati protetti: 

  • Per iniziare
  • Miglioramento delle prestazioni
  • Sviluppo multithread

  • Viewing all articles
    Browse latest Browse all 664

    Trending Articles



    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>