Home | History | Annotate | Download | only in parallel

Lines Matching refs:sd

106     DRandomShufflingGlobalData<RandomAccessIterator>* sd;
131 DRandomShufflingGlobalData<RandomAccessIterator>* sd = d->sd;
134 difference_type length = sd->starts[iam + 1] - sd->starts[iam];
136 difference_type* dist = new difference_type[sd->num_bins + 1];
137 bin_index* bin_proc = new bin_index[sd->num_bins];
141 for (bin_index b = 0; b < sd->num_bins + 1; ++b)
143 int num_bits = sd->num_bits;
157 for (bin_index b = 0; b < sd->num_bins + 1; ++b)
158 sd->dist[b][iam + 1] = dist[b];
164 // Sum up bins, sd->dist[s + 1][d->num_threads] now contains the
166 for (bin_index s = 0; s < sd->num_bins; ++s)
167 __gnu_sequential::partial_sum(sd->dist[s + 1],
168 sd->dist[s + 1] + d->num_threads + 1,
169 sd->dist[s + 1]);
176 global_offset += sd->dist[s + 1][d->num_threads];
183 sd->dist[s + 1][t] += offset;
184 offset = sd->dist[s + 1][d->num_threads];
187 sd->temporaries[iam] = static_cast<value_type*>(
193 for (bin_index b = 0; b < sd->num_bins + 1; ++b)
194 dist[b] = sd->dist[b][iam];
195 for (bin_index b = 0; b < sd->num_bins; ++b)
196 bin_proc[b] = sd->bin_proc[b];
198 temporaries[t] = sd->temporaries[t];
200 RandomAccessIterator source = sd->source;
201 difference_type start = sd->starts[iam];
225 sd->temporaries[iam] +
226 ((b == d->bins_begin) ? 0 : sd->dist[b][d->num_threads]),
228 sd->temporaries[iam] + sd->dist[b + 1][d->num_threads];
230 std::copy(begin, end, sd->source + global_offset +
231 ((b == d->bins_begin) ? 0 : sd->dist[b][d->num_threads]));
234 ::operator delete(sd->temporaries[iam]);
324 DRandomShufflingGlobalData<RandomAccessIterator> sd(begin);
336 sd.temporaries = new value_type*[num_threads];
337 sd.dist = new difference_type*[num_bins + 1];
338 sd.bin_proc = new thread_index_t[num_bins];
340 sd.dist[b] = new difference_type[num_threads + 1];
343 sd.dist[0][0] = 0;
344 sd.dist[b][0] = 0;
346 starts = sd.starts = new difference_type[num_threads + 1];
348 sd.num_bins = num_bins;
349 sd.num_bits = __log2(num_bins);
366 sd.bin_proc[j] = i;
369 pus[i].sd = &sd;
378 delete[] sd.bin_proc;
380 delete[] sd.dist[s];
381 delete[] sd.dist;
382 delete[] sd.temporaries;