summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/include/parallel
Commit message (Collapse)AuthorAgeFilesLines
...
* 2007-11-28 Johannes Singler <singler@ira.uka.de>singler2007-11-287-234/+265
| | | | | | | | | | | | | | | | | | | | * include/parallel/multiway_merge.h: Destruct only elements that were have been constructed before. Code beautifying and formatting. * include/parallel/losertree.h: (Copy) construct all loser tree item keys, so they can be deconstructed all at once. * include/parallel/quicksort.h: Fix memory leak. * include/parallel/random_shuffle.h: Use copy constructor instead of assignment. Code beautifying and formatting. * include/parallel/unique_copy.h: Use assignment instead of copy constructor. * include/parallel/multiway_mergesort.h: Use copy constructor instead of assignment. Code beautifying and formatting. * include/parallel/random_shuffle.h: Use copy constructor instead of assignment. Code beautifying. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130490 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-22 Johannes Singler <singler@ira.uka.de>singler2007-11-2220-3304/+3890
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/33893 * include/parallel/multiway_merge.h: made omp_dynamic-safe * include/parallel/workstealing.h: made omp_dynamic-safe * include/parallel/base.h: infrastructure, cleanup * include/parallel/par_loop.h: made omp_dynamic-safe * include/parallel/features.h: activate loser tree variant * include/parallel/quicksort.h: made omp_dynamic-safe * include/parallel/compiletime_settings.h: settings overridable * include/parallel/equally_split.h: made omp_dynamic-safe * include/parallel/omp_loop_static.h: made omp_dynamic-safe * include/parallel/random_shuffle.h: made omp_dynamic-safe * include/parallel/balanced_quicksort.h: made omp_dynamic-safe * include/parallel/set_operations.h: made omp_dynamic-safe * include/parallel/unique_copy.h: made omp_dynamic-safe * include/parallel/multiway_mergesort.h: made omp_dynamic-safe * include/parallel/search.h: made omp_dynamic-safe * include/parallel/partition.h: made omp_dynamic-safe * include/parallel/partial_sum.h: made omp_dynamic-safe * include/parallel/find.h: made omp_dynamic-safe * include/parallel/omp_loop.h: made omp_dynamic-safe * include/parallel/losertree.h: avoid default constructor git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130347 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-15 Paolo Carlini <pcarlini@suse.de>paolo2007-11-152-31/+29
| | | | | | | | | | | | | | | | | | | | | | PR libstdc++/34105 * include/bits/stl_algobase.h: Do not include <bits/algorithmfwd.h>. (lexicographical_compare(const unsigned char*, const unsigned char*, const unsigned char*, const unsigned char*), lexicographical_compare(const char*, const char*, const char*, const char*)): Move to namespace (std, _GLIBCXX_STD_P). * include/parallel/algobase.h: Do not include <bits/algorithmfwd.h>. (equal): Move after mismatch. * include/bits/stl_heap.h (is_heap, is_heap_until): Reorder. * include/bits/char_traits.h: Include <bits/stl_algobase.h> instead of <bits/algorithmfwd.h>. * include/bits/stl_algo.h: Include first <bits/algorithmfwd.h>. * include/bits/algorithmfwd.h (lexicographical_compare): Do not declare overloads. * include/parallel/partition.h: Include <parallel/random_number.h>. * testsuite/util/testsuite_abi.cc: Include <algorithm>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130207 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-14 Johannes Singler <singler@ira.uka.de>singler2007-11-141-18/+27
| | | | | | | | | | | * include/parallel/multiway_merge.h: More robust finding of an arbitrary existing element inside the input sequences. * include/bits/stl_algo.h: Fix typo to actually call appropriate sequential version. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130183 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-11-02 Johannes Singler <singler@ira.uka.de>singler2007-11-024-42/+76
| | | | | | | | | | | | | | PR libstdc++/33892 * include/parallel/workstealing.h: Replaced pragma by function call lock. * include/parallel/search.h: Same * include/parallel/partition.h: Same * include/parallel/find.h: Same git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129852 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-25 Johannes Singler <singler@ira.uka.de>singler2007-10-256-355/+0
| | | | | | | | | | | | | * include/parallel/multiway_merge.h: Removed Timing<inactive_tag> * include/parallel/random_shuffle.h: Same * include/parallel/set_operations.h: Same * include/parallel/tree.h: Same * include/parallel/multiway_mergesort.h: Same * include/parallel/timing.h: Removed completely git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129629 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/33578dannysmith2007-10-101-2/+10
| | | | | | | | | | * include/parallel/compatibility.h. Use POSIX sched_yield on __CYGWIN__ (Sleep): Add prototype for __MINGW32__. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129219 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-10 Benjamin Kosnik <bkoz@redhat.com>bkoz2007-10-102-4/+4
| | | | | | | | | | | | | | | | | | PR libstdc++/33633 * include/debug/hash_multimap.h: Change _GLIBCXX_EXT to _GLIBCXX_EXT_D. * include/debug/hash_set.h: Same. * include/debug/hash_multiset.h: Same. * include/debug/hash_map.h: Same. 2007-10-10 Benjamin Kosnik <bkoz@redhat.com> * include/parallel/losertree.h (loser_tree_traits_unguarded): To loser_tree_unguarded_traits. * include/parallel/multiway_merge.h (__gnu_parallel): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129210 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-09 Wolfgang Bangerth <bangerth@dealii.org>bkoz2007-10-091-1/+2
| | | | | | | | | PR libstdc++/33485 continued. * include/parallel/multiway_mergesort.h: Use __builtin_alloca. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129182 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-09 Benjamin Kosnik <bkoz@montsouris.artheist.org>bkoz2007-10-0910-126/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/33489 continued. * include/parallel/features.h (_GLIBCXX_LOSER_TREE): Set to zero. (_GLIBCXX_LOSER_TREE_POINTER): Set to one. (_GLIBCXX_LOSER_TREE_UNGUARDED): Set to zero. (_GLIBCXX_LOSER_TREE_POINTER_UNGUARDED): Set to one. * include/parallel/multiway_merge.h (parallel_multiway_merge): Change array of value_type to array of value_type pointers. (multiway_merge_bubble): Same. (multiway_merge_loser_tree): Same. * include/parallel/merge.h (merge_advance_movc): Change to avoid default construction. * include/parallel/multiseq_selection.h (multiseq_partition): Replace value_type, bool pair with value_type*, null-initialized. * include/parallel/multiway_mergesort.h (parallel_sort_mwms): Don't use array form of operator new for value_types. (parallel_sort_mwms_pu): Same. * include/parallel/quicksort.h (parallel_sort_qs_divide): Don't use array form to construct pointer to value_type on stack, instead use __builtin_alloca. * include/parallel/random_shuffle.h (sequential_random_shuffle): Same, but use operator new. (parallel_random_shuffle_drs_pu): Same. * include/parallel/partial_sum.h ( parallel_partial_sum_linear): Same. * include/parallel/losertree.h: Format. * include/parallel/settings.h: Format. * include/parallel/multiway_merge.h: Move traits to.... * include/parallel/losertree.h: ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129179 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-08 Johannes Singler <singler@ira.uka.de>bkoz2007-10-084-21/+81
| | | | | | | | | | | | | | * include/parallel/base.h: Added plus and multiplies functor for differently typed objects. * include/parallel/numeric: Use it. * include/parallel/for_each_selectors.h: Allowed different types. * include/parallel/partial_sum.h: Fixed return value. * testsuite/26_numerics/accumulate/1.cc: Tests for accumulate. * testsuite/26_numerics/inner_product/1.cc: Tests for inner_product. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129140 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-08 Benjamin Kosnik <bkoz@redhat.com>bkoz2007-10-082-8/+18
| | | | | | | | | | | | PR libstdc++/33489 * include/parallel/multiseq_selection.h: Remove default constructed value_type. * include/parallel/partition.h: * include/parallel/partial_sum.h: Format. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129132 138bc75d-0d04-0410-961f-82ee72b054a4
* * docs/html/parallel_mode.html: Added reference to MCSTL.singler2007-10-085-0/+36
| | | | | | | | | | | | | More documentation on compile-time settings and tuning. * include/parallel/multiway_merge.h: Added reference to paper. * include/parallel/multiseq_selection.h: Added reference to paper. * include/parallel/workstealing.h: Added reference to paper. * include/parallel/balanced_quicksort.h: Added reference to paper. * include/parallel/tree.h: Added reference to paper. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129129 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-06 Benjamin Kosnik <bkoz@redhat.com>bkoz2007-10-069-803/+1392
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/33487 * include/parallel/algorithmfwd.h (for_each, generate, generate_n, transform, replace, replace_if, max_element, min_element, count, count_if): Consistently construct overloads. * include/parallel/numericfwd.h (accumulate, adjacent_difference, inner_product): Same. * include/parallel/algobase.h: Same. * include/parallel/algo.h: Same. * include/parallel/numeric: Same. * include/bits/algorithmfwd.h: Correct find_end placement. * docs/html/parallel_mode.html: Document some of the interface conventions. * include/parallel/search.h (calc_borders): Only use operator ==. * include/parallel/algorithmfwd.h: Move __gnu_sequential bits to... * include/parallel/tags.h: ...here, and use a using directive. * include/parallel/random_shuffle.h: Include stl_numeric. Qualify uses of partial_num with __gnu_sequential. * include/parallel/tree.h: Formatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129054 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-28 Benjamin Kosnik <bkoz@redhat.com>bkoz2007-09-282-2/+2
| | | | | | | | | | | | * include/parallel/algorithmfwd.h: Spacing. * include/parallel/tags.h: Correct comment. * testsuite/Makefile.am (AM_MAKEFLAGS, AM_RUNTESTFLAGS): Remove. * testsuite/Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128869 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-17 Johannes Singler <singler@ira.uka.de>singler2007-09-1712-44/+43
| | | | | | | | | | | | | | | | | | | * include/parallel/for_each.h: Fixed comment/doxygen markup typos. * include/parallel/base.h: Same. * include/parallel/numeric: Same. * include/parallel/quicksort.h: Same. * include/parallel/compiletime_settings.h: Same. * include/parallel/random_shuffle.h: Same. * include/parallel/balanced_quicksort.h: Same. * include/parallel/tree.h: Same. * include/parallel/settings.h: Same. * include/parallel/search.h: Same. * include/parallel/partition.h: Same. * include/parallel/partial_sum.h: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128545 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-14 Benjamin Kosnik <bkoz@redhat.com>bkoz2007-09-144-8/+27
| | | | | | | | | | | | | | * include/parallel/base.h (__gnu_parallel::less<Tp>): Add partial specialization for one argument. (__gnu_parallel::less): Add operator. * include/parallel/multiway_merge.h: Use __builtin_alloca. * include/parallel/partial_sum.h: Same. * include/parallel/find.h: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128505 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-14 Benjamin Kosnik <bkoz@redhat.com>bkoz2007-09-141-2/+1
| | | | | | | | | | | | | | | | * testsuite/17_intro/headers/all_pedantic_errors.cc: New. * include/tr1_impl/cinttypes: Add pragma GCC system_header. * include/tr1_impl/cfenv: Same. * include/tr1_impl/cstdint: Same. * include/tr1/cstdbool: Same. * include/ext/pb_ds/detail/resize_policy/ hash_prime_size_policy_imp.hpp: Same. * include/parallel/partial_sum.h: Avoid VLA error with __builtin_alloca. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128500 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-12 Benjamin Kosnik <bkoz@redhat.com>bkoz2007-09-121-1/+1
| | | | | | | | | * include/parallel/find.h: Doxygen fixups. * include/bits/hashtable.h: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128440 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-11 Johannes Singler <singler@ira.uka.de>bkoz2007-09-1145-0/+17901
Leonor Frias Moya <lfrias@lsi.upc.edu> Felix Putze <kontakt@felix-putze.de> Marius Elvert <marius.elvert@ira.uka.de> Felix Bondarenko <f.bondarenko@web.de> Robert Geisberger <robert.geisberger@stud.uni-karlsruhe.de> Robin Dapp <r.dapp@freenet.de> Benjamin Kosnik <bkoz@redhat.com> Add parallel mode. * include/parallel: New. * include/parallel/iterator.h: New. * include/parallel/multiway_merge.h: New. * include/parallel/parallel.h: New. * include/parallel/algorithm * include/parallel/find_selectors.h: New. * include/parallel/losertree.h: New. * include/parallel/list_partition.h: New. * include/parallel/types.h: New. * include/parallel/for_each.h: New. * include/parallel/multiseq_selection.h: New. * include/parallel/workstealing.h: New. * include/parallel/base.h: New. * include/parallel/par_loop.h: New. * include/parallel/numeric * include/parallel/features.h: New. * include/parallel/quicksort.h: New. * include/parallel/algorithmfwd.h: New. * include/parallel/equally_split.h: New. * include/parallel/compiletime_settings.h: New. * include/parallel/for_each_selectors.h: New. * include/parallel/basic_iterator.h: New. * include/parallel/omp_loop_static.h: New. * include/parallel/random_shuffle.h: New. * include/parallel/balanced_quicksort.h: New. * include/parallel/set_operations.h: New. * include/parallel/tags.h: New. * include/parallel/merge.h: New. * include/parallel/tree.h: New. * include/parallel/settings.h: New. * include/parallel/unique_copy.h: New. * include/parallel/multiway_mergesort.h: New. * include/parallel/numericfwd.h: New. * include/parallel/search.h: New. * include/parallel/partition.h: New. * include/parallel/compatibility.h: New. * include/parallel/algobase.h: New. * include/parallel/find.h: New. * include/parallel/partial_sum.h: New. * include/parallel/algo.h: New. * include/parallel/omp_loop.h: New. * include/parallel/queue.h: New. * include/parallel/timing.h: New. * include/parallel/sort.h: New. * include/parallel/checkers.h: New. * include/parallel/random_number.h: New. * include/bits/algorithmfwd.h: New. * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): New. * configure.host: Add atomic_flags. * configure.ac: Export ATOMIC_FLAGS, call GLIBCXX_ENABLE_PARALLEL. * src/Makefile.am: Add parallel_list rules. * include/Makefile.am: Add parallel files. * testsuite/Makefile.am (check-parallel): Add. (check-performance-parallel): Add. * config.h.in: Regenerate. * configure: Same. * libsupc++/Makefile.in: Same. * testsuite/Makefile.in: Same. * Makefile.in: Same. * libmath/Makefile.in: Same. * include/Makefile.in: Same. * src/Makefile.in: Same. * po/Makefile.in: Same. * config/abi/pre/gnu.ver: Export parallel list bits. * docs/html/parallel_mode.html: New. * docs/html/documentation.html: Add link. * docs/doxygen/user.cfg.in: Adjust for new files and directory. * docs/doxygen/doxygroups.cc: Adjust namespace markup. * include/debug/set.h: Adjust for _GLIBCXX_STD_D or _P change. * include/debug/bitset: Same. * include/debug/multiset.h: Same. * include/debug/vector: Same. * include/debug/map.h: Same. * include/debug/deque: Same. * include/debug/list: Same. * include/debug/debug.h: Same. * include/debug/multimap.h: Same. * include/std/algorithm: Same. * include/std/numeric: Same. * include/std/bitset: Same. * include/std/string: Same. * include/ext/hash_map: Same. * include/ext/hash_set: Same. * include/bits/stl_list.h: Same. * include/bits/stl_map.h: Same. * include/bits/stl_algobase.h: Same. * include/bits/stl_set.h: Same. * include/bits/stl_multimap.h: Same. * include/bits/stl_vector.h: Same. * include/bits/stl_numeric.h: Same. * include/bits/stl_deque.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/char_traits.h: Same. * include/bits/stl_algo.h: Same. * include/bits/c++config: Same. * include/bits/vector.tcc: Same. * include/bits/deque.tcc: Same. * include/bits/stl_bvector.h: Same. * include/bits/list.tcc: Same. * src/list.cc: Same. * src/parallel_list.cc: New. * testsuite/lib/libstdc++.exp (check_v3_target_parallel_mode): New. * testsuite/lib/dg-options.exp (dg-require-parallel-mode): New. * scripts/testsuite_flags.in (--cxxparallelflags): New. * scripts/check_performance: Adjust. * testsuite/25_algorithms/headers/parallel_algorithm.cc: New. * testsuite/25_algorithms/headers/algorithm_parallel_mode.cc: New. * testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc: New. * testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc: New. * testsuite/26_numerics/headers/numeric/parallel_numeric.cc: New. * testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc: New. * testsuite/26_numerics/headers/numeric/ parallel_numeric_mixed1.cc: New. * testsuite/26_numerics/headers/numeric/ parallel_numeric_mixed2.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128395 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud