| /oneTBB/test/common/ |
| H A D | allocator_test_common.h | 44 template<typename A> 106 template<typename T, typename A> 107 void TestBrokenAllocator(A& a) { in TestBrokenAllocator() 111 typename A::pointer px = &x; in TestBrokenAllocator() 122 typename A::size_type size; in TestBrokenAllocator() 156 …typedef typename A::template rebind<std::pair<typename A::value_type, typename A::value_type> >::o… in TestBrokenAllocator() 220 template<typename A> 226 A &a; 227 Body(A &a_) : a(a_) {} in Body() 269 template<typename A> [all …]
|
| /oneTBB/examples/graph/cholesky/ |
| H A D | init.cpp | 24 static void posdef_gen(double *A, int n) { in posdef_gen() argument 32 memset(A, 0, sizeof(double) * n * n); in posdef_gen() 58 void matrix_init(double *&A, int &n, const char *fname) { in matrix_init() argument 73 A = (double *)calloc(sizeof(double), n * n); in matrix_init() 76 if (fscanf(fp, "%lf ", &A[i * n + j]) <= 0) { in matrix_init() 81 A[j * n + i] = A[i * n + j]; in matrix_init() 88 A = (double *)calloc(sizeof(double), n * n); in matrix_init() 89 posdef_gen(A, n); in matrix_init() 108 fprintf(fp, "%lf ", A[j * n + i]); in matrix_write() 112 fprintf(fp, "%lf ", A[i * n + j]); in matrix_write() [all …]
|
| H A D | cholesky.cpp | 149 A[j * n + i]); in check_if_valid() 152 A[j * n + i] - epsilon, in check_if_valid() 154 A[j * n + i] + epsilon); in check_if_valid() 293 double *A = (double *)ptr; in func() local 297 dpotrf(&uplo, &n, A, &lda, &info); in func() 690 double *A = nullptr; in main() local 693 matrix_init(A, g_n, g_input_file_name); in main() 699 matrix_write(A, g_n, s.c_str()); in main() 705 (*alg)(A, g_n, g_b, g_num_trials); in main() 713 (*alg)(A, g_n, g_b, g_num_trials); in main() [all …]
|
| /oneTBB/examples/graph/logic_sim/ |
| H A D | test_all.cpp | 339 toggle A(g); in main() local 357 A.flip(); in main() 367 A.flip(); in main() 415 A.flip(); in main() 425 A.flip(); in main() 436 A.flip(); in main() 446 A.flip(); in main() 478 A.flip(); in main() 489 A.flip(); in main() 531 A[0].flip(); in main() [all …]
|
| /oneTBB/examples/parallel_for/game_of_life/ |
| H A D | Update_state.cpp | 36 __m128i* A, in sum_offset() argument 42 __m128i tmp = _mm_and_si128(A[i], X[shift + i]); in sum_offset() 43 A[i] = _mm_xor_si128(A[i], X[shift + i]); in sum_offset() 101 __m128i X[906], A[900], B[900], C[900]; in UpdateState() local 105 A[i].m128i_u32[0] = 0; in UpdateState() 106 A[i].m128i_u32[1] = 0; in UpdateState() 107 A[i].m128i_u32[2] = 0; in UpdateState() 108 A[i].m128i_u32[3] = 0; in UpdateState() 156 sum_offset(X, A, B, C, size_sse_ar, 0); in UpdateState() 169 sum_offset(X, A, B, C, size_sse_ar, 0); in UpdateState() [all …]
|
| /oneTBB/doc/main/tbb_userguide/ |
| H A D | Predefined_Node_Types.rst | 25 - A single-output node, with a generic output type. 29 …- A single-input single-output node that broadcasts its output to all successors. Has generic inpu… 31 …- A single-input, single-output node that broadcasts its output to all successors. It has a sin… 33 …- A single-input multi-output node. It has a generic input type and several generic output type… 35 …- A single-input, single-output node that broadcasts each message received to all successors. I… 39 …- A multi-input, single-output node. There are several generic input types and the output type … 41 …- A single-input, multi-output node. The input type is a tuple of generic types and there is on… 45 …A multi-input, single output node that broadcasts its output to all successors. The main input … 47 …- A multi-input, single-output node that broadcasts its output message to all of its successors… 49 …- A node that might have 0, 1 or multiple ports for both input and output. The composite_node p… [all …]
|
| H A D | Dependence_Graph.rst | 40 A must complete executing before any other computation starts executing. 61 the nodes and continue_msg objects as the messages. A continue_node 90 node_t A(g, [](msg_t){ a(); } ); 96 make_edge(A, B); 99 make_edge(A, E); 102 A.try_put( continue_msg() ); 127 happens asynchronously. The call to A.try_put returns control to the 129 task to execute the body of A. Likewise, the body tasks execute the
|
| H A D | appendix_A.rst | 3 Appendix A Costs of Time Slicing 20 A more subtle cost is *cache cooling*. Processors keep recently accessed 31 Time slicing undoes this, because if a thread A finishes its time slice, 33 to evict data that was hot in cache for A, unless both threads need the 34 data. When thread A gets its next time slice, it will need to reload 36 worse yet, the next time slice for thread A may be on a different
|
| H A D | When_Not_to_Use_Queues.rst | 13 - A queue is inherently a bottle neck, because it must maintain 17 - A thread that is popping a value may have to wait idly until the 21 - A queue is a passive data structure. If a thread pushes a value, it
|
| H A D | Cancellation_and_Nested_Parallelism.rst | 64 c. Throw an exception out of B to A. 67 #. Handle exception in A: 70 a. Capture exception in A. 73 b. Cancel tasks in A and, by downwards propagation, in E, F, and G. 76 c. Throw an exception upwards out of A.
|
| H A D | Controlling_Chunking_os.rst | 75 * - Case A 83 overhead. Both Case A and Case B have the same total gray area. Case A 92 A rule of thumb is that ``grainsize`` iterations of ``operator()`` 113 A drawback of setting a grainsize too high is that it can reduce 154 A general rule of thumb for parallelizing loop nests is to
|
| H A D | concurrent_hash_map.rst | 7 A ``concurrent_hash_map<Key, T, HashCompare >`` is a hash table that 46 // A concurrent hash table that maps strings to ints. 86 A ``concurrent_hash_map`` acts as a container of elements of type 93 up that key in the table block until the ``accessor`` is done. A
|
| /oneTBB/examples/test_all/fibonacci/ |
| H A D | fibonacci.cpp | 127 Matrix2x2 A, B; in SerialQueueFib() local 129 while (!Q.try_pop(A)) in SerialQueueFib() 135 Q.push(A * B); in SerialQueueFib() 137 return A.v[0][0]; in SerialQueueFib() 141 oneapi::tbb::concurrent_vector<value> A; in SerialVectorFib() local 142 A.grow_by(2); in SerialVectorFib() 143 A[0] = 0; in SerialVectorFib() 144 A[1] = 1; in SerialVectorFib() 146 A.grow_to_at_least(i + 1); in SerialVectorFib() 147 A[i] = A[i - 1] + A[i - 2]; in SerialVectorFib() [all …]
|
| /oneTBB/include/oneapi/tbb/detail/ |
| H A D | _flow_graph_item_buffer_impl.h | 34 template <typename T, typename A=cache_aligned_allocator<T> > 43 typedef typename allocator_traits<A>::template rebind_alloc<buffer_item_type> allocator_type; 244 template<typename T, typename A=cache_aligned_allocator<T> > 245 class reservable_item_buffer : public item_buffer<T, A> { 247 using item_buffer<T, A>::my_item_valid; 248 using item_buffer<T, A>::my_head; 251 reservable_item_buffer() : item_buffer<T, A>(), my_reserved(false) {} in reservable_item_buffer() 252 void reset() {my_reserved = false; item_buffer<T,A>::reset(); } in reset()
|
| H A D | _flow_graph_node_impl.h | 26 template< typename T, typename A > 27 class function_input_queue : public item_buffer<T,A> { 34 return this->item_buffer<T, A>::front(); in front() 49 template< typename Input, typename Policy, typename A, typename ImplType > 53 typedef function_input_base<Input, Policy, A, ImplType> class_type; 61 typedef function_input_queue<input_type, A> input_queue_type; 351 …nction_input : public function_input_base<Input, Policy, A, function_input<Input,Output,Policy,A> … 356 typedef function_input<Input, Output, Policy,A> my_class; 358 typedef function_input_queue<input_type, A> input_queue_type; 486 …_input : public function_input_base<Input, Policy, A, multifunction_input<Input,OutputPortSet,Poli… [all …]
|
| H A D | _template_helpers.h | 149 template <typename A> using alloc_value_type = typename A::value_type; 150 template <typename A> using alloc_ptr_t = typename std::allocator_traits<A>::pointer; 151 template <typename A> using has_allocate = decltype(std::declval<alloc_ptr_t<A>&>() = std::declval<… 152 template <typename A> using has_deallocate = decltype(std::declval<A>().deallocate(std::declval<all…
|
| H A D | _config.h | 95 #define __TBB_CONCAT_AUX(A,B) A##B argument 98 #define __TBB_CONCAT(A,B) __TBB_CONCAT_AUX(A,B) argument 100 #define __TBB_IS_MACRO_EMPTY(A,IGNORED) __TBB_CONCAT_AUX(__TBB_MACRO_EMPTY,A) argument
|
| /oneTBB/examples/parallel_for/tachyon/src/ |
| H A D | vector.cpp | 91 void VAddS(flt a, vector *A, vector *B, vector *C) { in VAddS() argument 92 C->x = (a * A->x) + B->x; in VAddS() 93 C->y = (a * A->y) + B->y; in VAddS() 94 C->z = (a * A->z) + B->z; in VAddS()
|
| /oneTBB/examples/concurrent_priority_queue/shortpath/ |
| H A D | README.md | 4 …in `[0..N)`. A graph is generated with `N` nodes and some random number of connections between tho… 6 This algorithm varies from serial `A*` in that it needs to add nodes back to the open set when the …
|
| /oneTBB/test/tbb/ |
| H A D | test_openmp.cpp | 146 data_type A[M], B[N]; variable 153 F(actual, A, m, B, n, p); in RunTest() 167 for (int i = 0; i < m; ++i) A[i] = data_type(1 + i / 5); 169 SerialConvolve( expected, A, m, B, n );
|
| /oneTBB/examples/graph/ |
| H A D | README.md | 6 | binpack | A solution to the binpacking problem using a `queue_node`, a `buffer_node` and `functio… 9 | fgbzip2 | A parallel implementation of bzip2 block-sorting file compressor.
|
| /oneTBB/doc/main/reference/scalable_memory_pools/ |
| H A D | memory_pool_cls.rst | 9 A class template for scalable memory allocation from memory blocks provided by an underlying alloca… 18 A ``memory_pool`` allocates and frees memory in a way that scales with the number of processors. 21 ISO C++ Standard section. A ``memory_pool`` meet the :doc:`Memory Pool named requirement<../scalabl…
|
| /oneTBB/doc/main/reference/ |
| H A D | reference.rst | 26 A preview feature is a component of oneTBB introduced to receive early feedback from 38 A preview feature is subject to change in future. It might be removed or significantly
|
| /oneTBB/doc/main/tbb_userguide/design_patterns/ |
| H A D | Local_Serializer.rst | 99 * - A thread is available. 127 A ``SerializedWorkItem`` is derived from a ``WorkItem``, which serves 225 - A queue of WorkItem waiting for prior work to complete. 228 - A count of queued or in-flight work. 274 than those maintained by class Serializer. A generalized 276 if so, runs it immediately. A generalized
|
| H A D | Fenced_Data_Transfer.rst | 31 but not as observed by other threads. A serial common idiom is to 112 A write to a ``std::atomic`` value has *release* semantics, which 114 write. A read from ``std::atomic`` value has *acquire* semantics, 159 target of a pointer before reading the pointer. A modern processor
|