Intel® Concurrent Collections for C++ 0.6.0 Release Notes

Intel® Concurrent Collections for C++ 0.6.0
Release Notes


Contents

Overview
Intel® Concurrent Collections for C++ is a new language for describing parallel computations. It distinguishes the expression of the potential parallelism of the program from both the lower-level serial details of the algorithm, and the actual parallelism for a given target.

These release notes describe the supported platforms; installation instructions; functionality added, changed, and removed, and known issues and possible workarounds for those issues for Intel® Concurrent Collections for C++ since the previous release.

Supported Platforms
Microsoft Windows XP*, Microsoft Windows 7, Microsoft Windows Vista*, Microsoft Windows Server 2003*, Microsoft Windows Server 2008* (embedded editions not supported), or Linux

Installation Notes
Please see the Getting Started document for information on installing the product, and other requirements.

Restrictions
The following restrictions apply to this version of the release of this product:

  • The WhatIf release of Intel® Concurrent Collections for C++ should not be used in production code. Please contact technical support if you are interested in using Intel® Concurrent Collections for C++ in production code.
  • Follow on releases of this product will likely require rewriting of some of your code. Backward compatibility is not guaranteed.

What's New with Release 0.6.0

· Microsoft Visual Studio* 2010 support has been added.

· Linux* and Windows* have been validated to work with Intel® Threading Building Blocks (Intel® TBB) 3.0.

· Bugs fixed:

1. Increased the maximum size of a .cnc file.

2. Fixed typographical error in coding hints file, that caused compilation failures.

3. On Linux*, re-install in a different location is now supported.

· API updated:

1. In runtimes/cnc_api/cnc/default_tuner.h, the lock_globally() method has been removed. The purpose was to allow the user to serialize the execution of a particular step instance. But CnC does not endorse the use of non-thread-safe step instances, consequently this method was removed.

2. The runtime supports cyclic dependencies between tag-range-instances.

3. Scheduling statistics improved: scheduler bypassing now registers step execution statistics.

What's New with Release 0.5.0

  • GraphBuilder added for Windows*
    • A GUI tool to design and build an Intel® Concurrent Collections for C++ graph has been added to the product. GraphBuilder will translate the graph, which can be translated directly to a CnC C++ header file and corresponding codinghints.txt file. Please see the GraphBuilder User's Guide document for information on using the GraphBuilder.
    • GraphBuilder requires Visual Studio* 2008 with C#.
  • Runtime API changes
    • The interface for the "get" member function of CnC::item_collection has been changed.
    • Tag-ranges and the parallel_for construct have been added.
    • CnC for distributed memory (distCnC) for the socket-based communication model has been added.
    • See the Runtime API document for detailed information.
  • Samples updated
    • All samples have been updated to conform to the updated runtime API.
    • The following samples are added to illustrate the new runtime features: mandel, fib, fib_getcount, fib_preschedule, fib_stats, fib_trace, fib_tuner, primes_parfor, primes_range.
  • Documents updated
    • The documents "Runtime API" and "Concurrent Collections Tutorial" have been updated to conform to the updated runtime API
  • On Windows* and Linux*, the default Intel® Concurrent Collections for C++ runtime library has been changed from static to dynamic form. If you want to use the static CnC version of the libraries (only on Windows*), you must define a Preprocessor Definition named “CNC_STATIC_LIB”, and specify either “cnc_static_debug.lib” or “cnc_static.lib” in the Linker Input Additional Dependencies property. Please refer to any of the the supplied Samples to view how this is done for configurations named "Static_Debug" and Static_Release".
  • On Windows*, the requirement to have the VS2005 SP1 runtime libraries installed on the system to run the translator (cnc.exe) for VS2008 projects has been eliminated.

What's New with Release 0.4.0

  • Linux* support
    • Support for Linux* OS has been added.
  • New runtime API
    • We have developed a new C++ API that provides a natural way to program in C++ using the Intel® Concurrent Collections design methodology. The API also includes interfaces for tuning and debugging your Intel® Concurrent Collections program. Note that this new version is not compatible with the previous versions. See the Runtime API document for detailed information.
  • Textual notation updated
    • The specifications of tag type for item collections and tag collections are now required. The optional attributes for item/step/tag collections have been changed. See the Textual Notation document for detailed information.
  • Samples updated
    • All samples have been updated to conform to the new runtime API and textual notation.
  • Documents updated
    • All documents have been updated to conform to the new runtime API and textual notation.

What's New with Release 0.3.0

  • Performance improvement
    • Steps can now be specified with different priorities to improve performance. See 1.1.4 Attributes for steps in the Intel® Concurrent Collections for C/C++ Reference Manual.
  • Memory usage improvement
    • Garbage collection by ref-counting is now supported to reduce memory usage. See 1.1.5 Attributes for items in the Intel® Concurrent Collections for C/C++ Reference Manual.
  • Samples added
    • MatrixInversion - demonstrates the new ref-counting feature
  • Translator license expiration date
    • The license for the translator (cnc.exe) in the download package expires on 12/31/2009.
  • Documents updated:
    • Intel® Concurrent Collections for C/C++ Reference Manual
  • Problems fixed
    • The cnc.exe (translator) "The system cannot execute the specified program." problem that occurs when VS2005 SP1 is not installed on the system has been fixed.

