summaryrefslogtreecommitdiff
path: root/parallel
AgeCommit message (Collapse)AuthorFilesLines
2020-12-04Revbump packages with a runtime Python dep but no version prefix.nia1-2/+2
For the Python 3.8 default switch.
2020-11-24parallel: Update to 20201122nia2-8/+7
20201122 * Bug fixes and man page updates. News about GNU Parallel: * https://bash-prompt.net/guides/gnu-parallel-multi-server/ 20201022 * --termseq now works for jobs running remotely. * parsort: Performance optimized for 64-core machines. * Bug fixes and man page updates. News about GNU Parallel: * Juan Sierra Pons has made a testimonial: http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4 * 「翻译」在生物信息学中使用 GNU-Parallel https://cloud.tencent.com/developer/article/1705499 20200922 * New CPU detection for GNU/Linux. * Bug fixes and man page updates. News about GNU Parallel: * Aug 21, 2020 - More Unix tools https://floki.blog/2020/08/more_unix_tools 20200822 New in this release: * Max command line length is changed for MacOS - making this version beta quality for MacOS. * Bug fixes and man page updates. 20200722 New in this release: * No new functionality * Bug fixes and man page updates. News about GNU Parallel: * Tips for Running Jobs on your VM https://support.ehelp.edu.au/support/solutions/articles/6000089713-tips-for-running-jobs-on-your-vm#parallel * Introduction to GNU Parallel: Parallelizing Massive Individual Tasks https://www.youtube.com/watch?v=QSFLTEyCKvo * Slides for same http://www.hpc.lsu.edu/training/weekly-materials/2020-Spring/GNUParallel_Spring_2020.pdf * Linux-Fu: Parallel Universe https://hackaday.com/2020/06/29/linux-fu-parallel-universe/ * Resumable batch jobs with gnu parallel https://igor.io/parallel/ * Introducing Parallel into Shell https://www.petelawson.com/post/parallel-in-shell/ * AV1 encoding parallelization with GNU Parallel https://www.reddit.com/r/AV1/comments/fjvqp9/av1_encoding_parallelization_with_gnu_parallel/ * Beschleunigte Befehlsbearbeitung mit GNU Parallel https://www.linux-community.de/ausgaben/linuxuser/2013/06/beschleunigte-befehlsbearbeitung-mit-gnu-parallel/ 20200622 New in this release: * No new functionality * Bug fixes and man page updates. News about GNU Parallel: * GNU Parallel is used at NERSC: https://www.nersc.gov/assets/Uploads/08-Workflows-20200616.pdf * Resumable batch jobs with GNU Parallel https://igor.io/parallel/ * Lab Meeting technical talk https://www.slideshare.net/hoffmanlab/gnu-parallel-194030490 * Open Sky Software Website Credits https://www.openskysoftware.com/site-credits.htm * Speed up your Python Scripts using Ubuntu and GNU Parallel https://ecce.esri.ca/wpecce/2019/12/24/speed-up-your-python-scripts-using-ubuntu-and-gnu-parallel/ * Indispensable command-line tools https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html * GNU Parallel for simulations http://pdebuyl.be/blog/2020/gnu-parallel-for-simulations.html * Introduction to GNU parallel https://bioinformaticsworkbook.org/Appendix/GNUparallel/GNU_parallel_examples.html 20200522 New in this release: * While running a job $PARALLEL_JOBSLOT is the jobslot of the job. It is equal to {%} unless the job is being retried. See {%} for details. * While running a job $PARALLEL_SSHLOGIN is the sshlogin line with number of cores removed. E.g. '4//usr/bin/specialssh user@host' becomes: '/usr/bin/specialssh user@host' * While running a job $PARALLEL_SSHHOST is the host part of an sshlogin line. E.g. '4//usr/bin/specialssh user@host' becomes: 'host' * --plus activates the replacement strings {slot} = $PARALLEL_JOBSLOT, {sshlogin} = $PARALLEL_SSHLOGIN, {host} = $PARALLEL_SSHHOST * Bug fixes and man page updates. News about GNU Parallel: * Portable Batch System (PBS) & GNU Parallel - Running a Program Multiple Times in Parallel https://www.youtube.com/watch?v=6ccbWu6Befo * GNU Parallel przykład https://www.youtube.com/watch?v=gs_wG4Kt2G4 * Demo of LINUX APP - GNU PARALLEL - running multiple Gstreamer webcam .sh scripts with only 1 command https://www.youtube.com/watch?v=trQuA_wmWjg
2020-11-05*: Recursive revbump from textproc/icu-68.1ryoon4-8/+8
2020-11-05*: Recursive revbump from textproc/icu-68.1ryoon4-8/+8
2020-09-05threadingbuildingblocks: Update to 2020.3ryoon5-41/+72
Changelog: Intel TBB 2020 Update 3 TBB_INTERFACE_VERSION == 11103 Changes (w.r.t. Intel TBB 2020 Update 2): Changes affecting backward compatibility: - Changed body type concept of the flow::input_node. Set TBB_DEPRECATED_INPUT_NODE_BODY to 1 to compile with the previous concept of the body type. Bugs fixed: - Fixed compilation errors in C++20 mode due to ambiguity of comparison operators. Inspired by Barry Revzin (https://github.com/oneapi-src/oneTBB/pull/251). Open-source contributions integrated: - Fixed an issue in TBBBuild.cmake that causes the build with no arguments to fail (https://github.com/oneapi-src/oneTBB/pull/233) by tttapa. - Added cmake/{TBBConfig,TBBConfigVersion}.cmake to Git ignore list (https://github.com/oneapi-src/oneTBB/pull/239) by Eisuke Kawashima. ------------------------------------------------------------------------ Intel TBB 2020 Update 2 TBB_INTERFACE_VERSION == 11102 Changes (w.r.t. Intel TBB 2020 Update 1): - Cross-allocator copying constructor and copy assignment operator for concurrent_vector are deprecated. - Added input_node to the flow graph API. It acts like a source_node except for being inactive by default; source_node is deprecated. - Allocator template parameter for flow graph nodes is deprecated. Set TBB_DEPRECATED_FLOW_NODE_ALLOCATOR to 1 to avoid compilation errors. - Flow graph preview hetero-features are deprecated. Bugs fixed: - Fixed the task affinity mechanism to prevent unlimited memory consumption in case the number of threads is explicitly decreased. - Fixed memory leak related NUMA support functionality in task_arena. ------------------------------------------------------------------------ Intel TBB 2020 Update 1 TBB_INTERFACE_VERSION == 11101 Changes (w.r.t. Intel TBB 2020): Preview features: - The NUMA support library (tbbbind) no more depends on the main TBB library. Bugs fixed: - Fixed the issue of task_arena constraints not propagated on copy construction. - Fixed TBBGet.cmake script broken by TBB package name changes (https://github.com/intel/tbb/issues/209). ------------------------------------------------------------------------ Intel TBB 2020 TBB_INTERFACE_VERSION == 11100 Changes (w.r.t. Intel TBB 2019 Update 9): - Extended task_arena interface to simplify development of NUMA-aware applications. - Added warning notifications when the deprecated functionality is used. Open-source contributions integrated: - Fixed various build warnings (https://github.com/intel/tbb/pull/179) by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 2019 Update 9 TBB_INTERFACE_VERSION == 11009 Changes (w.r.t. Intel TBB 2019 Update 8): - Multiple APIs are deprecated. For details, please see Deprecated Features appendix in the TBB reference manual. - Added C++17 deduction guides for flow graph nodes. Preview Features: - Added isolated_task_group class that allows multiple threads to add and execute tasks sharing the same isolation. - Extended the flow graph API to simplify connecting nodes. - Added erase() by heterogeneous keys for concurrent ordered containers. - Added a possibility to suspend task execution at a specific point and resume it later. Bugs fixed: - Fixed the emplace() method of concurrent unordered containers to destroy a temporary element that was not inserted. - Fixed a bug in the merge() method of concurrent unordered containers. - Fixed behavior of a continue_node that follows buffering nodes. - Fixed compilation error caused by missed stdlib.h when CMake integration is used (https://github.com/intel/tbb/issues/195). Inspired by Andrew Penkrat. Open-source contributions integrated: - Added support for move-only types to tbb::parallel_pipeline (https://github.com/intel/tbb/pull/159) by Raf Schietekat. - Fixed detection of clang version when CUDA toolkit is installed (https://github.com/intel/tbb/pull/150) by Guilherme Amadio. ------------------------------------------------------------------------ Intel TBB 2019 Update 8 TBB_INTERFACE_VERSION == 11008 Changes (w.r.t. Intel TBB 2019 Update 7): Bugs fixed: - Fixed a bug in TBB 2019 Update 7 that could lead to incorrect memory reallocation on Linux (https://github.com/intel/tbb/issues/148). - Fixed enqueuing tbb::task into tbb::task_arena not to fail on threads with no task scheduler initialized (https://github.com/intel/tbb/issues/116). ------------------------------------------------------------------------ Intel TBB 2019 Update 7 TBB_INTERFACE_VERSION == 11007 Changes (w.r.t. Intel TBB 2019 Update 6): - Added TBBMALLOC_SET_HUGE_SIZE_THRESHOLD parameter to set the lower bound for allocations that are not released back to OS unless a cleanup is explicitly requested. - Added zip_iterator::base() method to get the tuple of underlying iterators. - Improved async_node to never block a thread that sends a message through its gateway. - Extended decrement port of the tbb::flow::limiter_node to accept messages of integral types. - Added support of Windows* to the CMake module TBBInstallConfig. - Added packaging of CMake configuration files to TBB packages built using build/build.py script (https://github.com/intel/tbb/issues/141). Changes affecting backward compatibility: - Removed the number_of_decrement_predecessors parameter from the constructor of flow::limiter_node. To allow its usage, set TBB_DEPRECATED_LIMITER_NODE_CONSTRUCTOR macro to 1. Preview Features: - Added ordered associative containers: concurrent_{map,multimap,set,multiset} (requires C++11). Open-source contributions integrated: - Fixed makefiles to properly obtain the GCC version for GCC 7 and later (https://github.com/intel/tbb/pull/147) by Timmmm. ------------------------------------------------------------------------ Intel TBB 2019 Update 6 TBB_INTERFACE_VERSION == 11006 Changes (w.r.t. Intel TBB 2019 Update 5): - Added support for Microsoft* Visual Studio* 2019. - Added support for enqueuing tbb::task into tbb::task_arena (https://github.com/01org/tbb/issues/116). - Improved support for allocator propagation on concurrent_hash_map assigning and swapping. - Improved scalable_allocation_command cleanup operations to release more memory buffered by the calling thread. - Separated allocation of small and large objects into distinct memory regions, which helps to reduce excessive memory caching inside the TBB allocator. Preview Features: - Removed template class gfx_factory from the flow graph API. ------------------------------------------------------------------------ Intel TBB 2019 Update 5 TBB_INTERFACE_VERSION == 11005 Changes (w.r.t. Intel TBB 2019 Update 4): - Associating a task_scheduler_observer with an implicit or explicit task arena is now a fully supported feature. - Added a CMake module TBBInstallConfig that allows to generate and install CMake configuration files for TBB packages. Inspired by Hans Johnson (https://github.com/01org/tbb/pull/119). - Added node handles, methods merge() and unsafe_extract() to concurrent unordered containers. - Added constructors with Compare argument to concurrent_priority_queue (https://github.com/01org/tbb/issues/109). - Controlling the stack size of worker threads is now supported for Universal Windows Platform. - Improved tbb::zip_iterator to work with algorithms that swap values via iterators. - Improved support for user-specified allocators in concurrent_hash_map, including construction of allocator-aware data types. - For ReaderWriterMutex types, upgrades and downgrades now succeed if the mutex is already in the requested state. Inspired by Niadb (https://github.com/01org/tbb/pull/122). Preview Features: - The task_scheduler_observer::may_sleep() method has been removed. Bugs fixed: - Fixed the issue with a pipeline parallel filter executing serially if it follows a thread-bound filter. - Fixed a performance regression observed when multiple parallel algorithms start simultaneously. ------------------------------------------------------------------------ Intel TBB 2019 Update 4 TBB_INTERFACE_VERSION == 11004 Changes (w.r.t. Intel TBB 2019 Update 3): - global_control class is now a fully supported feature. - Added deduction guides for tbb containers: concurrent_hash_map, concurrent_unordered_map, concurrent_unordered_set. - Added tbb::scalable_memory_resource function returning std::pmr::memory_resource interface to the TBB memory allocator. - Added tbb::cache_aligned_resource class that implements std::pmr::memory_resource with cache alignment and no false sharing. - Added rml::pool_msize function returning the usable size of a memory block allocated from a given memory pool. - Added default and copy constructors for tbb::counting_iterator and tbb::zip_iterator. - Added TBB_malloc_replacement_log function to obtain the status of dynamic memory allocation replacement (Windows* only). - CMake configuration file now supports release-only and debug-only configurations (https://github.com/01org/tbb/issues/113). - TBBBuild CMake module takes the C++ version from CMAKE_CXX_STANDARD. Bugs fixed: - Fixed compilation for tbb::concurrent_vector when used with std::pmr::polymorphic_allocator. Open-source contributions integrated: - TBB_INTERFACE_VERSION is included into TBB version in CMake configuration (https://github.com/01org/tbb/pull/100) by Hans Johnson. - Fixed detection of C++17 deduction guides for Visual C++* (https://github.com/01org/tbb/pull/112) by Marian Klymov. ------------------------------------------------------------------------ Intel TBB 2019 Update 3 TBB_INTERFACE_VERSION == 11003 Changes (w.r.t. Intel TBB 2019 Update 2): - Added tbb::transform_iterator. - Added new Makefile target 'profile' to flow graph examples enabling additional support for Intel(R) Parallel Studio XE tools. - Added TBB_MALLOC_DISABLE_REPLACEMENT environment variable to switch off dynamic memory allocation replacement on Windows*. Inspired by a contribution from Edward Lam. Preview Features: - Extended flow graph API to support relative priorities for functional nodes, specified as an optional parameter to the node constructors. Open-source contributions integrated: - Enabled using process-local futex operations (https://github.com/01org/tbb/pull/58) by Andrey Semashev. ------------------------------------------------------------------------ Intel TBB 2019 Update 2 TBB_INTERFACE_VERSION == 11002 Changes (w.r.t. Intel TBB 2019 Update 1): - Added overloads for parallel_reduce with default partitioner and user-supplied context. - Added deduction guides for tbb containers: concurrent_vector, concurrent_queue, concurrent_bounded_queue, concurrent_priority_queue. - Reallocation of memory objects >1MB now copies and frees memory if the size is decreased twice or more, trading performance off for reduced memory usage. - After a period of sleep, TBB worker threads now prefer returning to their last used task arena. Bugs fixed: - Fixed compilation of task_group.h when targeting macOS* 10.11 or earlier (https://github.com/conda-forge/tbb-feedstock/issues/42). Open-source contributions integrated: - Added constructors with HashCompare argument to concurrent_hash_map (https://github.com/01org/tbb/pull/63) by arewedancer. ------------------------------------------------------------------------ Intel TBB 2019 Update 1 TBB_INTERFACE_VERSION == 11001 Changes (w.r.t. Intel TBB 2019): - Doxygen documentation could be built with 'make doxygen' command now. Changes affecting backward compatibility: - Enforced 8 byte alignment for tbb::atomic<long long> and tbb::atomic<double>. On IA-32 architecture it may cause layout changes in structures that use these types. Bugs fixed: - Fixed an issue with dynamic memory allocation replacement on Windows* occurred for some versions of ucrtbase.dll. - Fixed possible deadlock in tbbmalloc cleanup procedure during process shutdown. Inspired by a contribution from Edward Lam. - Fixed usage of std::uncaught_exception() deprecated in C++17 (https://github.com/01org/tbb/issues/67). - Fixed a crash when a local observer is activated after an arena observer. - Fixed compilation of task_group.h by Visual C++* 15.7 with /permissive- option (https://github.com/01org/tbb/issues/53). - Fixed tbb4py to avoid dependency on Intel(R) C++ Compiler shared libraries. - Fixed compilation for Anaconda environment with GCC 7.3 and higher. Open-source contributions integrated: - Fix various warnings when building with Visual C++ (https://github.com/01org/tbb/pull/70) by Edward Lam. ------------------------------------------------------------------------ Intel TBB 2019 TBB_INTERFACE_VERSION == 11000 Changes (w.r.t. Intel TBB 2018 Update 5): - Lightweight policy for functional nodes in the flow graph is now a fully supported feature. - Reservation support in flow::write_once_node and flow::overwrite_node is now a fully supported feature. - Support for Flow Graph Analyzer and improvements for Intel(R) VTune(TM) Amplifier become a regular feature enabled by TBB_USE_THREADING_TOOLS macro. - Added support for std::new_handler in the replacement functions for global operator new. - Added C++14 constructors to concurrent unordered containers. - Added tbb::counting_iterator and tbb::zip_iterator. - Fixed multiple -Wextra warnings in TBB source files. Preview Features: - Extracting nodes from a flow graph is deprecated and disabled by default. To enable, use TBB_DEPRECATED_FLOW_NODE_EXTRACTION macro. Changes affecting backward compatibility: - Due to internal changes in the flow graph classes, recompilation is recommended for all binaries that use the flow graph. Open-source contributions integrated: - Added support for OpenBSD by Anthony J. Bentley. ------------------------------------------------------------------------ Intel TBB 2018 Update 6 TBB_INTERFACE_VERSION == 10006 Changes (w.r.t. Intel TBB 2018 Update 5): Bugs fixed: - Fixed an issue with dynamic memory allocation replacement on Windows* occurred for some versions of ucrtbase.dll. ------------------------------------------------------------------------ Intel TBB 2018 Update 5 TBB_INTERFACE_VERSION == 10005 Changes (w.r.t. Intel TBB 2018 Update 4): Preview Features: - Added user event tracing API for Intel(R) VTune(TM) Amplifier and Flow Graph Analyzer. Bugs fixed: - Fixed the memory allocator to properly support transparent huge pages. - Removed dynamic exception specifications in tbbmalloc_proxy for C++11 and later (https://github.com/01org/tbb/issues/41). - Added -flifetime-dse=1 option when building with GCC on macOS* (https://github.com/01org/tbb/issues/60). Open-source contributions integrated: - Added ARMv8 support by Siddhesh Poyarekar. - Avoid GCC warnings for clearing an object of non-trivial type (https://github.com/01org/tbb/issues/54) by Daniel Arndt. ------------------------------------------------------------------------ Intel TBB 2018 Update 4 TBB_INTERFACE_VERSION == 10004 Changes (w.r.t. Intel TBB 2018 Update 3): Preview Features: - Improved support for Flow Graph Analyzer and Intel(R) VTune(TM) Amplifier in the task scheduler and generic parallel algorithms. - Default device set for opencl_node now includes all the devices from the first available OpenCL* platform. - Added lightweight policy for functional nodes in the flow graph. It indicates that the node body has little work and should, if possible, be executed immediately upon receiving a message, avoiding task scheduling overhead. ------------------------------------------------------------------------ Intel TBB 2018 Update 3 TBB_INTERFACE_VERSION == 10003 Changes (w.r.t. Intel TBB 2018 Update 2): Preview Features: - Added template class blocked_rangeNd for a generic multi-dimensional range (requires C++11). Inspired by a contribution from Jeff Hammond. Bugs fixed: - Fixed a crash with dynamic memory allocation replacement on Windows* for applications using system() function. - Fixed parallel_deterministic_reduce to split range correctly when used with static_partitioner. - Fixed a synchronization issue in task_group::run_and_wait() which caused a simultaneous call to task_group::wait() to return prematurely. ------------------------------------------------------------------------ Intel TBB 2018 Update 2 TBB_INTERFACE_VERSION == 10002 Changes (w.r.t. Intel TBB 2018 Update 1): - Added support for Android* NDK r16, macOS* 10.13, Fedora* 26. - Binaries for Universal Windows Driver (vc14_uwd) now link with static Microsoft* runtime libraries, and are only available in commercial releases. - Extended flow graph documentation with more code samples. Preview Features: - Added a Python* module for multi-processing computations in numeric Python* libraries. Bugs fixed: - Fixed constructors of concurrent_hash_map to be exception-safe. - Fixed auto-initialization in the main thread to be cleaned up at shutdown. - Fixed a crash when tbbmalloc_proxy is used together with dbghelp. - Fixed static_partitioner to assign tasks properly in case of nested parallelism. ------------------------------------------------------------------------ Intel TBB 2018 Update 1 TBB_INTERFACE_VERSION == 10001 Changes (w.r.t. Intel TBB 2018): - Added lambda-friendly overloads for parallel_scan. - Added support of static and simple partitioners in parallel_deterministic_reduce. Preview Features: - Added initial support for Flow Graph Analyzer to parallel_for. - Added reservation support in overwrite_node and write_once_node. Bugs fixed: - Fixed a potential deadlock scenario in the flow graph that affected Intel TBB 2018. ------------------------------------------------------------------------ Intel TBB 2018 TBB_INTERFACE_VERSION == 10000 Changes (w.r.t. Intel TBB 2017 Update 7): - Introduced Parallel STL, an implementation of the C++ standard library algorithms with support for execution policies. For more information, see Getting Started with Parallel STL (https://software.intel.com/en-us/get-started-with-pstl). - this_task_arena::isolate() function is now a fully supported feature. - this_task_arena::isolate() function and task_arena::execute() method were extended to pass on the value returned by the executed functor (requires C++11). - task_arena::enqueue() and task_group::run() methods extended to accept move-only functors. - A flow graph now spawns all tasks into the same task arena, and waiting for graph completion also happens in that arena. - Improved support for Flow Graph Analyzer in async_node, opencl_node, and composite_node. - Added support for Android* NDK r15, r15b. - Added support for Universal Windows Platform. - Increased minimally supported version of macOS* (MACOSX_DEPLOYMENT_TARGET) to 10.11. Changes affecting backward compatibility: - Internal layout changes in some flow graph classes; - Several undocumented methods are removed from class graph, including set_active() and is_active(). - Due to incompatible changes, the namespace version is updated for the flow graph; recompilation is recommended for all binaries that use the flow graph classes. Preview Features: - opencl_node can be used with any graph object; class opencl_graph is removed. - graph::wait_for_all() now automatically waits for all not yet consumed async_msg objects. - Improved concurrent_lru_cache::handle_object to support C++11 move semantics, default construction, and conversion to bool. Bugs fixed: - Fixed a bug preventing use of streaming_node and opencl_node with Clang; inspired by a contribution from Francisco Facioni. - Fixed this_task_arena::isolate() function to work correctly with parallel_invoke and parallel_do algorithms. - Fixed a memory leak in composite_node. - Fixed an assertion failure in debug tbbmalloc binaries when TBBMALLOC_CLEAN_ALL_BUFFERS is used. ------------------------------------------------------------------------ Intel TBB 2017 Update 8 TBB_INTERFACE_VERSION == 9108 Changes (w.r.t. Intel TBB 2017 Update 7): Bugs fixed: - Fixed an assertion failure in debug tbbmalloc binaries when TBBMALLOC_CLEAN_ALL_BUFFERS is used. ------------------------------------------------------------------------ Intel TBB 2017 Update 7 TBB_INTERFACE_VERSION == 9107 Changes (w.r.t. Intel TBB 2017 Update 6): - In the huge pages mode, the memory allocator now is also able to use transparent huge pages. Preview Features: - Added support for Intel TBB integration into CMake-aware projects, with valuable guidance and feedback provided by Brad King (Kitware). Bugs fixed: - Fixed scalable_allocation_command(TBBMALLOC_CLEAN_ALL_BUFFERS, 0) to process memory left after exited threads. ------------------------------------------------------------------------ Intel TBB 2017 Update 6 TBB_INTERFACE_VERSION == 9106 Changes (w.r.t. Intel TBB 2017 Update 5): - Added support for Android* NDK r14. Preview Features: - Added a blocking terminate extension to the task_scheduler_init class that allows an object to wait for termination of worker threads. Bugs fixed: - Fixed compilation and testing issues with MinGW (GCC 6). - Fixed compilation with /std:c++latest option of VS 2017 (https://github.com/01org/tbb/issues/13). ------------------------------------------------------------------------ Intel TBB 2017 Update 5 TBB_INTERFACE_VERSION == 9105 Changes (w.r.t. Intel TBB 2017 Update 4): - Added support for Microsoft* Visual Studio* 2017. - Added graph/matmult example to demonstrate support for compute offload to Intel(R) Graphics Technology in the flow graph API. - The "compiler" build option now allows to specify a full path to the compiler. Changes affecting backward compatibility: - Constructors for many classes, including graph nodes, concurrent containers, thread-local containers, etc., are declared explicit and cannot be used for implicit conversions anymore. Bugs fixed: - Added a workaround for bug 16657 in the GNU C Library (glibc) affecting the debug version of tbb::mutex. - Fixed a crash in pool_identify() called for an object allocated in another thread. ------------------------------------------------------------------------ Intel TBB 2017 Update 4 TBB_INTERFACE_VERSION == 9104 Changes (w.r.t. Intel TBB 2017 Update 3): - Added support for C++11 move semantics in parallel_do. - Added support for FreeBSD* 11. Changes affecting backward compatibility: - Minimal compiler versions required for support of C++11 move semantics raised to GCC 4.5, VS 2012, and Intel(R) C++ Compiler 14.0. Bugs fixed: - The workaround for crashes in the library compiled with GCC 6 (-flifetime-dse=1) was extended to Windows*. ------------------------------------------------------------------------ Intel TBB 2017 Update 3 TBB_INTERFACE_VERSION == 9103 Changes (w.r.t. Intel TBB 2017 Update 2): - Added support for Android* 7.0 and Android* NDK r13, r13b. Preview Features: - Added template class gfx_factory to the flow graph API. It implements the Factory concept for streaming_node to offload computations to Intel(R) processor graphics. Bugs fixed: - Fixed a possible deadlock caused by missed wakeup signals in task_arena::execute(). Open-source contributions integrated: - A build fix for Linux* s390x platform by Jerry J. ------------------------------------------------------------------------ Intel TBB 2017 Update 2 TBB_INTERFACE_VERSION == 9102 Changes (w.r.t. Intel TBB 2017 Update 1): - Removed the long-outdated support for Xbox* consoles. Bugs fixed: - Fixed the issue with task_arena::execute() not being processed when the calling thread cannot join the arena. - Fixed dynamic memory allocation replacement failure on macOS* 10.12. ------------------------------------------------------------------------ Intel TBB 2017 Update 1 TBB_INTERFACE_VERSION == 9101 Changes (w.r.t. Intel TBB 2017): Bugs fixed: - Fixed dynamic memory allocation replacement failures on Windows* 10 Anniversary Update. - Fixed emplace() method of concurrent unordered containers to not require a copy constructor. ------------------------------------------------------------------------ Intel TBB 2017 TBB_INTERFACE_VERSION == 9100 Changes (w.r.t. Intel TBB 4.4 Update 5): - static_partitioner class is now a fully supported feature. - async_node class is now a fully supported feature. - Improved dynamic memory allocation replacement on Windows* OS to skip DLLs for which replacement cannot be done, instead of aborting. - Intel TBB no longer performs dynamic memory allocation replacement for Microsoft* Visual Studio* 2008. - For 64-bit platforms, quadrupled the worst-case limit on the amount of memory the Intel TBB allocator can handle. - Added TBB_USE_GLIBCXX_VERSION macro to specify the version of GNU libstdc++ when it cannot be properly recognized, e.g. when used with Clang on Linux* OS. Inspired by a contribution from David A. - Added graph/stereo example to demonstrate tbb::flow::async_msg. - Removed a few cases of excessive user data copying in the flow graph. - Reworked split_node to eliminate unnecessary overheads. - Added support for C++11 move semantics to the argument of tbb::parallel_do_feeder::add() method. - Added C++11 move constructor and assignment operator to tbb::combinable template class. - Added tbb::this_task_arena::max_concurrency() function and max_concurrency() method of class task_arena returning the maximal number of threads that can work inside an arena. - Deprecated tbb::task_arena::current_thread_index() static method; use tbb::this_task_arena::current_thread_index() function instead. - All examples for commercial version of library moved online: https://software.intel.com/en-us/product-code-samples. Examples are available as a standalone package or as a part of Intel(R) Parallel Studio XE or Intel(R) System Studio Online Samples packages. Changes affecting backward compatibility: - Renamed following methods and types in async_node class: Old New async_gateway_type => gateway_type async_gateway() => gateway() async_try_put() => try_put() async_reserve() => reserve_wait() async_commit() => release_wait() - Internal layout of some flow graph nodes has changed; recompilation is recommended for all binaries that use the flow graph. Preview Features: - Added template class streaming_node to the flow graph API. It allows a flow graph to offload computations to other devices through streaming or offloading APIs. - Template class opencl_node reimplemented as a specialization of streaming_node that works with OpenCL*. - Added tbb::this_task_arena::isolate() function to isolate execution of a group of tasks or an algorithm from other tasks submitted to the scheduler. Bugs fixed: - Added a workaround for GCC bug #62258 in std::rethrow_exception() to prevent possible problems in case of exception propagation. - Fixed parallel_scan to provide correct result if the initial value of an accumulator is not the operation identity value. - Fixed a memory corruption in the memory allocator when it meets internal limits. - Fixed the memory allocator on 64-bit platforms to align memory to 16 bytes by default for all allocations bigger than 8 bytes. - As a workaround for crashes in the Intel TBB library compiled with GCC 6, added -flifetime-dse=1 to compilation options on Linux* OS. - Fixed a race in the flow graph implementation. Open-source contributions integrated: - Enabling use of C++11 'override' keyword by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 4.4 Update 6 TBB_INTERFACE_VERSION == 9006 Changes (w.r.t. Intel TBB 4.4 Update 5): - For 64-bit platforms, quadrupled the worst-case limit on the amount of memory the Intel TBB allocator can handle. Bugs fixed: - Fixed a memory corruption in the memory allocator when it meets internal limits. - Fixed the memory allocator on 64-bit platforms to align memory to 16 bytes by default for all allocations bigger than 8 bytes. - Fixed parallel_scan to provide correct result if the initial value of an accumulator is not the operation identity value. - As a workaround for crashes in the Intel TBB library compiled with GCC 6, added -flifetime-dse=1 to compilation options on Linux* OS. ------------------------------------------------------------------------ Intel TBB 4.4 Update 5 TBB_INTERFACE_VERSION == 9005 Changes (w.r.t. Intel TBB 4.4 Update 4): - Modified graph/fgbzip2 example to remove unnecessary data queuing. Preview Features: - Added a Python* module which is able to replace Python's thread pool class with the implementation based on Intel TBB task scheduler. Bugs fixed: - Fixed the implementation of 64-bit tbb::atomic for IA-32 architecture to work correctly with GCC 5.2 in C++11/14 mode. - Fixed a possible crash when tasks with affinity (e.g. specified via affinity_partitioner) are used simultaneously with task priority changes. ------------------------------------------------------------------------ Intel TBB 4.4 Update 4 TBB_INTERFACE_VERSION == 9004 Changes (w.r.t. Intel TBB 4.4 Update 3): - Removed a few cases of excessive user data copying in the flow graph. - Improved robustness of concurrent_bounded_queue::abort() in case of simultaneous push and pop operations. Preview Features: - Added tbb::flow::async_msg, a special message type to support communications between the flow graph and external asynchronous activities. - async_node modified to support use with C++03 compilers. Bugs fixed: - Fixed a bug in dynamic memory allocation replacement for Windows* OS. - Fixed excessive memory consumption on Linux* OS caused by enabling zero-copy realloc. - Fixed performance regression on Intel(R) Xeon Phi(tm) coprocessor with auto_partitioner. ------------------------------------------------------------------------ Intel TBB 4.4 Update 3 TBB_INTERFACE_VERSION == 9003 Changes (w.r.t. Intel TBB 4.4 Update 2): - Modified parallel_sort to not require a default constructor for values and to use iter_swap() for value swapping. - Added support for creating or initializing a task_arena instance that is connected to the arena currently used by the thread. - graph/binpack example modified to use multifunction_node. - For performance analysis, use Intel(R) VTune(TM) Amplifier XE 2015 and higher; older versions are no longer supported. - Improved support for compilation with disabled RTTI, by omitting its use in auxiliary code, such as assertions. However some functionality, particularly the flow graph, does not work if RTTI is disabled. - The tachyon example for Android* can be built using Android Studio 1.5 and higher with experimental Gradle plugin 0.4.0. Preview Features: - Added class opencl_subbufer that allows using OpenCL* sub-buffer objects with opencl_node. - Class global_control supports the value of 1 for max_allowed_parallelism. Bugs fixed: - Fixed a race causing "TBB Warning: setaffinity syscall failed" message. - Fixed a compilation issue on OS X* with Intel(R) C++ Compiler 15.0. - Fixed a bug in queuing_rw_mutex::downgrade() that could temporarily block new readers. - Fixed speculative_spin_rw_mutex to stop using the lazy subscription technique due to its known flaws. - Fixed memory leaks in the tool support code. ------------------------------------------------------------------------ Intel TBB 4.4 Update 2 TBB_INTERFACE_VERSION == 9002 Changes (w.r.t. Intel TBB 4.4 Update 1): - Improved interoperability with Intel(R) OpenMP RTL (libiomp) on Linux: OpenMP affinity settings do not affect the default number of threads used in the task scheduler. Intel(R) C++ Compiler 16.0 Update 1 or later is required. - Added a new flow graph example with different implementations of the Cholesky Factorization algorithm. Preview Features: - Added template class opencl_node to the flow graph API. It allows a flow graph to offload computations to OpenCL* devices. - Extended join_node to use type-specified message keys. It simplifies the API of the node by obtaining message keys via functions associated with the message type (instead of node ports). - Added static_partitioner that minimizes overhead of parallel_for and parallel_reduce for well-balanced workloads. - Improved template class async_node in the flow graph API to support user settable concurrency limits. Bugs fixed: - Fixed a possible crash in the GUI layer for library examples on Linux. ------------------------------------------------------------------------ Intel TBB 4.4 Update 1 TBB_INTERFACE_VERSION == 9001 Changes (w.r.t. Intel TBB 4.4): - Added support for Microsoft* Visual Studio* 2015. - Intel TBB no longer performs dynamic replacement of memory allocation functions for Microsoft Visual Studio 2005 and earlier versions. - For GCC 4.7 and higher, the intrinsics-based platform isolation layer uses __atomic_* built-ins instead of the legacy __sync_* ones. This change is inspired by a contribution from Mathieu Malaterre. - Improvements in task_arena: Several application threads may join a task_arena and execute tasks simultaneously. The amount of concurrency reserved for application threads at task_arena construction can be set to any value between 0 and the arena concurrency limit. - The fractal example was modified to demonstrate class task_arena and moved to examples/task_arena/fractal. Bugs fixed: - Fixed a deadlock during destruction of task_scheduler_init objects when one of destructors is set to wait for worker threads. - Added a workaround for a possible crash on OS X* when dynamic memory allocator replacement (libtbbmalloc_proxy) is used and memory is released during application startup. - Usage of mutable functors with task_group::run_and_wait() and task_arena::enqueue() is disabled. An attempt to pass a functor which operator()() is not const will produce compilation errors. - Makefiles and environment scripts now properly recognize GCC 5.0 and higher. Open-source contributions integrated: - Improved performance of parallel_for_each for inputs allowing random access, by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 4.4 TBB_INTERFACE_VERSION == 9000 Changes (w.r.t. Intel TBB 4.3 Update 6): - The following features are now fully supported: tbb::flow::composite_node; additional policies of tbb::flow::graph_node::reset(). - Platform abstraction layer for Windows* OS updated to use compiler intrinsics for most atomic operations. - The tbb/compat/thread header updated to automatically include C++11 <thread> where available. - Fixes and refactoring in the task scheduler and class task_arena. - Added key_matching policy to tbb::flow::join_node, which removes the restriction on the type that can be compared-against. - For tag_matching join_node, tag_value is redefined to be 64 bits wide on all architectures. - Expanded the documentation for the flow graph with details about node semantics and behavior. - Added dynamic replacement of C11 standard function aligned_alloc() under Linux* OS. - Added C++11 move constructors and assignment operators to tbb::enumerable_thread_specific container. - Added hashing support for tbb::tbb_thread::id. - On OS X*, binaries that depend on libstdc++ are not provided anymore. In the makefiles, libc++ is now used by default; for building with libstdc++, specify stdlib=libstdc++ in the make command line. Preview Features: - Added a new example, graph/fgbzip2, that shows usage of tbb::flow::async_node. - Modification to the low-level API for memory pools: added a function for finding a memory pool by an object allocated from that pool. - tbb::memory_pool now does not request memory till the first allocation from the pool. Changes affecting backward compatibility: - Internal layout of flow graph nodes has changed; recompilation is recommended for all binaries that use the flow graph. - Resetting a tbb::flow::source_node will immediately activate it, unless it was created in inactive state. Bugs fixed: - Failure at creation of a memory pool will not cause process termination anymore. Open-source contributions integrated: - Supported building TBB with Clang on AArch64 with use of built-in intrinsics by David A. ------------------------------------------------------------------------ Intel TBB 4.3 Update 6 TBB_INTERFACE_VERSION == 8006 Changes (w.r.t. Intel TBB 4.3 Update 5): - Supported zero-copy realloc for objects >1MB under Linux* via mremap system call. - C++11 move-aware insert and emplace methods have been added to concurrent_hash_map container. - install_name is set to @rpath/<library name> on OS X*. Preview Features: - Added template class async_node to the flow graph API. It allows a flow graph to communicate with an external activity managed by the user or another runtime. - Improved speed of flow::graph::reset() clearing graph edges. rf_extract flag has been renamed rf_clear_edges. - extract() method of graph nodes now takes no arguments. Bugs fixed: - concurrent_unordered_{set,map} behaves correctly for degenerate hashes. - Fixed a race condition in the memory allocator that may lead to excessive memory consumption under high multithreading load. ------------------------------------------------------------------------ Intel TBB 4.3 Update 5 TBB_INTERFACE_VERSION == 8005 Changes (w.r.t. Intel TBB 4.3 Update 4): - Added add_ref_count() method of class tbb::task. Preview Features: - Added class global_control for application-wide control of allowed parallelism and thread stack size. - memory_pool_allocator now throws the std::bad_alloc exception on allocation failure. - Exceptions thrown for by memory pool constructors changed from std::bad_alloc to std::invalid_argument and std::runtime_error. Bugs fixed: - scalable_allocator now throws the std::bad_alloc exception on allocation failure. - Fixed a race condition in the memory allocator that may lead to excessive memory consumption under high multithreading load. - A new scheduler created right after destruction of the previous one might be unable to modify the number of worker threads. Open-source contributions integrated: - (Added but not enabled) push_front() method of class tbb::task_list by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 4.3 Update 4 TBB_INTERFACE_VERSION == 8004 Changes (w.r.t. Intel TBB 4.3 Update 3): - Added a C++11 variadic constructor for enumerable_thread_specific. The arguments from this constructor are used to construct thread-local values. - Improved exception safety for enumerable_thread_specific. - Added documentation for tbb::flow::tagged_msg class and tbb::flow::output_port function. - Fixed build errors for systems that do not support dynamic linking. - C++11 move-aware insert and emplace methods have been added to concurrent unordered containers. Preview Features: - Interface-breaking change: typedefs changed for node predecessor and successor lists, affecting copy_predecessors and copy_successors methods. - Added template class composite_node to the flow graph API. It packages a subgraph to represent it as a first-class flow graph node. - make_edge and remove_edge now accept multiport nodes as arguments, automatically using the node port with index 0 for an edge. Open-source contributions integrated: - Draft code for enumerable_thread_specific constructor with multiple arguments (see above) by Adrien Guinet. - Fix for GCC invocation on IBM* Blue Gene* by Jeff Hammond and Raf Schietekat. - Extended testing with smart pointers for Clang & libc++ by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 4.3 Update 3 TBB_INTERFACE_VERSION == 8003 Changes (w.r.t. Intel TBB 4.3 Update 2): - Move constructor and assignment operator were added to unique_lock. Preview Features: - Time overhead for memory pool destruction was reduced. Open-source contributions integrated: - Build error fix for iOS* by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 4.3 Update 2 TBB_INTERFACE_VERSION == 8002 Changes (w.r.t. Intel TBB 4.3 Update 1): - Binary files for 64-bit Android* applications were added as part of the Linux* OS package. - Exact exception propagation is enabled for Intel C++ Compiler on OS X*. - concurrent_vector::shrink_to_fit was optimized for types that support C++11 move semantics. Bugs fixed: - Fixed concurrent unordered containers to insert elements much faster in debug mode. - Fixed concurrent priority queue to support types that do not have copy constructors. - Fixed enumerable_thread_specific to forbid copying from an instance with a different value type. Open-source contributions integrated: - Support for PathScale* EKOPath* Compiler by Erik Lindahl. ------------------------------------------------------------------------ Intel TBB 4.3 Update 1 TBB_INTERFACE_VERSION == 8001 Changes (w.r.t. Intel TBB 4.3): - The ability to split blocked_ranges in a proportion, used by affinity_partitioner since version 4.2 Update 4, became a formal extension of the Range concept. - More checks for an incorrect address to release added to the debug version of the memory allocator. - Different kind of solutions for each TBB example were merged. Preview Features: - Task priorities are re-enabled in preview binaries. Bugs fixed: - Fixed a duplicate symbol when TBB_PREVIEW_VARIADIC_PARALLEL_INVOKE is used in multiple compilation units. - Fixed a crash in __itt_fini_ittlib seen on Ubuntu 14.04. - Fixed a crash in memory release after dynamic replacement of the OS X* memory allocator. - Fixed incorrect indexing of arrays in seismic example. - Fixed a data race in lazy initialization of task_arena. Open-source contributions integrated: - Fix for dumping information about gcc and clang compiler versions by Misty De Meo. ------------------------------------------------------------------------ Intel TBB 4.3 TBB_INTERFACE_VERSION == 8000 Changes (w.r.t. Intel TBB 4.2 Update 5): - The following features are now fully supported: flow::indexer_node, task_arena, speculative_spin_rw_mutex. - Compatibility with C++11 standard improved for tbb/compat/thread and tbb::mutex. - C++11 move constructors have been added to concurrent_queue and concurrent_bounded_queue. - C++11 move constructors and assignment operators have been added to concurrent_vector, concurrent_hash_map, concurrent_priority_queue, concurrent_unordered_{set,multiset,map,multimap}. - C++11 move-aware emplace/push/pop methods have been added to concurrent_vector, concurrent_queue, concurrent_bounded_queue, concurrent_priority_queue. - Methods to insert a C++11 initializer list have been added: concurrent_vector::grow_by(), concurrent_hash_map::insert(), concurrent_unordered_{set,multiset,map,multimap}::insert(). - Testing for compatibility of containers with some C++11 standard library types has been added. - Dynamic replacement of standard memory allocation routines has been added for OS X*. - Microsoft* Visual Studio* projects for Intel TBB examples updated to VS 2010. - For open-source packages, debugging information (line numbers) in precompiled binaries now matches the source code. - Debug information was added to release builds for OS X*, Solaris*, FreeBSD* operating systems and MinGW*. - Various improvements in documentation, debug diagnostics and examples. Preview Features: - Additional actions on reset of graphs, and extraction of individual nodes from a graph (TBB_PREVIEW_FLOW_GRAPH_FEATURES). - Support for an arbitrary number of arguments in parallel_invoke (TBB_PREVIEW_VARIADIC_PARALLEL_INVOKE). Changes affecting backward compatibility: - For compatibility with C++11 standard, copy and move constructors and assignment operators are disabled for all mutex classes. To allow the old behavior, use TBB_DEPRECATED_MUTEX_COPYING macro. - flow::sequencer_node rejects messages with repeating sequence numbers. - Changed internal interface between tbbmalloc and tbbmalloc_proxy. - Following deprecated functionality has been removed: old debugging macros TBB_DO_ASSERT & TBB_DO_THREADING_TOOLS; no-op depth-related methods in class task; tbb::deprecated::concurrent_queue; deprecated variants of concurrent_vector methods. - register_successor() and remove_successor() are deprecated as methods to add and remove edges in flow::graph; use make_edge() and remove_edge() instead. Bugs fixed: - Fixed incorrect scalable_msize() implementation for aligned objects. - Flow graph buffering nodes now destroy their copy of forwarded items. - Multiple fixes in task_arena implementation, including for: inconsistent task scheduler state inside executed functions; incorrect floating-point settings and exception propagation; possible stalls in concurrent invocations of execute(). - Fixed floating-point settings propagation when the same instance of task_group_context is used in different arenas. - Fixed compilation error in pipeline.h with Intel Compiler on OS X*. - Added missed headers for individual components to tbb.h. Open-source contributions integrated: - Range interface addition to parallel_do, parallel_for_each and parallel_sort by Stephan Dollberg. - Variadic template implementation of parallel_invoke by Kizza George Mbidde (see Preview Features). - Improvement in Seismic example for MacBook Pro* with Retina* display by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 4.2 Update 5 TBB_INTERFACE_VERSION == 7005 Changes (w.r.t. Intel TBB 4.2 Update 4): - The second template argument of class aligned_space<T,N> now is set to 1 by default. Preview Features: - Better support for exception safety, task priorities and floating point settings in class task_arena. - task_arena::current_slot() has been renamed to task_arena::current_thread_index(). Bugs fixed: - Task priority change possibly ignored by a worker thread entering a nested parallel construct. - Memory leaks inside the task scheduler when running on Intel(R) Xeon Phi(tm) coprocessor. Open-source contributions integrated: - Improved detection of X Window support for Intel TBB examples and other feedback by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 4.2 Update 4 TBB_INTERFACE_VERSION == 7004 Changes (w.r.t. Intel TBB 4.2 Update 3): - Added possibility to specify floating-point settings at invocation of most parallel algorithms (including flow::graph) via task_group_context. - Added dynamic replacement of malloc_usable_size() under Linux*/Android* and dlmalloc_usable_size() under Android*. - Added new methods to concurrent_vector: grow_by() that appends a sequence between two given iterators; grow_to_at_least() that initializes new elements with a given value. - Improved affinity_partitioner for better performance on balanced workloads. - Improvements in the task scheduler, including better scalability when threads search for a task arena, and better diagnostics. - Improved allocation performance for workloads that do intensive allocation/releasing of same-size objects larger than ~8KB from multiple threads. - Exception support is enabled by default for 32-bit MinGW compilers. - The tachyon example for Android* can be built for all targets supported by the installed NDK. - Added Windows Store* version of the tachyon example. - GettingStarted/sub_string_finder example ported to offload execution on Windows* for Intel(R) Many Integrated Core Architecture. Preview Features: - Removed task_scheduler_observer::on_scheduler_leaving() callback. - Added task_scheduler_observer::may_sleep() callback. - The CPF or_node has been renamed indexer_node. The input to indexer_node is now a list of types. The output of indexer_node is a tagged_msg type composed of a tag and a value. For indexer_node, the tag is a size_t. Bugs fixed: - Fixed data races in preview extensions of task_scheduler_observer. - Added noexcept(false) for destructor of task_group_base to avoid crash on cancellation of structured task group in C++11. Open-source contributions integrated: - Improved concurrency detection for BG/Q, and other improvements by Raf Schietekat. - Fix for crashes in enumerable_thread_specific in case if a contained object is too big to be constructed on the stack by Adrien Guinet. ------------------------------------------------------------------------ Intel TBB 4.2 Update 3 TBB_INTERFACE_VERSION == 7003 Changes (w.r.t. Intel TBB 4.2 Update 2): - Added support for Microsoft* Visual Studio* 2013. - Improved Microsoft* PPL-compatible form of parallel_for for better support of auto-vectorization. - Added a new example for cancellation and reset in the flow graph: Kohonen self-organizing map (examples/graph/som). - Various improvements in source code, tests, and makefiles. Bugs fixed: - Added dynamic replacement of _aligned_msize() previously missed. - Fixed task_group::run_and_wait() to throw invalid_multiple_scheduling exception if the specified task handle is already scheduled. Open-source contributions integrated: - A fix for ARM* processors by Steve Capper. - Improvements in std::swap calls by Robert Maynard. ------------------------------------------------------------------------ Intel TBB 4.2 Update 2 TBB_INTERFACE_VERSION == 7002 Changes (w.r.t. Intel TBB 4.2 Update 1): - Enable C++11 features for Microsoft* Visual Studio* 2013 Preview. - Added a test for compatibility of TBB containers with C++11 range-based for loop. Changes affecting backward compatibility: - Internal layout changed for class tbb::flow::limiter_node. Preview Features: - Added speculative_spin_rw_mutex, a read-write lock class which uses Intel(R) Transactional Synchronization Extensions. Bugs fixed: - When building for Intel(R) Xeon Phi(tm) coprocessor, TBB programs no longer require explicit linking with librt and libpthread. Open-source contributions integrated: - Fixes for ARM* processors by Steve Capper, Leif Lindholm and Steven Noonan. - Support for Clang on Linux by Raf Schietekat. - Typo correction in scheduler.cpp by Julien Schueller. ------------------------------------------------------------------------ Intel TBB 4.2 Update 1 TBB_INTERFACE_VERSION == 7001 Changes (w.r.t. Intel TBB 4.2): - Added project files for Microsoft* Visual Studio* 2010. - Initial support of Microsoft* Visual Studio* 2013 Preview. - Enable C++11 features available in Intel(R) C++ Compiler 14.0. - scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT, <size>) can be used to urge releasing memory from tbbmalloc internal buffers when the given limit is exceeded. Preview Features: - Class task_arena no longer requires linking with a preview library, though still remains a community preview feature. - The method task_arena::wait_until_empty() is removed. - The method task_arena::current_slot() now returns -1 if the task scheduler is not initialized in the thread. Changes affecting backward compatibility: - Because of changes in internal layout of graph nodes, the namespace interface number of flow::graph has been incremented from 6 to 7. Bugs fixed: - Fixed a race in lazy initialization of task_arena. - Fixed flow::graph::reset() to prevent situations where tasks would be spawned in the process of resetting the graph to its initial state. - Fixed decrement bug in limiter_node. - Fixed a race in arc deletion in the flow graph. Open-source contributions integrated: - Improved support for IBM* Blue Gene* by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 4.2 TBB_INTERFACE_VERSION == 7000 Changes (w.r.t. Intel TBB 4.1 Update 4): - Added speculative_spin_mutex, which uses Intel(R) Transactional Synchronization Extensions when they are supported by hardware. - Binary files linked with libc++ (the C++ standard library in Clang) were added on OS X*. - For OS X* exact exception propagation is supported with Clang; it requires use of libc++ and corresponding Intel TBB binaries. - Support for C++11 initializer lists in constructor and assignment has been added to concurrent_hash_map, concurrent_unordered_set, concurrent_unordered_multiset, concurrent_unordered_map, concurrent_unordered_multimap. - The memory allocator may now clean its per-thread memory caches when it cannot get more memory. - Added the scalable_allocation_command() function for on-demand cleaning of internal memory caches. - Reduced the time overhead for freeing memory objects smaller than ~8K. - Simplified linking with the debug library for applications that use Intel TBB in code offloaded to Intel(R) Xeon Phi(tm) coprocessors. See an example in examples/GettingStarted/sub_string_finder/Makefile. - Various improvements in source code, scripts and makefiles. Changes affecting backward compatibility: - tbb::flow::graph has been modified to spawn its tasks; the old behaviour (task enqueuing) is deprecated. This change may impact applications that expected a flow graph to make progress without calling wait_for_all(), which is no longer guaranteed. See the documentation for more details. - Changed the return values of the scalable_allocation_mode() function. Bugs fixed: - Fixed a leak of parallel_reduce body objects when execution is cancelled or an exception is thrown, as suggested by Darcy Harrison. - Fixed a race in the task scheduler which can lower the effective priority despite the existence of higher priority tasks. - On Linux an error during destruction of the internal thread local storage no longer results in an exception. Open-source contributions integrated: - Fixed task_group_context state propagation to unrelated context trees by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 4.1 Update 4 TBB_INTERFACE_VERSION == 6105 Changes (w.r.t. Intel TBB 4.1 Update 3): - Use /volatile:iso option with VS 2012 to disable extended semantics for volatile variables. - Various improvements in affinity_partitioner, scheduler, tests, examples, makefiles. - Concurrent_priority_queue class now supports initialization/assignment via C++11 initializer list feature (std::initializer_list<T>). Bugs fixed: - Fixed more possible stalls in concurrent invocations of task_arena::execute(), especially waiting for enqueued tasks. - Fixed requested number of workers for task_arena(P,0). - Fixed interoperability with Intel(R) VTune(TM) Amplifier XE in case of using task_arena::enqueue() from a terminating thread. Open-source contributions integrated: - Type fixes, cleanups, and code beautification by Raf Schietekat. - Improvements in atomic operations for big endian platforms by Raf Schietekat. ------------------------------------------------------------------------ Intel TBB 4.1 Update 3 TBB_INTERFACE_VERSION == 6103 Changes (w.r.t. Intel TBB 4.1 Update 2): - Binary files for Android* applications were added to the Linux* OS package. - Binary files for Windows Store* applications were added to the Windows* OS package. - Exact exception propagation (exception_ptr) support on Linux OS is now turned on by default for GCC 4.4 and higher. - Stopped implicit use of large memory pages by tbbmalloc (Linux-only). Now use of large pages must be explicitly enabled with scalable_allocation_mode() function or TBB_MALLOC_USE_HUGE_PAGES environment variable. Community Preview Features: - Extended class task_arena constructor and method initialize() to allow some concurrency to be reserved strictly for application threads. - New methods terminate() and is_active() were added to class task_arena. Bugs fixed: - Fixed initialization of hashing helper constant in the hash containers. - Fixed possible stalls in concurrent invocations of task_arena::execute() when no worker thread is available to make progress. - Fixed incorrect calculation of hardware concurrency in the presence of inactive processor groups, particularly on systems running Windows* 8 and Windows* Server 2012. Open-source contributions integrated: - The fix for the GUI examples on OS X* systems by Raf Schietekat. - Moved some power-of-2 calculations to functions to improve readability by Raf Schietekat. - C++11/Clang support improvements by arcata. - ARM* platform isolation layer by Steve Capper, Leif Lindholm, Leo Lara (ARM). ------------------------------------------------------------------------ Intel TBB 4.1 Update 2 TBB_INTERFACE_VERSION == 6102 Changes (w.r.t. Intel TBB 4.1 Update 1): - Objects up to 128 MB are now cached by the tbbmalloc. Previously the threshold was 8MB. Objects larger than 128 MB are still processed by direct OS calls. - concurrent_unordered_multiset and concurrent_unordered_multimap have been added, based on Microsoft* PPL prototype. - Ability to value-initialize a tbb::atomic<T> variable on construction in C++11, with const expressions properly supported. Community Preview Features: - Added a possibility to wait until all worker threads terminate. This is necessary before calling fork() from an application. Bugs fixed: - Fixed data race in tbbmalloc that might lead to memory leaks for large object allocations. - Fixed task_arena::enqueue() to use task_group_context of target arena. - Improved implementation of 64 bit atomics on ia32. ------------------------------------------------------------------------ Intel TBB 4.1 Update 1 TBB_INTERFACE_VERSION == 6101 Changes (w.r.t. Intel TBB 4.1): - concurrent_vector class now supports initialization/assignment via C++11 initializer list feature (std::initializer_list<T>) - Added implementation of the platform isolation layer based on Intel compiler atomic built-ins; it is supposed to work on any platform supported by compiler version 12.1 and newer. - Using GetNativeSystemInfo() instead of GetSystemInfo() to support more than 32 processors for 32-bit applications under WOW64. - The following form of parallel_for: parallel_for(first, last, [step,] f[, context]) now accepts an optional partitioner parameter after the function f. Backward-incompatible API changes: - The library no longer injects tuple in to namespace std. In previous releases, tuple was injected into namespace std by flow_graph.h when std::tuple was not available. In this release, flow_graph.h now uses tbb::flow::tuple. On platforms where std::tuple is available, tbb::flow::tuple is typedef'ed to std::tuple. On all other platforms, tbb::flow::tuple provides a subset of the functionality defined by std::tuple. Users of flow_graph.h may need to change their uses of std::tuple to tbb::flow::tuple to ensure compatibility with non-C++11 compliant compilers. Bugs fixed: - Fixed local observer to be able to override propagated CPU state and to provide correct value of task_arena::current_slot() in callbacks. ------------------------------------------------------------------------ Intel TBB 4.1 TBB_INTERFACE_VERSION == 6100 Changes (w.r.t. Intel TBB 4.0 Update 5): - _WIN32_WINNT must be set to 0x0501 or greater in order to use TBB on Microsoft* Windows*. - parallel_deterministic_reduce template function is fully supported. - TBB headers can be used with C++0x/C++11 mode (-std=c++0x) of GCC and Intel(R) Compiler. - C++11 std::make_exception_ptr is used where available, instead of std::copy_exception from earlier C++0x implementations. - Improvements in the TBB allocator to reduce extra memory consumption. - Partial refactoring of the task scheduler data structures. - TBB examples allow more flexible specification of the thread number, including arithmetic and geometric progression. Bugs fixed: - On Linux & OS X*, pre-built TBB binaries do not yet support exact exception propagation via C++11 exception_ptr. To prevent run time errors, by default TBB headers disable exact exception propagation even if the C++ implementation provides exception_ptr. Community Preview Features: - Added: class task_arena, for work submission by multiple application threads with thread-independent control of concurrency level. - Added: task_scheduler_observer can be created as local to a master thread, to observe threads that work on behalf of that master. Local observers may have new on_scheduler_leaving() callback. ------------------------------------------------------------------------ Intel TBB 4.0 Update 5 TBB_INTERFACE_VERSION == 6005 Changes (w.r.t. Intel TBB 4.0 Update 4): - Parallel pipeline optimization (directly storing small objects in the interstage data buffers) limited to trivially-copyable types for C++11 and a short list of types for earlier compilers. - _VARIADIC_MAX switch is honored for TBB tuple implementation and flow::graph nodes based on tuple. - Support of Cocoa framework was added to the GUI examples on OS X* systems. Bugs fixed: - Fixed a tv_nsec overflow bug in condition_variable::wait_for. - Fixed execution order of enqueued tasks with different priorities. - Fixed a bug with task priority changes causing lack of progress for fire-and-forget tasks when TBB was initialized to use 1 thread. - Fixed duplicate symbol problem when linking multiple compilation units that include flow_graph.h on VC 10. ------------------------------------------------------------------------ Intel TBB 4.0 Update 4 TBB_INTERFACE_VERSION == 6004 Changes (w.r.t. Intel TBB 4.0 Update 3): - The TBB memory allocator transparently supports large pages on Linux. - A new flow_graph example, logic_sim, was added. - Support for DirectX* 9 was added to GUI examples. Community Preview Features: - Added: aggregator, a new concurrency control mechanism. Bugs fixed: - The abort operation on concurrent_bounded_queue now leaves the queue in a reusable state. If a bad_alloc or bad_last_alloc exception is thrown while the queue is recovering from an abort, that exception will be reported instead of user_abort on the thread on which it occurred, and the queue will not be reusable. - Steal limiting heuristic fixed to avoid premature stealing disabling when large amount of __thread data is allocated on thread stack. - Fixed a low-probability leak of arenas in the task scheduler. - In STL-compatible allocator classes, the method construct() was fixed to comply with C++11 requirements. - Fixed a bug that prevented creation of fixed-size memory pools smaller than 2M. - Significantly reduced the amount of warnings from various compilers. Open-source contributions integrated: - Multiple improvements by Raf Schietekat. - Basic support for Clang on OS X* by Blas Rodriguez Somoza. - Fixes for warnings and corner-case bugs by Blas Rodriguez Somoza and Edward Lam. ------------------------------------------------------------------------ Intel TBB 4.0 Update 3 TBB_INTERFACE_VERSION == 6003 Changes (w.r.t. Intel TBB 4.0 Update 2): - Modifications to the low-level API for memory pools: added support for aligned allocations; pool policies reworked to allow backward-compatible extensions; added a policy to not return memory space till destruction; pool_reset() does not return memory space anymore. - Class tbb::flow::graph_iterator added to iterate over all nodes registered with a graph instance. - multioutput_function_node has been renamed multifunction_node. multifunction_node and split_node are now fully-supported features. - For the tagged join node, the policy for try_put of an item with already existing tag has been defined: the item will be rejected. - Matching the behavior on Windows, on other platforms the optional shared libraries (libtbbmalloc, libirml) now are also searched only in the directory where libtbb is located. - The platform isolation layer based on GCC built-ins is extended. Backward-incompatible API changes: - a graph reference parameter is now required to be passed to the constructors of the following flow graph nodes: overwrite_node, write_once_node, broadcast_node, and the CPF or_node. - the following tbb::flow node methods and typedefs have been renamed: Old New join_node and or_node: inputs() -> input_ports() input_ports_tuple_type -> input_ports_type multifunction_node and split_node: ports_type -> output_ports_type Bugs fixed: - Not all logical processors were utilized on systems with more than 64 cores split by Windows into several processor groups. ------------------------------------------------------------------------ Intel TBB 4.0 Update 2 commercial-aligned release TBB_INTERFACE_VERSION == 6002 Changes (w.r.t. Intel TBB 4.0 Update 1 commercial-aligned release): - concurrent_bounded_queue now has an abort() operation that releases threads involved in pending push or pop operations. The released threads will receive a tbb::user_abort exception. - Added Community Preview Feature: concurrent_lru_cache container, a concurrent implementation of LRU (least-recently-used) cache. Bugs fixed: - fixed a race condition in the TBB scalable allocator. - concurrent_queue counter wraparound bug was fixed, which occurred when the number of push and pop operations exceeded ~>4 billion on IA32. - fixed races in the TBB scheduler that could put workers asleep too early, especially in presence of affinitized tasks. ------------------------------------------------------------------------ Intel TBB 4.0 Update 1 commercial-aligned release TBB_INTERFACE_VERSION == 6000 (forgotten to increment) Changes (w.r.t. Intel TBB 4.0 commercial-aligned release): - Memory leaks fixed in binpack example. - Improvements and fixes in the TBB allocator. ------------------------------------------------------------------------ Intel TBB 4.0 commercial-aligned release TBB_INTERFACE_VERSION == 6000 Changes (w.r.t. Intel TBB 3.0 Update 8 commercial-aligned release): - concurrent_priority_queue is now a fully supported feature. Capacity control methods were removed. - Flow graph is now a fully supported feature. - A new memory backend has been implemented in the TBB allocator. It can reuse freed memory for both small and large objects, and returns unused memory blocks to the OS more actively. - Improved partitioning algorithms for parallel_for and parallel_reduce to better handle load imbalance. - The convex_hull example has been refactored for reproducible performance results. - The major interface version has changed from 5 to 6. Deprecated interfaces might be removed in future releases. Community Preview Features: - Added: serial subset, i.e. sequential implementations of TBB generic algorithms (currently, only provided for parallel_for). - Preview of new flow graph nodes: or_node (accepts multiple inputs, forwards each input separately to all successors), split_node (accepts tuples, and forwards each element of a tuple to a corresponding successor), and multioutput_function_node (accepts one input, and passes the input and a tuple of output ports to the function body to support outputs to multiple successors). - Added: memory pools for more control on memory source, grouping, and collective deallocation. ------------------------------------------------------------------------ Intel TBB 3.0 Update 8 commercial-aligned release TBB_INTERFACE_VERSION == 5008 Changes (w.r.t. Intel TBB 3.0 Update 7 commercial-aligned release): - Task priorities become an official feature of TBB, not community preview as before. - Atomics API extended, and implementation refactored. - Added task::set_parent() method. - Added concurrent_unordered_set container. Open-source contributions integrated: - PowerPC support by Raf Schietekat. - Fix of potential task pool overrun and other improvements in the task scheduler by Raf Schietekat. - Fix in parallel_for_each to work with std::set in Visual* C++ 2010. Community Preview Features: - Graph community preview feature was renamed to flow graph. Multiple improvements in the implementation. Binpack example was added for the feature. - A number of improvements to concurrent_priority_queue. Shortpath example was added for the feature. - TBB runtime loaded functionality was added (Windows*-only). It allows to specify which versions of TBB should be used, as well as to set directories for the library search. - parallel_deterministic_reduce template function was added. ------------------------------------------------------------------------ Intel TBB 3.0 Update 7 commercial-aligned release TBB_INTERFACE_VERSION == 5006 (forgotten to increment) Changes (w.r.t. Intel TBB 3.0 Update 6 commercial-aligned release): - Added implementation of the platform isolation layer based on GCC atomic built-ins; it is supposed to work on any platform where GCC has these built-ins. Community Preview Features: - Graph's dining_philosophers example added. - A number of improvements to graph and concurrent_priority_queue.
2020-08-31*: bump PKGREVISION for perl-5.32.wiz9-16/+18
2020-08-17*: revbump after fontconfig bl3 changes (libuuid removal)leot1-2/+2
2020-08-12parallel/fastflow: Replace bash in scriptsbrook1-2/+5
2020-08-09parallel/fastflow: import fastflow-3.0.0brook5-1/+132
FastFlow: high-performance parallel patterns and building blocks in C++ FastFlow is a programming library implemented in modern C++ and targeting multi/many-cores (there exists an experimental version based on ZeroMQ targeting distributed systems). It offers both a set of high-level ready-to-use parallel patterns and a set of mechanisms and composable components (called building blocks) to support low-latency and high-throughput data-flow streaming networks. FastFlow simplifies the development of parallel applications modelled as a structured directed graph of processing nodes. The graph of concurrent nodes is constructed by the assembly of sequential and parallel building blocks as well as higher-level easy-to-use components (i.e. parallel patterns) modelling typical schemas of parallel computations (e.g., pipeline, task-farm, parallel-for, etc.). FastFlow efficiency stems from the optimized implementation of the base communication and synchronization mechanisms and from its layered software design.
2020-07-26llvm: updated to 10.0.1adam1-5/+5
10.0.1: Bug fix release
2020-07-13ganglia-monitor-core: add buildlink3.mkwiz4-9/+27
From Edgar Fuß in PR 55479. Some pkglint cleanup while here.
2020-07-11parallel: Add lua-lanesnia8-1/+141
Lua Lanes is a Lua extension library providing the possibility to run multiple Lua states in parallel. It is intended to be used for optimizing performance on multicore CPUs and to study ways to make Lua programs naturally parallel to begin with.
2020-06-16paexec: Pull in libmaaotis1-1/+2
Fix build on platforms without system-wide libmaa, like SmartOS.
2020-06-02Revbump for icuadam8-13/+16
2020-06-01Update to version 1.1.4cheusov2-8/+8
Remove local function pr_open and use it from libmaa library. So, now paexec requires libmaa. "mkcmake help" shows configuring variables and descriptions for targets. Use mkc's feature "getdelim" instead of local implementation. So, we need at least mk-configure 0.33.0 Optimization flags defaults to "-O2 -g"
2020-05-27*: reset MAINTAINER for fhajny on his requestwiz1-2/+2
2020-05-22revbump after updating security/nettleadam1-2/+2
2020-05-19parallel: Update to 20200422nia3-10/+16
20200422 This release celebrates GNU Parallel's 10 years as a GNU tool: > commit ed2dfb1043768154d4e7678e01e10287155fa834 > Author: Ole Tange <ole@tange.dk> > Date: Thu Apr 22 01:23:00 2010 +0200 > > Name change: Parallel is now GNU Parallel. > Basic structure for sshlogin and sshloginfile. New in this release: * parsort makes GNU sort run faster for files with more than 1M lines. * Bug fixes and man page updates. News about GNU Parallel: * Several clusters have updated their documentation of GNU Parallel: https://www.grid5000.fr/w/GNU_Parallel https://research-it.berkeley.edu/virtual-training-running-jobs-parallel-savio http://www.hpc.lsu.edu/training/archive/tutorials.php * add_pho uses GNU Parallel: https://github.com/SeedlingsBabylab/add_pho * GNU parallel使用笔记https://zhuanlan.zhihu.com/p/37340011 * Virtual Workshop: Running Jobs in Parallel on Savio https://ais.berkeley.edu/events/virtual-workshop-running-jobs-parallel-savio/2020-04-20 * Free Concurrency with GNU Parallel https://phili.pe/posts/free-concurrency-with-gnu-parallel/ 20200322 * Bug fixes and man page updates. News about GNU Parallel: * The GNU Parallel course in Copenhagen is cancelled https://www.prosa.dk/nc/arrangementer/arrangement/gnu-parallel-med-ole-tange/ * The GNU Parallel course in Århus is cancelled https://www.prosa.dk/nc/arrangementer/arrangement/gnu-parallel-og-parallelisering-i-unix-shellen/ * The 10 year anniversary may be cancelled, see https://www.gnu.org/software/parallel/10-years-anniversary.html * Running shell commands in parallel, via GNU Parallel https://dev.to/saveriomiroddi/running-shell-commands-in-parallel-via-gnu-parallel-3a72 * Faster nmap scanning with the help of GNU parallel https://badshah.io/experiment/faster-nmap-scanning-with-the-help-of-gnu-parallel/ 20200222 * Bug fixes and man page updates. 20200122 * --blocktimeout dur - Time out for reading block when using --pipe. If it takes longer than dur to read a full block, use the partial block read so far. * Bug fixes and man page updates. News about GNU Parallel: * GNU Parallel course in Copenhagen https://www.prosa.dk/nc/arrangementer/arrangement/gnu-parallel-med-ole-tange/ * GNU Parallel course in Århus https://www.prosa.dk/nc/arrangementer/arrangement/gnu-parallel-og-parallelisering-i-unix-shellen/ * GNU Parallel pour accélérer vos process sous Linux https://www.yvonh.com/gnu-parallel-pour-accelerer-vos-process-sous-linux/ * How to copy a file to multiple directories in Linux https://net2.com/how-to-copy-a-file-to-multiple-directories-in-linux/ * Running linux commands in parallel https://dev.to/voyeg3r/runing-linux-commands-in-parallel-4ff8 20191222 * GNU Parallel course in Copenhagen https://www.prosa.dk/nc/arrangementer/arrangement/gnu-parallel-med-ole-tange/ * GNU Parallel course in Århus https://www.prosa.dk/nc/arrangementer/arrangement/gnu-parallel-og-parallelisering-i-unix-shellen/ * GNU Parallel is used in https://github.com/JeffersonLab/rfw_tsf_extractor * Bug fixes and man page updates. 20191122 * GNU Parallel was presented at Driving IT. Slides: cloud.prosa.dk/s/drivingit * Restarting supervisord processes in parallel https://blog.naderman.de/2019/11/14/restarting-supervisord-processes-in-parallel/ * Using GNU Parallel to Create Archives Faster https://www.reddit.com/r/DataHoarder/comments/dsgmhc/parallel_archiving_techniques/ * Bug fixes and man page updates. 20191022 * --tee will use --output-error=warn-nopipe if supported by tee. * GNU Parallel will be presented at Driving IT 2019: https://ida.dk/arrangementer-og-kurser/konferencer/driving-it/tools * UMN Duluth: Job parallelization with task arrays and GNU parallel https://www.msi.umn.edu/tutorials/umn-duluth-job-parallelization-task-arrays-and-gnu-parallel * Genome updater uses GNU Parallel https://github.com/pirovc/genome_updater * Using GNU-Parallel for bioinformatics https://www.danielecook.com/using-gnu-parallel-for-bioinformatics/ * Speeding up PostgreSQL ETL pipeline with the help of GODS https://cfengine.com/company/blog-detail/speeding-up-postgresql-etl-pipeline-with-the-help-of-gods/ * Runing linux commands in parallel https://dev.to/voyeg3r/runing-linux-commands-in-parallel-4ff8 * Research Computing University of Colorado Boulder contains an intro to GNU Parallel https://readthedocs.org/projects/curc/downloads/pdf/latest/ * 如何使用Parallel在Shell中并行执行命令 https://www.myfreax.com/gnu-parallel/ * 如何测试 Amazon Elastic File System https://aws.amazon.com/cn/blogs/china/how-to-test-drive-amazon-elastic-file-system/ * Bug fixes and man page updates. 20190922 * --nice is now inherited by the nice level that GNU Parallel is started at. So 'nice -n10 parallel' will also cause remote jobs to be run at nice level 10. * --delay is now accurate to within 10 ms * GNU Parallel will be presented at Driving IT 2019: https://ida.dk/arrangementer-og-kurser/konferencer/driving-it/tools * Greenland Ice Sheet solid ice discharge from 1986 through 2017 https://www.earth-syst-sci-data.net/11/769/2019/essd-11-769-2019.pdf * App Center Cloud Build Machines > Installed Software > Utilities https://docs.microsoft.com/en-us/appcenter/build/software * Curryfinger - SNI & Host header spoofing utility https://dualuse.io/blog/curryfinger/ * Hyak parallel-sql https://wiki.cac.washington.edu/display/hyakusers/Hyak+parallel-sql * A meditation on analysing data with Perl in parallel using GNU Parallel https://www.reddit.com/r/perl/comments/cyo2qc/a_meditation_on_analysing_data_with_perl_in/ * Accélérer ses tâches avec GNU Parallel et les lots de tâches (UL) https://www.eventbrite.ca/e/inscription-accelerer-ses-taches-avec-gnu-parallel-et-les-lots-de-taches-ul-71412840729 * RMACC Summit GNU Parallel https://curc.readthedocs.io/en/latest/software/GNUParallel.html * Introducing Parallel into Shell https://petelawson.com/post/parallel-in-shell/ * Linux Productivity Tools https://www.usenix.org/conference/lisa19/presentation/maheshwari * Gnu/parallel + Nfs 实现共享文件网络的并发计算等操作 http://atomicer.cn/2018/01/18/gnu-parallel-nfs-%E5%AE%9E%E7%8E%B0%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6%E7%BD%91%E7%BB%9C%E7%9A%84%E5%B9%B6%E5%8F%91%E8%AE%A1%E7%AE%97%E7%AD%89%E6%93%8D%E4%BD%9C/#more * Bug fixes and man page updates.
2020-05-19Recursive revbump for json-c-0.14nia1-2/+2
2020-05-17py-billiard: updated to 3.6.3.0adam3-15/+15
3.6.1: - Logging max memory reached at INFO rather than WARNING - Pass arguments when wrapping sys.exit - Remove win32/py2k special - Ensure READY messages sent out by exiting worker are consumed prior to it actually existing. - Pass max_memory_per_child to child worker process - Fix compatibility with Python 2.7 on Windows
2020-05-15Update to 1.1.3:cheusov2-7/+7
Fix use of uninitialized array. As a rsult paexec generates incorrect shell command to run on nodes. Seen with "clang-7.0.1" with -O2 and -D_FORTIFY_SOURCE=2 Add one line description to projects. So, one can run "mkcmake help"
2020-05-10parallel/ganglia-monitor-core: clean up SUBST_FILESrillig1-10/+3
The package has switched to autoconf's .in files to get the paths into the source code.
2020-05-06revbump after boost updateadam1-2/+2
2020-04-18openmp: updated to 10.0.0adam2-7/+8
10.0.0: Unknown changes
2020-03-30Update to paexec-1.1.2cheusov2-7/+7
paexec -x: * fix handling tasks with leading spaces * fix handling tasks with backslashes paargs: * on SunOS-5.10 use /usr/xpg4/bin/sh instead of horribly broken /bin/sh Fix build failure on SunOS-5.10 (getdelim(3) is absent) Introduce PAEXEC_SH environment variable for fixing /bin/sh on SunOS-5.10 Introduce PAEXEC_FIND variable for regression tests (required on SunOS-5.10)
2020-03-22parallel/paexec: remove REPLACE_SH without effectrillig1-4/+1
Both files don't exist. If corrected, the first file would end up in share/examples, and mk/check/check-interpreter.mk allows /usr/bin/env is those files.
2020-03-20*: Convert broken sourceforge HOMEPAGEs back to httpnia3-6/+6
2020-03-10librsvg: update bl3.mk to remove libcroco in rust casewiz1-2/+2
recursive bump for the dependency change
2020-03-08*: recursive bump for libffiwiz3-5/+6
2020-02-06openmpi: Support SunOS/x86_64 inline assembly.jperkin2-1/+16
2020-02-01parallel/slurm-wlm: Upgrade to 19.05.5bacon9-98/+94
CVE-2019-6438 resolved upstream Numerous enhancements and bug fixes Remove some old patches and hacks
2020-01-26all: migrate homepages from http to httpsrillig5-10/+10
pkglint -r --network --only "migrate" As a side-effect of migrating the homepages, pkglint also fixed a few indentations in unrelated lines. These and the new homepages have been checked manually.
2020-01-18all: migrate several HOMEPAGEs to httpsrillig4-8/+8
pkglint --only "https instead of http" -r -F With manual adjustments afterwards since pkglint 19.4.4 fixed a few indentations in unrelated lines. This mainly affects projects hosted at SourceForce, as well as freedesktop.org, CTAN and GNU.
2020-01-18*: Recursive revision bump for openssl 1.1.1.jperkin3-6/+6
2020-01-12*: Recursive revbump from devel/boost-libsryoon1-2/+2
2019-12-29llvm: updated to 9.0.1adam3-13/+12
9.0.1 is a bug-fix release.
2019-11-04parallel: align variable assignmentsrillig3-9/+9
pkglint -Wall -F --only aligned --only indent -r No manual corrections.
2019-10-31(parallel/parallel) Updated 20160822 to 20190922. See NEWS (in source tree)mef3-11/+33
2019-10-24more packages with wrong LICENSE tagtnn1-2/+3
2019-10-19lld: updated to 9.0.0adam2-11/+8
9.0.0: Non-comprehensive list of changes in this release ELF Improvements ld.lld now has typo suggestions for flags: $ ld.lld --call-shared now prints unknown argument '--call-shared', did you mean '--call_shared'. --allow-shlib-undefined and --no-allow-shlib-undefined options are added. --no-allow-shlib-undefined is the default for executables. -nmagic and -omagic options are fully supported. Segment layout has changed. PT_GNU_RELRO, which was previously placed in the middle of readable/writable PT_LOAD segments, is now placed at the beginning of them. This change permits lld-produced ELF files to be read correctly by GNU strip older than 2.31, which has a bug to discard a PT_GNU_RELRO in the former layout. -z common-page-size is supported. Diagnostics messages have improved. A new flag --vs-diagnostics alters the format of diagnostic output to enable source hyperlinks in Microsoft Visual Studio IDE. Linker script compatibility with GNU BFD linker has generally improved. The clang --dependent-library form of autolinking is supported. This feature is added to implement the Windows-style autolinking for Unix. On Unix, in order to use a library, you usually have to include a header file provided by the library and then explicitly link the library with the linker -l option. On Windows, header files usually contain pragmas that list needed libraries. Compilers copy that information to object files, so that linkers can automatically link needed libraries. --dependent-library is added for implementing that Windows semantics on Unix. AArch64 BTI and PAC are supported. lld now supports replacing JAL with JALX instructions in case of MIPS-microMIPS cross-mode jumps. lld now creates LA25 thunks for MIPS R6 code. Put MIPS-specific .reginfo, .MIPS.options, and .MIPS.abiflags sections into corresponding PT_MIPS_REGINFO, PT_MIPS_OPTIONS, and PT_MIPS_ABIFLAGS segments. The quality of RISC-V and PowerPC ports have greatly improved. Many applications can now be linked by lld. PowerPC64 is now almost production ready. The Linux kernel for arm32_7, arm64, ppc64le and x86_64 can now be linked by lld. x86-64 TLSDESC is supported. DF_STATIC_TLS flag is set for i386 and x86-64 when needed. The experimental partitioning feature is added to allow a program to be split into multiple pieces. The feature allows you to semi-automatically split a single program into multiple ELF files called “partitions”. Since all partitions share the same memory address space and don’t use PLT/GOT, split programs run as fast as regular programs. With the mechanism, you can start a program only with a “main” partition and load remaining partitions on-demand. For example, you can split a web browser into a main partition and a PDF reader sub-partition and load the PDF reader partition only when a user tries to open a PDF file. See the documentation for more information. If “-” is given as an output filename, lld writes the final result to the standard output. Previously, it created a file “-” in the current directory. -z ifunc-noplt option is added to reduce IFunc function call overhead in a freestanding environment such as the OS kernel. Functions resolved by the IFunc mechanism are usually dispatched via PLT and thus slower than regular functions because of the cost of indirection. With -z ifunc-noplt, you can eliminate it by doing text relocations at load-time. You need a special loader to utilize this feature. This feature is added for the FreeBSD kernel but can be used by any operating systems. --undefined-glob option is added. The new option is an extension to --undefined to take a glob pattern instead of a single symbol name. COFF Improvements Like the ELF driver, lld-link now has typo suggestions for flags. lld-link now correctly reports duplicate symbol errors for object files that were compiled with /Gy. lld-link now correctly reports duplicate symbol errors when several resource (.res) input files define resources with the same type, name and language. This can be demoted to a warning using /force:multipleres. lld-link now rejects more than one resource object input files, matching link.exe. Previously, lld-link would silently ignore all but one. If you hit this: Don’t pass resource object files to the linker, instead pass res files to the linker directly. Don’t put resource files in static libraries, pass them on the command line. Having more than two /natvis: now works correctly; it used to not work for larger binaries before. Undefined symbols are now printed only in demangled form. Pass /demangle:no to see raw symbol names instead. Several speed and memory usage improvements. lld-link now supports resource object files created by GNU windres and MS cvtres, not only llvm-cvtres. The generated thunks for delayimports now share the majority of code among thunks, significantly reducing the overhead of using delayimport. IMAGE_REL_ARM{,64}_REL32 relocations are supported. Range extension thunks for AArch64 are now supported, so lld can create large executables for Windows/ARM64. The following flags have been added: /functionpadmin WebAssembly Improvements Imports from custom module names are supported. Symbols that are in llvm.used are now exported by default. Initial support for PIC and dynamic linking has landed. wasm-ld now add __start_/__stop_ symbols for data sections. wasm-ld now doesn’t report an error on archives without a symbol index. The following flags have been added: --emit-relocs MinGW Improvements lld now correctly links crtend.o as the last object file, handling terminators for the sections such as .eh_frame properly, fixing DWARF exception handling with libgcc and gcc’s crtend.o. lld now also handles DWARF unwind info generated by GCC, when linking with libgcc. PDB output can be requested without manually specifying the PDB file name, with the new option -pdb= with an empty value to the option. (The old existing syntax -pdb <filename> was more cumbersome to use with an empty parameter value.) --no-insert-timestamp option is added as an alias to /timestamp:0. Many more GNU ld options are now supported, which e.g. allows the lld MinGW frontend to be called by GCC. The following options are added: --exclude-all-symbols, --appcontainer, --undefined
2019-09-11hwloc: updated to 1.11.3adam2-7/+7
hwloc (Hardware Locality) 1.11.13 The most important change is support for upcoming Intel processors with multiple Dies per CPU. hwloc release 2.1 will add a new "Die" object. In the meantime 1.11.13 and 2.0.4 represent those Dies as "Die" groups. Summary of the changes since 1.11.12: * Add support for Linux 5.3 new sysfs cpu topology files with Die information. * Add support for Intel v2 Extended Topology Enumeration in the x86 backend. * Tiles, Modules and Dies are exposed as Groups for now. + HWLOC_DONT_MERGE_DIE_GROUPS=1 may be set in the environment to prevent Die groups from being automatically merged with identical parent or children. * Ignore NUMA node information from AMD topoext in the x86 backend, unless HWLOC_X86_TOPOEXT_NUMANODES=1 is set in the environment. * Group objects have a new "dont_merge" attribute to prevent them from being automatically merged with identical parent or children.
2019-09-07R-promises: add missing dependencymaya1-1/+2
From Benjamin Lorenz in PR pkg/54518
2019-08-22Recursive revbump from boost-1.71.0ryoon1-2/+2
2019-08-11Bump PKGREVISIONs for perl 5.30.0wiz9-16/+18
2019-08-09R-promises: initial commitbrook4-1/+32
Provides fundamental abstractions for doing asynchronous programming in R using promises. Asynchronous programming is useful for allowing a single R process to orchestrate multiple tasks in the background while also attending to something else. Semantics are similar to 'JavaScript' promises, but with a syntax that is idiomatic R.
2019-08-05llvm: updated to 8.0.1adam2-10/+10
LLVM 8.0.1 is now available! Download it now, or read the release notes. This release contains bug-fixes for the LLVM 8.0.0 release. This release is API and ABI compatible with 8.0.0.
2019-07-20*: recursive bump for nettle 3.5.1wiz1-2/+2
2019-07-08Follow some http->https redirects.nia1-2/+2
2019-07-01Recursive revbump from boost-1.70.0ryoon1-2/+2
2019-06-22Use https for sourceforge project links.nia1-2/+2