Intel® Cilk™ Plus Change Log Intel C/C++ Compiler 14.0 RC1 Bug fixes - CQ245528 - Cilk min/max reducers not binay compatible with V13 Intel C/C++ Compiler 14.0 beta 2 Bug fixes - CQ244175 - cilk assertion failed: h (Improved assertion message) Intel C/C++ Compiler mainline-to-14.0 branch cutoff Bug fixes - CQ178732 - __CILKRTS_CACHE_ALIGNED on leftmost_ in reducer class causes runtime crash/bad code with vectorization - CQ174205 - Cilk: reducer_list doesn't respect allocator for identity - CQ176977 - Feature request for Cilk reducer for multiplication User-visible Enhancements for Intel customers: - Added record/replay capability - New reducer infrastructure makes it easier for users to create custom reducers - Added support for variable-length arrays (VLAs) with _Cilk_spawn Other enhancements - Factored cilk_fiber out of scheduler - Removed obsolete debugger hooks - Support for Android - Support for ARM Intel C/C++ Compiler 13.0, Update 2 - Bugs Fixed: - CQ233690 - Remove exceptions used to communicate with the Intel Debugger extension for Visual Studio since it's been deprecated for 13.0 - CQ181970 - Generate error when cilk_api.h is used with Cilk disabled - CQ238824 - undefined references generated from inline functions in cilk_api - CQ181746 - spawning function called within a cilk_spawn argument list causes crash. (Library fix. Compiler changes also needed.) - Fixed documentation errors in (public) header files - MIC build fixes Enhancements: - Rebuilt with VS2008 on Windows - Updated copyrights on include files - Performance improvements in cilk_for (faster stack-frame lookup) - Added support for VX works Intel C/C++ Compiler 13.0, Update 1 - Bugs fixed: - CQ DPD200177099 Performance Issues with cilk_for (Partial fix -- only the regression was fixed.) - CQ DPD200233690 Cilk run-time causes annoying messages from VS2010: First-chance exception at ... Intel Parallel Debugger Extension Exception in ... Enhancements: - Makefiles enhanced for cygwin Intel C/C++ Compiler 13.0, RC1 - Bugs fixed: - CQ181970 - Use of __cilkrts_get_nworkers should trigger compile-time error with -no-intel-extensions - CQ279605 - ACCVIO in cilkCpp/throw_left_1 on Win64 - Fixed initialization of variable used to detect nested exceptions on Win64 - CQ232986 - very short cilk_for loops corrupt the pedigree - CQ181131 - Bad assert when shutting down with only 1 worker - CQ178732 - __CILKRTS_CACHE_ALIGNED on leftmost_ in reducer class causes runtime crash/bad code with vectorization. (Added assert, didn't actually make bug go away. Will document for user.) Enhancements: - Added operator* to all reducers Intel C/C++ Compiler 13.0, Beta Update 2 - Bugs fixed: - CQ180902 - Cilk/TBB interop problem - fixed interop call in do_return_from_spawn() - CQ265244 - Cilk integration with IDB - fixed exported symbol, singleton for global state. Intel C/C++ Compiler 13.0, Beta Update 1 - Added __cilkrts_get_pedigree() to let applications walk pedigree chain themselves. __cilkrts_pedigree_node renamed to __cilkrts_pedigree. __cilkrts_get_pedigree_info() is now deprecated. - Bugs fixed: - CQ176501 - Fixed shutdown on Windows - wasn't calling WaitForMultipleObjects properly - Fixed problems with builtins - CQ189335 - Added comments to document more on how __cilkrts_set_param("nworkers") workers - CQ179865 - Fixed assertion failure whens spawning inside a reduce() - Bugs fixes merged from 12.1 Update 10: - CQ173534, CQ272608 - cilkCpp/throw-after-merge test flaky on Win32 - Added __cilkrts_stub_handler to SAFESEH list - CQ179865 - Fixed assertion failure when a reducer merge function spawned - CQ277750 - Test cilkCpp/rsp fails intermittently - Removed incorrect test of w->exc in __cilkrts_bind_thread Intel C/C++ Compiler 13.0, Beta 1 - Bugs fixed: - CQ214655 - Exception failures on Mac OS. Built the runtime with a new compiler, problem went away. - CQ178250, CQ178251 - Problems reading pedigrees after exceptions - Moved code to maintain pedigrees in __cilkrts_leave_frame - CQ178291 - Problems with TBB/Cilk interop - Fixed initialization race when starting Cilk runtime on multiple threads - CQ176020 - Fixed typos in reducer_min.h - CQ177905 - Pedigrees not useful outside of spawning functions - Extended pedigree to have 2 extra terms - thread# and "outer" rank - Fixed memory leak - freed memory allocated for user workers Intel C/C++ Compiler 12.1, Update 8 - Bugs fixed: - CQ173480 - Initialization problem using Cilk Plus with ArBB/TBB on Windows - When started, the application quits with the message "An application was unable to start correctly" - CQ173692 - Return a failure code if the runtime is initialized when __cilkrts_set_param("nworkers") is called. - Fixed bug in pedigrees. Needed to track that this pedigree has been used. - Exported __cilkrts_bump_worker_rank on Linux - Added support for pedigrees in cilk_for loops, provided __cilkrts_bump_loop_rank to allow users to provide support until the compiler bumps the loop rank on each serial iteration. - Fixed bug for Inspector - cilk_leave_stolen notification now only given when we're sure that the end-of-frame processing will go into the scheduler. - Use __notify_zc_intrinsic to lower annotation cost - Fixed bug in calculation of maximum number of workers. - CQ208005 - Flaky results on get_worker_number test. - CQ171932 - Undefined references to builtin symbols. Open Source GCC Release 1 - Changes since release with Intel® C++ Compiler 12.1, Update 7 - Reorganized sources in preparation for open source release - Document runtime internals using Doxygen Intel C/C++ Compiler 12.1, Update 7 - Added support for pedigrees - Added support for saving/restoring floating point state on steal and resume - Bugs fixed: - CQ211720 - When we run out of possible exception handlers on Windows* OS (x86 64-bit), the application must be terminated. We've run any destructors as we walked up the stack, so trying to pass the exception to Windows* will be a bad idea. - CQ159340 - Make sure the stack alignment on a steal on Windows* OS (x86 32-bit) matches the stack alignment of the original stack. Was causing issues with IPO and SSE instructions which have 16-byte alignment requirements. Not a problem on Linux* or Windows* OS (x86 64-bit). Intel C/C++ Compiler 12.0 Update 6 - Bugs fixed: - TBB Bugzila 1814 - Fixed interop with TBB - CQ214502 - Catch attempt to unwind off of stack when processing exceptions on Windows* OS (x86 64-bit) - Handle entry into Cilk on a fiber. - CQ169045 - Removed limits on user-specified cilk_for grainsize - Instead of terminating application when we fail to create a stack, lose parallelism Intel C/C++ Compiler 12.0 Update 5 - Replaced spindown code with new, scheme that scales much better. Intel C/C++ Compiler 12.0 Update 4 - Implemented spindown to improve performance of loops that call into Cilk code. ----------------------------------------------------------------------------- Intel and Cilk are trademarks of Intel Corporation in the U.S. and/or other countries. * Other names and brands may be claimed as the property of others.