What's New with Release 0.2.0

  • Supported platforms
    • Support for Windows* Intel® 64 architecture systems has been added.
  • Technical requirements
    • To use this release, you must have the Intel® Threading Building Blocks 2.1 installed. See Getting Started for details on how to download and install this version.
  • Textual notation enhancements
    • Declaration of step collections are allowed.
    • More error and warning messages added for legal graphs checking. For more information, please refer to Chapter 1.3 of the Intel® Concurrent Collections for C/C++ Reference Manual.
  • Functionality added
    • The constructor for the generated graph class now accepts an optional int parameter that specifies the number of desired threads to use at runtime. For more information, please refer to Chapter 2.2 of the Intel® Concurrent Collections for C/C++ Reference Manual.
  • Performance improvement
    • The processing of tag instances for steps is now faster.
  • Memory usage improvement
    • Memory usage has been improved with regard to the processing of tag instances for steps.
    • Some memory leaks have been fixed related to step instance objects.
  • Samples added
    • cholesky - an implementation of Cholesky decomposition
    • blacksholes - a Black-Scholes partial differential equation solver
  • Translator license expiration date
    • The license for the translator (cnc.exe) in the download package expires on 12/31/2009.
  • Documents updated
    • Getting Started
    • Intel® Concurrent Collections for C/C++ Reference Manual
  • Problems fixed
    • The library paths in Microsoft Visual Studio* 2008 sample projects have been corrected to point to the VC9 libraries instead of VC8.

Known Problems and Limitations

This is a list of the known problems of the current implementation.

  • GraphBuilder is limited to work only with Microsoft Visual Studio* 2008.

Report Problems or Leave Feedback

To report a problem or leave feedback on this product, please visit:
http://softwarecommunity.intel.com/articles/eng/3862.htm

or visit the "Whatif Alpha Forum" to participate in forum discussions about Intel® Concurrent Collections:
/en-us/forums/whatif-alpha-software/

then click on "Search Forum" and search for "Concurrent Collections"

System Requirements for Microsoft Windows Systems

Hardware

Minimum Requirements

Intel® Xeon® processor supporting Hyper-Threading Technology1 (HT Technology)

1 GB of disk space

Software

Minimum Requirements

Microsoft Windows* XP Professional, Microsoft Windows Server* 2003, Microsoft Windows Vista*, Microsoft Windows 7

Intel® C++ Compiler 11.1 for Windows or higher

Microsoft Visual C++* 7.1 or 8.0

Microsoft Internet Explorer* 6.0 or higher

Adobe Reader* 6.0 or higher

Microsoft Visual Studio* 2005, 2008 or 2010

Intel® Threading Building Blocks (Intel® TBB) 3.0 or higher


System Requirements for Linux Systems

Hardware

Minimum Requirements

Intel® Xeon® processor supporting Hyper-Threading Technology1 (HT Technology)

1 GB of disk space

Software

Minimum Requirements

Supported Linux versions include Red Hat* Enterprise Linux* 4.0, 5.x, 6.0, Fedora* 12, 13, Ubuntu* 8.10, 9.04, 9.10, 10.04, SLES* Linux* 10, 11, and Asianux* 3.x.

One of the following compilers:

Intel® C++ Compiler 11.1 for Linux or higher

GCC 4.0, or 4.1

Adobe Reader* 6.0 or higher

Intel® Threading Building Blocks (Intel® TBB) 2.2 or higher


Disclaimer and Legal Information

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.

The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.

Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or by visiting Intel's Web Site.

Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different processor families. See http://www.intel.com/products/processor_number for details.

BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino Atom, Centrino Atom Inside, Centrino Inside, Centrino logo, Core Inside, FlashFile, i960, InstantIP, Intel, Intel logo, Intel386, Intel486, IntelDX2, IntelDX4, IntelSX2, Intel Atom, Intel Atom Inside, Intel Core, Intel Inside, Intel Inside logo, Intel. Leap ahead., Intel. Leap ahead. logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel StrataFlash, Intel Viiv, Intel vPro, Intel XScale, Itanium, Itanium Inside, MCS, MMX, Oplus, OverDrive, PDCharm, Pentium, Pentium Inside, skoool, Sound Mark, The Journey Inside, Viiv Inside, vPro Inside, VTune, Xeon, and Xeon Inside are trademarks of Intel Corporation in the U.S. and other countries.

* Other names and brands may be claimed as the property of others.

Copyright (C) 2008-2010, Intel Corporation. All rights reserved.

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.