diff --git a/master/eigensolver_2reduction__to__band_2impl_8h_source.html b/master/eigensolver_2reduction__to__band_2impl_8h_source.html index 1b8bf4ebe2..12c84dad4e 100644 --- a/master/eigensolver_2reduction__to__band_2impl_8h_source.html +++ b/master/eigensolver_2reduction__to__band_2impl_8h_source.html @@ -170,1295 +170,1298 @@
99 template <Device D, class T>
100 T computeReflectorAndTau(const bool has_head, const std::vector<matrix::Tile<T, D>>& panel,
101  const SizeType j, std::array<T, 2> x0_and_squares) {
-
102  const T norm = std::sqrt(x0_and_squares[1]);
-
103  const T x0 = x0_and_squares[0];
-
104  const T y = std::signbit(std::real(x0_and_squares[0])) ? norm : -norm;
-
105  const T tau = (y - x0) / y;
-
106 
-
107  auto it_begin = panel.begin();
-
108  auto it_end = panel.end();
+
102  if (x0_and_squares[1] == T(0))
+
103  return T(0);
+
104 
+
105  const T norm = std::sqrt(x0_and_squares[1]);
+
106  const T x0 = x0_and_squares[0];
+
107  const T y = std::signbit(std::real(x0_and_squares[0])) ? norm : -norm;
+
108  const T tau = (y - x0) / y;
109 
-
110  common::internal::SingleThreadedBlasScope single;
-
111 
-
112  if (has_head) {
-
113  const auto& tile_v0 = *it_begin++;
+
110  auto it_begin = panel.begin();
+
111  auto it_end = panel.end();
+
112 
+
113  common::internal::SingleThreadedBlasScope single;
114 
-
115  const TileElementIndex idx_x0(j, j);
-
116  tile_v0(idx_x0) = y;
+
115  if (has_head) {
+
116  const auto& tile_v0 = *it_begin++;
117 
-
118  if (j + 1 < tile_v0.size().rows()) {
-
119  T* v = tile_v0.ptr({j + 1, j});
-
120  blas::scal(tile_v0.size().rows() - (j + 1), T(1) / (x0 - y), v, 1);
-
121  }
-
122  }
-
123 
-
124  for (auto it = it_begin; it != it_end; ++it) {
-
125  auto& tile_v = *it;
-
126  T* v = tile_v.ptr({0, j});
-
127  blas::scal(tile_v.size().rows(), T(1) / (x0 - y), v, 1);
-
128  }
-
129 
-
130  return tau;
-
131 }
+
118  const TileElementIndex idx_x0(j, j);
+
119  tile_v0(idx_x0) = y;
+
120 
+
121  if (j + 1 < tile_v0.size().rows()) {
+
122  T* v = tile_v0.ptr({j + 1, j});
+
123  blas::scal(tile_v0.size().rows() - (j + 1), T(1) / (x0 - y), v, 1);
+
124  }
+
125  }
+
126 
+
127  for (auto it = it_begin; it != it_end; ++it) {
+
128  auto& tile_v = *it;
+
129  T* v = tile_v.ptr({0, j});
+
130  blas::scal(tile_v.size().rows(), T(1) / (x0 - y), v, 1);
+
131  }
132 
-
133 template <Device D, class T>
-
134 void computeWTrailingPanel(const bool has_head, const std::vector<matrix::Tile<T, D>>& panel,
-
135  common::internal::vector<T>& w, SizeType j, const SizeType pt_cols,
-
136  const std::size_t begin, const std::size_t end) {
-
137  // for each tile in the panel, consider just the trailing panel
-
138  // i.e. all rows (height = reflector), just columns to the right of the current reflector
-
139  if (!(pt_cols > 0))
-
140  return;
-
141 
-
142  const TileElementIndex index_el_x0(j, j);
-
143  bool has_first_component = has_head;
+
133  return tau;
+
134 }
+
135 
+
136 template <Device D, class T>
+
137 void computeWTrailingPanel(const bool has_head, const std::vector<matrix::Tile<T, D>>& panel,
+
138  common::internal::vector<T>& w, SizeType j, const SizeType pt_cols,
+
139  const std::size_t begin, const std::size_t end) {
+
140  // for each tile in the panel, consider just the trailing panel
+
141  // i.e. all rows (height = reflector), just columns to the right of the current reflector
+
142  if (!(pt_cols > 0))
+
143  return;
144 
-
145  common::internal::SingleThreadedBlasScope single;
-
146 
-
147  // W = Pt* . V
-
148  for (auto index = begin; index < end; ++index) {
-
149  const matrix::Tile<const T, D>& tile_a = panel[index];
-
150  const SizeType first_element = has_first_component ? index_el_x0.row() : 0;
-
151 
-
152  TileElementIndex pt_start{first_element, index_el_x0.col() + 1};
-
153  TileElementSize pt_size{tile_a.size().rows() - pt_start.row(), pt_cols};
-
154  TileElementIndex v_start{first_element, index_el_x0.col()};
-
155 
-
156  if (has_first_component) {
-
157  const TileElementSize offset{1, 0};
+
145  const TileElementIndex index_el_x0(j, j);
+
146  bool has_first_component = has_head;
+
147 
+
148  common::internal::SingleThreadedBlasScope single;
+
149 
+
150  // W = Pt* . V
+
151  for (auto index = begin; index < end; ++index) {
+
152  const matrix::Tile<const T, D>& tile_a = panel[index];
+
153  const SizeType first_element = has_first_component ? index_el_x0.row() : 0;
+
154 
+
155  TileElementIndex pt_start{first_element, index_el_x0.col() + 1};
+
156  TileElementSize pt_size{tile_a.size().rows() - pt_start.row(), pt_cols};
+
157  TileElementIndex v_start{first_element, index_el_x0.col()};
158 
-
159  const T fake_v = 1;
-
160  blas::gemv(blas::Layout::ColMajor, blas::Op::ConjTrans, offset.rows(), pt_size.cols(), T(1),
-
161  tile_a.ptr(pt_start), tile_a.ld(), &fake_v, 1, T(0), w.data(), 1);
-
162 
-
163  pt_start = pt_start + offset;
-
164  v_start = v_start + offset;
-
165  pt_size = pt_size - offset;
-
166 
-
167  has_first_component = false;
-
168  }
+
159  if (has_first_component) {
+
160  const TileElementSize offset{1, 0};
+
161 
+
162  const T fake_v = 1;
+
163  blas::gemv(blas::Layout::ColMajor, blas::Op::ConjTrans, offset.rows(), pt_size.cols(), T(1),
+
164  tile_a.ptr(pt_start), tile_a.ld(), &fake_v, 1, T(0), w.data(), 1);
+
165 
+
166  pt_start = pt_start + offset;
+
167  v_start = v_start + offset;
+
168  pt_size = pt_size - offset;
169 
-
170  if (pt_start.isIn(tile_a.size())) {
-
171  // W += 1 . A* . V
-
172  blas::gemv(blas::Layout::ColMajor, blas::Op::ConjTrans, pt_size.rows(), pt_size.cols(), T(1),
-
173  tile_a.ptr(pt_start), tile_a.ld(), tile_a.ptr(v_start), 1, T(1), w.data(), 1);
-
174  }
-
175  }
-
176 }
-
177 
-
178 template <Device D, class T>
-
179 void updateTrailingPanel(const bool has_head, const std::vector<matrix::Tile<T, D>>& panel, SizeType j,
-
180  const std::vector<T>& w, const T tau, const std::size_t begin,
-
181  const std::size_t end) {
-
182  const TileElementIndex index_el_x0(j, j);
-
183 
-
184  bool has_first_component = has_head;
-
185 
-
186  common::internal::SingleThreadedBlasScope single;
-
187 
-
188  // GER Pt = Pt - tau . v . w*
-
189  for (auto index = begin; index < end; ++index) {
-
190  const matrix::Tile<T, D>& tile_a = panel[index];
-
191  const SizeType first_element = has_first_component ? index_el_x0.row() : 0;
-
192 
-
193  TileElementIndex pt_start{first_element, index_el_x0.col() + 1};
-
194  TileElementSize pt_size{tile_a.size().rows() - pt_start.row(),
-
195  tile_a.size().cols() - pt_start.col()};
-
196  TileElementIndex v_start{first_element, index_el_x0.col()};
-
197 
-
198  if (has_first_component) {
-
199  const TileElementSize offset{1, 0};
+
170  has_first_component = false;
+
171  }
+
172 
+
173  if (pt_start.isIn(tile_a.size())) {
+
174  // W += 1 . A* . V
+
175  blas::gemv(blas::Layout::ColMajor, blas::Op::ConjTrans, pt_size.rows(), pt_size.cols(), T(1),
+
176  tile_a.ptr(pt_start), tile_a.ld(), tile_a.ptr(v_start), 1, T(1), w.data(), 1);
+
177  }
+
178  }
+
179 }
+
180 
+
181 template <Device D, class T>
+
182 void updateTrailingPanel(const bool has_head, const std::vector<matrix::Tile<T, D>>& panel, SizeType j,
+
183  const std::vector<T>& w, const T tau, const std::size_t begin,
+
184  const std::size_t end) {
+
185  const TileElementIndex index_el_x0(j, j);
+
186 
+
187  bool has_first_component = has_head;
+
188 
+
189  common::internal::SingleThreadedBlasScope single;
+
190 
+
191  // GER Pt = Pt - tau . v . w*
+
192  for (auto index = begin; index < end; ++index) {
+
193  const matrix::Tile<T, D>& tile_a = panel[index];
+
194  const SizeType first_element = has_first_component ? index_el_x0.row() : 0;
+
195 
+
196  TileElementIndex pt_start{first_element, index_el_x0.col() + 1};
+
197  TileElementSize pt_size{tile_a.size().rows() - pt_start.row(),
+
198  tile_a.size().cols() - pt_start.col()};
+
199  TileElementIndex v_start{first_element, index_el_x0.col()};
200 
-
201  // Pt = Pt - tau * v[0] * w*
-
202  const T fake_v = 1;
-
203  blas::ger(blas::Layout::ColMajor, 1, pt_size.cols(), -dlaf::conj(tau), &fake_v, 1, w.data(), 1,
-
204  tile_a.ptr(pt_start), tile_a.ld());
-
205 
-
206  pt_start = pt_start + offset;
-
207  v_start = v_start + offset;
-
208  pt_size = pt_size - offset;
-
209 
-
210  has_first_component = false;
-
211  }
+
201  if (has_first_component) {
+
202  const TileElementSize offset{1, 0};
+
203 
+
204  // Pt = Pt - tau * v[0] * w*
+
205  const T fake_v = 1;
+
206  blas::ger(blas::Layout::ColMajor, 1, pt_size.cols(), -dlaf::conj(tau), &fake_v, 1, w.data(), 1,
+
207  tile_a.ptr(pt_start), tile_a.ld());
+
208 
+
209  pt_start = pt_start + offset;
+
210  v_start = v_start + offset;
+
211  pt_size = pt_size - offset;
212 
-
213  if (pt_start.isIn(tile_a.size())) {
-
214  // Pt = Pt - tau * v * w*
-
215  blas::ger(blas::Layout::ColMajor, pt_size.rows(), pt_size.cols(), -dlaf::conj(tau),
-
216  tile_a.ptr(v_start), 1, w.data(), 1, tile_a.ptr(pt_start), tile_a.ld());
-
217  }
-
218  }
-
219 }
-
220 
-
221 template <Backend B, typename ASender, typename WSender, typename XSender>
-
222 void hemmDiag(pika::execution::thread_priority priority, ASender&& tile_a, WSender&& tile_w,
-
223  XSender&& tile_x) {
-
224  using T = dlaf::internal::SenderElementType<ASender>;
-
225  pika::execution::experimental::start_detached(
-
226  dlaf::internal::whenAllLift(blas::Side::Left, blas::Uplo::Lower, T(1),
-
227  std::forward<ASender>(tile_a), std::forward<WSender>(tile_w), T(1),
-
228  std::forward<XSender>(tile_x)) |
-
229  tile::hemm(dlaf::internal::Policy<B>(priority)));
-
230 }
-
231 
-
232 // X += op(A) * W
-
233 template <Backend B, typename ASender, typename WSender, typename XSender>
-
234 void hemmOffDiag(pika::execution::thread_priority priority, blas::Op op, ASender&& tile_a,
-
235  WSender&& tile_w, XSender&& tile_x) {
-
236  using T = dlaf::internal::SenderElementType<ASender>;
-
237  pika::execution::experimental::start_detached(
-
238  dlaf::internal::whenAllLift(op, blas::Op::NoTrans, T(1), std::forward<ASender>(tile_a),
-
239  std::forward<WSender>(tile_w), T(1), std::forward<XSender>(tile_x)) |
-
240  tile::gemm(dlaf::internal::Policy<B>(priority)));
-
241 }
-
242 
-
243 template <Backend B, typename VSender, typename XSender, typename ASender>
-
244 void her2kDiag(pika::execution::thread_priority priority, VSender&& tile_v, XSender&& tile_x,
-
245  ASender&& tile_a) {
-
246  using T = dlaf::internal::SenderElementType<VSender>;
-
247  pika::execution::experimental::start_detached(
-
248  dlaf::internal::whenAllLift(blas::Uplo::Lower, blas::Op::NoTrans, T(-1),
-
249  std::forward<VSender>(tile_v), std::forward<XSender>(tile_x),
-
250  BaseType<T>(1), std::forward<ASender>(tile_a)) |
-
251  tile::her2k(dlaf::internal::Policy<B>(priority)));
-
252 }
-
253 
-
254 // C -= A . B*
-
255 template <Backend B, typename ASender, typename BSender, typename CSender>
-
256 void her2kOffDiag(pika::execution::thread_priority priority, ASender&& tile_a, BSender&& tile_b,
-
257  CSender&& tile_c) {
-
258  using T = dlaf::internal::SenderElementType<ASender>;
-
259  pika::execution::experimental::start_detached(
-
260  dlaf::internal::whenAllLift(blas::Op::NoTrans, blas::Op::ConjTrans, T(-1),
-
261  std::forward<ASender>(tile_a), std::forward<BSender>(tile_b), T(1),
-
262  std::forward<CSender>(tile_c)) |
-
263  tile::gemm(dlaf::internal::Policy<B>(priority)));
-
264 }
-
265 
-
266 namespace local {
-
267 
-
268 template <Device D, class T>
-
269 T computeReflector(const std::vector<matrix::Tile<T, D>>& panel, SizeType j) {
-
270  constexpr bool has_head = true;
-
271 
-
272  std::array<T, 2> x0_and_squares = computeX0AndSquares(has_head, panel, j);
-
273 
-
274  auto tau = computeReflectorAndTau(has_head, panel, j, std::move(x0_and_squares));
-
275 
-
276  return tau;
-
277 }
+
213  has_first_component = false;
+
214  }
+
215 
+
216  if (pt_start.isIn(tile_a.size())) {
+
217  // Pt = Pt - tau * v * w*
+
218  blas::ger(blas::Layout::ColMajor, pt_size.rows(), pt_size.cols(), -dlaf::conj(tau),
+
219  tile_a.ptr(v_start), 1, w.data(), 1, tile_a.ptr(pt_start), tile_a.ld());
+
220  }
+
221  }
+
222 }
+
223 
+
224 template <Backend B, typename ASender, typename WSender, typename XSender>
+
225 void hemmDiag(pika::execution::thread_priority priority, ASender&& tile_a, WSender&& tile_w,
+
226  XSender&& tile_x) {
+
227  using T = dlaf::internal::SenderElementType<ASender>;
+
228  pika::execution::experimental::start_detached(
+
229  dlaf::internal::whenAllLift(blas::Side::Left, blas::Uplo::Lower, T(1),
+
230  std::forward<ASender>(tile_a), std::forward<WSender>(tile_w), T(1),
+
231  std::forward<XSender>(tile_x)) |
+
232  tile::hemm(dlaf::internal::Policy<B>(priority)));
+
233 }
+
234 
+
235 // X += op(A) * W
+
236 template <Backend B, typename ASender, typename WSender, typename XSender>
+
237 void hemmOffDiag(pika::execution::thread_priority priority, blas::Op op, ASender&& tile_a,
+
238  WSender&& tile_w, XSender&& tile_x) {
+
239  using T = dlaf::internal::SenderElementType<ASender>;
+
240  pika::execution::experimental::start_detached(
+
241  dlaf::internal::whenAllLift(op, blas::Op::NoTrans, T(1), std::forward<ASender>(tile_a),
+
242  std::forward<WSender>(tile_w), T(1), std::forward<XSender>(tile_x)) |
+
243  tile::gemm(dlaf::internal::Policy<B>(priority)));
+
244 }
+
245 
+
246 template <Backend B, typename VSender, typename XSender, typename ASender>
+
247 void her2kDiag(pika::execution::thread_priority priority, VSender&& tile_v, XSender&& tile_x,
+
248  ASender&& tile_a) {
+
249  using T = dlaf::internal::SenderElementType<VSender>;
+
250  pika::execution::experimental::start_detached(
+
251  dlaf::internal::whenAllLift(blas::Uplo::Lower, blas::Op::NoTrans, T(-1),
+
252  std::forward<VSender>(tile_v), std::forward<XSender>(tile_x),
+
253  BaseType<T>(1), std::forward<ASender>(tile_a)) |
+
254  tile::her2k(dlaf::internal::Policy<B>(priority)));
+
255 }
+
256 
+
257 // C -= A . B*
+
258 template <Backend B, typename ASender, typename BSender, typename CSender>
+
259 void her2kOffDiag(pika::execution::thread_priority priority, ASender&& tile_a, BSender&& tile_b,
+
260  CSender&& tile_c) {
+
261  using T = dlaf::internal::SenderElementType<ASender>;
+
262  pika::execution::experimental::start_detached(
+
263  dlaf::internal::whenAllLift(blas::Op::NoTrans, blas::Op::ConjTrans, T(-1),
+
264  std::forward<ASender>(tile_a), std::forward<BSender>(tile_b), T(1),
+
265  std::forward<CSender>(tile_c)) |
+
266  tile::gemm(dlaf::internal::Policy<B>(priority)));
+
267 }
+
268 
+
269 namespace local {
+
270 
+
271 template <Device D, class T>
+
272 T computeReflector(const std::vector<matrix::Tile<T, D>>& panel, SizeType j) {
+
273  constexpr bool has_head = true;
+
274 
+
275  std::array<T, 2> x0_and_squares = computeX0AndSquares(has_head, panel, j);
+
276 
+
277  auto tau = computeReflectorAndTau(has_head, panel, j, std::move(x0_and_squares));
278 
-
279 template <class MatrixLikeA, class MatrixLikeTaus>
-
280 void computePanelReflectors(MatrixLikeA& mat_a, MatrixLikeTaus& mat_taus, const SizeType j_sub,
-
281  const matrix::SubPanelView& panel_view) {
-
282  static Device constexpr D = MatrixLikeA::device;
-
283  using T = typename MatrixLikeA::ElementType;
-
284  namespace ex = pika::execution::experimental;
-
285  namespace di = dlaf::internal;
-
286 
-
287  std::vector<matrix::ReadWriteTileSender<T, D>> panel_tiles;
-
288  panel_tiles.reserve(to_sizet(std::distance(panel_view.iteratorLocal().begin(),
-
289  panel_view.iteratorLocal().end())));
-
290  for (const auto& i : panel_view.iteratorLocal()) {
-
291  const matrix::SubTileSpec& spec = panel_view(i);
-
292  panel_tiles.emplace_back(matrix::splitTile(mat_a.readwrite(i), spec));
-
293  }
-
294 
-
295  const std::size_t nthreads = getReductionToBandPanelNWorkers();
-
296  auto s =
-
297  ex::when_all(ex::just(std::make_unique<pika::barrier<>>(nthreads),
-
298  std::vector<common::internal::vector<T>>{}), // w (internally required)
-
299  mat_taus.readwrite(LocalTileIndex(j_sub, 0)),
-
300  ex::when_all_vector(std::move(panel_tiles))) |
-
301  ex::transfer(di::getBackendScheduler<Backend::MC>(pika::execution::thread_priority::high)) |
-
302  ex::bulk(nthreads, [nthreads, cols = panel_view.cols()](const std::size_t index, auto& barrier_ptr,
-
303  auto& w, auto& taus, auto& tiles) {
-
304  const auto barrier_busy_wait = getReductionToBandBarrierBusyWait();
-
305  const std::size_t batch_size = util::ceilDiv(tiles.size(), nthreads);
-
306  const std::size_t begin = index * batch_size;
-
307  const std::size_t end = std::min(index * batch_size + batch_size, tiles.size());
-
308  const SizeType nrefls = taus.size().rows();
-
309 
-
310  if (index == 0) {
-
311  w.resize(nthreads);
-
312  }
-
313 
-
314  for (SizeType j = 0; j < nrefls; ++j) {
-
315  // STEP1: compute tau and reflector (single-thread)
-
316  if (index == 0) {
-
317  taus({j, 0}) = computeReflector(tiles, j);
-
318  }
-
319 
-
320  barrier_ptr->arrive_and_wait(barrier_busy_wait);
-
321 
-
322  // STEP2a: compute w (multi-threaded)
-
323  const SizeType pt_cols = cols - (j + 1);
-
324  if (pt_cols == 0)
-
325  break;
-
326  const bool has_head = (index == 0);
-
327 
-
328  w[index] = common::internal::vector<T>(pt_cols, 0);
-
329  computeWTrailingPanel(has_head, tiles, w[index], j, pt_cols, begin, end);
-
330  barrier_ptr->arrive_and_wait(barrier_busy_wait);
-
331 
-
332  // STEP2b: reduce w results (single-threaded)
-
333  if (index == 0)
-
334  dlaf::eigensolver::internal::reduceColumnVectors(w);
-
335  barrier_ptr->arrive_and_wait(barrier_busy_wait);
-
336 
-
337  // STEP3: update trailing panel (multi-threaded)
-
338  updateTrailingPanel(has_head, tiles, j, w[0], taus({j, 0}), begin, end);
-
339  barrier_ptr->arrive_and_wait(barrier_busy_wait);
-
340  }
-
341  });
-
342  ex::start_detached(std::move(s));
-
343 }
-
344 
-
345 template <Backend B, Device D, class T>
-
346 void setupReflectorPanelV(bool has_head, const matrix::SubPanelView& panel_view, const SizeType nrefls,
-
347  matrix::Panel<Coord::Col, T, D>& v, matrix::Matrix<const T, D>& mat_a,
-
348  bool force_copy = false) {
-
349  namespace ex = pika::execution::experimental;
-
350 
-
351  using pika::execution::thread_priority;
-
352 
-
353  // Note:
-
354  // Reflectors are stored in the lower triangular part of the A matrix leading to sharing memory
-
355  // between reflectors and results, which are in the upper triangular part. The problem exists only
-
356  // for the first tile (of the V, i.e. band excluded). Since refelectors will be used in next
-
357  // computations, they should be well-formed, i.e. a unit lower trapezoidal matrix. For this reason,
-
358  // a support tile is used, where just the reflectors values are copied, the diagonal is set to 1
-
359  // and the rest is zeroed out.
-
360  auto it_begin = panel_view.iteratorLocal().begin();
-
361  auto it_end = panel_view.iteratorLocal().end();
-
362 
-
363  if (has_head) {
-
364  const LocalTileIndex i = *it_begin;
-
365  matrix::SubTileSpec spec = panel_view(i);
-
366 
-
367  // Note:
-
368  // If the number of reflectors are limited by height (|reflector| > 1), the panel is narrower than
-
369  // the blocksize, leading to just using a part of A (first full nrefls columns)
-
370  spec.size = {spec.size.rows(), std::min(nrefls, spec.size.cols())};
-
371 
-
372  // Note:
-
373  // copy + laset is done in two independent tasks, but it could be theoretically merged to into a
-
374  // single task doing both.
-
375  const auto p = dlaf::internal::Policy<B>(thread_priority::high);
-
376  ex::start_detached(dlaf::internal::whenAllLift(splitTile(mat_a.read(i), spec), v.readwrite(i)) |
-
377  matrix::copy(p));
-
378  ex::start_detached(dlaf::internal::whenAllLift(blas::Uplo::Upper, T(0), T(1), v.readwrite(i)) |
-
379  tile::laset(p));
-
380 
-
381  ++it_begin;
-
382  }
+
279  return tau;
+
280 }
+
281 
+
282 template <class MatrixLikeA, class MatrixLikeTaus>
+
283 void computePanelReflectors(MatrixLikeA& mat_a, MatrixLikeTaus& mat_taus, const SizeType j_sub,
+
284  const matrix::SubPanelView& panel_view) {
+
285  static Device constexpr D = MatrixLikeA::device;
+
286  using T = typename MatrixLikeA::ElementType;
+
287  namespace ex = pika::execution::experimental;
+
288  namespace di = dlaf::internal;
+
289 
+
290  std::vector<matrix::ReadWriteTileSender<T, D>> panel_tiles;
+
291  panel_tiles.reserve(to_sizet(std::distance(panel_view.iteratorLocal().begin(),
+
292  panel_view.iteratorLocal().end())));
+
293  for (const auto& i : panel_view.iteratorLocal()) {
+
294  const matrix::SubTileSpec& spec = panel_view(i);
+
295  panel_tiles.emplace_back(matrix::splitTile(mat_a.readwrite(i), spec));
+
296  }
+
297 
+
298  const std::size_t nthreads = getReductionToBandPanelNWorkers();
+
299  auto s =
+
300  ex::when_all(ex::just(std::make_unique<pika::barrier<>>(nthreads),
+
301  std::vector<common::internal::vector<T>>{}), // w (internally required)
+
302  mat_taus.readwrite(LocalTileIndex(j_sub, 0)),
+
303  ex::when_all_vector(std::move(panel_tiles))) |
+
304  ex::transfer(di::getBackendScheduler<Backend::MC>(pika::execution::thread_priority::high)) |
+
305  ex::bulk(nthreads, [nthreads, cols = panel_view.cols()](const std::size_t index, auto& barrier_ptr,
+
306  auto& w, auto& taus, auto& tiles) {
+
307  const auto barrier_busy_wait = getReductionToBandBarrierBusyWait();
+
308  const std::size_t batch_size = util::ceilDiv(tiles.size(), nthreads);
+
309  const std::size_t begin = index * batch_size;
+
310  const std::size_t end = std::min(index * batch_size + batch_size, tiles.size());
+
311  const SizeType nrefls = taus.size().rows();
+
312 
+
313  if (index == 0) {
+
314  w.resize(nthreads);
+
315  }
+
316 
+
317  for (SizeType j = 0; j < nrefls; ++j) {
+
318  // STEP1: compute tau and reflector (single-thread)
+
319  if (index == 0) {
+
320  taus({j, 0}) = computeReflector(tiles, j);
+
321  }
+
322 
+
323  barrier_ptr->arrive_and_wait(barrier_busy_wait);
+
324 
+
325  // STEP2a: compute w (multi-threaded)
+
326  const SizeType pt_cols = cols - (j + 1);
+
327  if (pt_cols == 0)
+
328  break;
+
329  const bool has_head = (index == 0);
+
330 
+
331  w[index] = common::internal::vector<T>(pt_cols, 0);
+
332  computeWTrailingPanel(has_head, tiles, w[index], j, pt_cols, begin, end);
+
333  barrier_ptr->arrive_and_wait(barrier_busy_wait);
+
334 
+
335  // STEP2b: reduce w results (single-threaded)
+
336  if (index == 0)
+
337  dlaf::eigensolver::internal::reduceColumnVectors(w);
+
338  barrier_ptr->arrive_and_wait(barrier_busy_wait);
+
339 
+
340  // STEP3: update trailing panel (multi-threaded)
+
341  updateTrailingPanel(has_head, tiles, j, w[0], taus({j, 0}), begin, end);
+
342  barrier_ptr->arrive_and_wait(barrier_busy_wait);
+
343  }
+
344  });
+
345  ex::start_detached(std::move(s));
+
346 }
+
347 
+
348 template <Backend B, Device D, class T>
+
349 void setupReflectorPanelV(bool has_head, const matrix::SubPanelView& panel_view, const SizeType nrefls,
+
350  matrix::Panel<Coord::Col, T, D>& v, matrix::Matrix<const T, D>& mat_a,
+
351  bool force_copy = false) {
+
352  namespace ex = pika::execution::experimental;
+
353 
+
354  using pika::execution::thread_priority;
+
355 
+
356  // Note:
+
357  // Reflectors are stored in the lower triangular part of the A matrix leading to sharing memory
+
358  // between reflectors and results, which are in the upper triangular part. The problem exists only
+
359  // for the first tile (of the V, i.e. band excluded). Since refelectors will be used in next
+
360  // computations, they should be well-formed, i.e. a unit lower trapezoidal matrix. For this reason,
+
361  // a support tile is used, where just the reflectors values are copied, the diagonal is set to 1
+
362  // and the rest is zeroed out.
+
363  auto it_begin = panel_view.iteratorLocal().begin();
+
364  auto it_end = panel_view.iteratorLocal().end();
+
365 
+
366  if (has_head) {
+
367  const LocalTileIndex i = *it_begin;
+
368  matrix::SubTileSpec spec = panel_view(i);
+
369 
+
370  // Note:
+
371  // If the number of reflectors are limited by height (|reflector| > 1), the panel is narrower than
+
372  // the blocksize, leading to just using a part of A (first full nrefls columns)
+
373  spec.size = {spec.size.rows(), std::min(nrefls, spec.size.cols())};
+
374 
+
375  // Note:
+
376  // copy + laset is done in two independent tasks, but it could be theoretically merged to into a
+
377  // single task doing both.
+
378  const auto p = dlaf::internal::Policy<B>(thread_priority::high);
+
379  ex::start_detached(dlaf::internal::whenAllLift(splitTile(mat_a.read(i), spec), v.readwrite(i)) |
+
380  matrix::copy(p));
+
381  ex::start_detached(dlaf::internal::whenAllLift(blas::Uplo::Upper, T(0), T(1), v.readwrite(i)) |
+
382  tile::laset(p));
383 
-
384  // The rest of the V panel of reflectors can just point to the values in A, since they are
-
385  // well formed in-place.
-
386  for (auto it = it_begin; it < it_end; ++it) {
-
387  const LocalTileIndex idx = *it;
-
388  const matrix::SubTileSpec& spec = panel_view(idx);
-
389 
-
390  // Note: This is a workaround for the deadlock problem with sub-tiles.
-
391  // Without this copy, during matrix update the same tile would get accessed at the same
-
392  // time both in readonly mode (for reflectors) and in readwrite mode (for updating the
-
393  // matrix). This would result in a deadlock, so instead of linking the panel to an external
-
394  // tile, memory provided internally by the panel is used as support. In this way, the two
-
395  // subtiles used in the operation belong to different tiles.
-
396  if (force_copy)
-
397  ex::start_detached(ex::when_all(matrix::splitTile(mat_a.read(idx), spec), v.readwrite(idx)) |
-
398  matrix::copy(dlaf::internal::Policy<B>(thread_priority::high)));
-
399  else
-
400  v.setTile(idx, matrix::splitTile(mat_a.read(idx), spec));
-
401  }
-
402 }
-
403 
-
404 template <Backend B, Device D, class T>
-
405 void trmmComputeW(matrix::Panel<Coord::Col, T, D>& w, matrix::Panel<Coord::Col, T, D>& v,
-
406  matrix::ReadOnlyTileSender<T, D> tile_t) {
-
407  namespace ex = pika::execution::experimental;
-
408 
-
409  using pika::execution::thread_priority;
-
410  using namespace blas;
+
384  ++it_begin;
+
385  }
+
386 
+
387  // The rest of the V panel of reflectors can just point to the values in A, since they are
+
388  // well formed in-place.
+
389  for (auto it = it_begin; it < it_end; ++it) {
+
390  const LocalTileIndex idx = *it;
+
391  const matrix::SubTileSpec& spec = panel_view(idx);
+
392 
+
393  // Note: This is a workaround for the deadlock problem with sub-tiles.
+
394  // Without this copy, during matrix update the same tile would get accessed at the same
+
395  // time both in readonly mode (for reflectors) and in readwrite mode (for updating the
+
396  // matrix). This would result in a deadlock, so instead of linking the panel to an external
+
397  // tile, memory provided internally by the panel is used as support. In this way, the two
+
398  // subtiles used in the operation belong to different tiles.
+
399  if (force_copy)
+
400  ex::start_detached(ex::when_all(matrix::splitTile(mat_a.read(idx), spec), v.readwrite(idx)) |
+
401  matrix::copy(dlaf::internal::Policy<B>(thread_priority::high)));
+
402  else
+
403  v.setTile(idx, matrix::splitTile(mat_a.read(idx), spec));
+
404  }
+
405 }
+
406 
+
407 template <Backend B, Device D, class T>
+
408 void trmmComputeW(matrix::Panel<Coord::Col, T, D>& w, matrix::Panel<Coord::Col, T, D>& v,
+
409  matrix::ReadOnlyTileSender<T, D> tile_t) {
+
410  namespace ex = pika::execution::experimental;
411 
-
412  auto it = w.iteratorLocal();
-
413 
-
414  for (const auto& index_i : it) {
-
415  ex::start_detached(dlaf::internal::whenAllLift(Side::Right, Uplo::Upper, Op::NoTrans, Diag::NonUnit,
-
416  T(1), tile_t, v.read(index_i), w.readwrite(index_i)) |
-
417  tile::trmm3(dlaf::internal::Policy<B>(thread_priority::high)));
-
418  }
-
419 
-
420  if (it.empty()) {
-
421  ex::start_detached(std::move(tile_t));
-
422  }
-
423 }
-
424 
-
425 template <Backend B, Device D, class T>
-
426 void gemmUpdateX(matrix::Panel<Coord::Col, T, D>& x, matrix::Matrix<const T, D>& w2,
-
427  matrix::Panel<Coord::Col, const T, D>& v) {
-
428  namespace ex = pika::execution::experimental;
-
429 
-
430  using pika::execution::thread_priority;
-
431  using namespace blas;
+
412  using pika::execution::thread_priority;
+
413  using namespace blas;
+
414 
+
415  auto it = w.iteratorLocal();
+
416 
+
417  for (const auto& index_i : it) {
+
418  ex::start_detached(dlaf::internal::whenAllLift(Side::Right, Uplo::Upper, Op::NoTrans, Diag::NonUnit,
+
419  T(1), tile_t, v.read(index_i), w.readwrite(index_i)) |
+
420  tile::trmm3(dlaf::internal::Policy<B>(thread_priority::high)));
+
421  }
+
422 
+
423  if (it.empty()) {
+
424  ex::start_detached(std::move(tile_t));
+
425  }
+
426 }
+
427 
+
428 template <Backend B, Device D, class T>
+
429 void gemmUpdateX(matrix::Panel<Coord::Col, T, D>& x, matrix::Matrix<const T, D>& w2,
+
430  matrix::Panel<Coord::Col, const T, D>& v) {
+
431  namespace ex = pika::execution::experimental;
432 
-
433  // GEMM X = X - 0.5 . V . W2
-
434  for (const auto& index_i : v.iteratorLocal())
-
435  ex::start_detached(dlaf::internal::whenAllLift(Op::NoTrans, Op::NoTrans, T(-0.5), v.read(index_i),
-
436  w2.read(LocalTileIndex(0, 0)), T(1),
-
437  x.readwrite(index_i)) |
-
438  tile::gemm(dlaf::internal::Policy<B>(thread_priority::high)));
-
439 }
-
440 
-
441 template <Backend B, Device D, class T>
-
442 void hemmComputeX(matrix::Panel<Coord::Col, T, D>& x, const matrix::SubMatrixView& view,
-
443  matrix::Matrix<const T, D>& a, matrix::Panel<Coord::Col, const T, D>& w) {
-
444  namespace ex = pika::execution::experimental;
-
445 
-
446  using pika::execution::thread_priority;
-
447 
-
448  const auto dist = a.distribution();
-
449 
-
450  // Note:
-
451  // They have to be set to zero, because all tiles are going to be reduced, and some tiles may not get
-
452  // "initialized" during computation, so they should not contribute with any spurious value to the final
-
453  // result.
-
454  matrix::util::set0<B>(thread_priority::high, x);
-
455 
-
456  const LocalTileIndex at_offset = view.begin();
-
457 
-
458  for (SizeType i = at_offset.row(); i < dist.localNrTiles().rows(); ++i) {
-
459  const auto limit = i + 1;
-
460  for (SizeType j = limit - 1; j >= at_offset.col(); --j) {
-
461  const LocalTileIndex ij{i, j};
-
462 
-
463  const bool is_diagonal_tile = (ij.row() == ij.col());
-
464 
-
465  const auto& tile_a = splitTile(a.read(ij), view(ij));
-
466 
-
467  if (is_diagonal_tile) {
-
468  hemmDiag<B>(thread_priority::high, tile_a, w.read(ij), x.readwrite(ij));
-
469  }
-
470  else {
-
471  // Note:
-
472  // Because A is hermitian and just the lower part contains the data, for each a(ij) not
-
473  // on the diagonal, two computations are done:
-
474  // - using a(ij) in its position;
-
475  // - using a(ij) in its "transposed" position (applying the ConjTrans to its data)
-
476 
-
477  {
-
478  const LocalTileIndex index_x(Coord::Row, ij.row());
-
479  const LocalTileIndex index_w(Coord::Row, ij.col());
-
480  hemmOffDiag<B>(thread_priority::high, blas::Op::NoTrans, tile_a, w.read(index_w),
-
481  x.readwrite(index_x));
-
482  }
-
483 
-
484  {
-
485  const LocalTileIndex index_pretended = transposed(ij);
-
486  const LocalTileIndex index_x(Coord::Row, index_pretended.row());
-
487  const LocalTileIndex index_w(Coord::Row, index_pretended.col());
-
488  hemmOffDiag<B>(thread_priority::high, blas::Op::ConjTrans, tile_a, w.read(index_w),
-
489  x.readwrite(index_x));
-
490  }
-
491  }
-
492  }
-
493  }
-
494 }
-
495 
-
496 template <Backend B, Device D, class T>
-
497 void gemmComputeW2(matrix::Matrix<T, D>& w2, matrix::Panel<Coord::Col, const T, D>& w,
-
498  matrix::Panel<Coord::Col, const T, D>& x) {
-
499  using pika::execution::thread_priority;
-
500 
-
501  namespace ex = pika::execution::experimental;
-
502 
-
503  // Note:
-
504  // Not all ranks in the column always hold at least a tile in the panel Ai, but all ranks in
-
505  // the column are going to participate to the reduce. For them, it is important to set the
-
506  // partial result W2 to zero.
-
507  ex::start_detached(w2.readwrite(LocalTileIndex(0, 0)) |
-
508  tile::set0(dlaf::internal::Policy<B>(thread_priority::high)));
-
509 
-
510  using namespace blas;
-
511  // GEMM W2 = W* . X
-
512  for (const auto& index_tile : w.iteratorLocal())
-
513  ex::start_detached(dlaf::internal::whenAllLift(Op::ConjTrans, Op::NoTrans, T(1), w.read(index_tile),
-
514  x.read(index_tile), T(1),
-
515  w2.readwrite(LocalTileIndex(0, 0))) |
-
516  tile::gemm(dlaf::internal::Policy<B>(thread_priority::high)));
-
517 }
-
518 
-
519 template <Backend B, Device D, class T>
-
520 void her2kUpdateTrailingMatrix(const matrix::SubMatrixView& view, matrix::Matrix<T, D>& a,
-
521  matrix::Panel<Coord::Col, const T, D>& x,
-
522  matrix::Panel<Coord::Col, const T, D>& v) {
-
523  static_assert(std::is_signed_v<BaseType<T>>, "alpha in computations requires to be -1");
-
524 
-
525  using pika::execution::thread_priority;
-
526 
-
527  const auto dist = a.distribution();
-
528 
-
529  const LocalTileIndex at_start = view.begin();
-
530 
-
531  for (SizeType i = at_start.row(); i < dist.localNrTiles().rows(); ++i) {
-
532  const auto limit = dist.template nextLocalTileFromGlobalTile<Coord::Col>(
-
533  dist.template globalTileFromLocalTile<Coord::Row>(i) + 1);
-
534  for (SizeType j = at_start.col(); j < limit; ++j) {
-
535  const LocalTileIndex ij_local{i, j};
-
536  const GlobalTileIndex ij = dist.globalTileIndex(ij_local);
-
537 
-
538  const bool is_diagonal_tile = (ij.row() == ij.col());
-
539 
-
540  auto getSubA = [&a, &view, ij_local]() {
-
541  return splitTile(a.readwrite(ij_local), view(ij_local));
-
542  };
-
543 
-
544  // The first column of the trailing matrix (except for the very first global tile) has to be
-
545  // updated first, in order to unlock the next iteration as soon as possible.
-
546  const auto priority = (j == at_start.col()) ? thread_priority::high : thread_priority::normal;
-
547 
-
548  if (is_diagonal_tile) {
-
549  her2kDiag<B>(priority, v.read(ij_local), x.read(ij_local), getSubA());
-
550  }
-
551  else {
-
552  // A -= X . V*
-
553  her2kOffDiag<B>(priority, x.read(ij_local), v.read(transposed(ij_local)), getSubA());
-
554 
-
555  // A -= V . X*
-
556  her2kOffDiag<B>(priority, v.read(ij_local), x.read(transposed(ij_local)), getSubA());
-
557  }
-
558  }
-
559  }
-
560 }
-
561 
-
562 }
-
563 
-
564 namespace distributed {
-
565 template <Device D, class T>
-
566 T computeReflector(const bool has_head, comm::Communicator& communicator,
-
567  const std::vector<matrix::Tile<T, D>>& panel, SizeType j) {
-
568  std::array<T, 2> x0_and_squares = computeX0AndSquares(has_head, panel, j);
-
569 
-
570  // Note:
-
571  // This is an optimization for grouping two separate low bandwidth communications, respectively
-
572  // bcast(x0) and reduce(norm), where the latency was degrading performances.
-
573  //
-
574  // In particular this allReduce allows to:
-
575  // - bcast x0, since for all ranks is 0 and just the root rank has the real value;
-
576  // - allReduce squares for the norm computation.
-
577  //
-
578  // Moreover, by all-reducing squares and broadcasting x0, all ranks have all the information to
-
579  // update locally the reflectors (section they have). This is more efficient than computing params
-
580  // (e.g. norm, y, tau) just on the root rank and then having to broadcast them (i.e. additional
-
581  // communication).
-
582  comm::sync::allReduceInPlace(communicator, MPI_SUM,
-
583  common::make_data(x0_and_squares.data(),
-
584  to_SizeType(x0_and_squares.size())));
-
585 
-
586  auto tau = computeReflectorAndTau(has_head, panel, j, std::move(x0_and_squares));
-
587 
-
588  return tau;
-
589 }
+
433  using pika::execution::thread_priority;
+
434  using namespace blas;
+
435 
+
436  // GEMM X = X - 0.5 . V . W2
+
437  for (const auto& index_i : v.iteratorLocal())
+
438  ex::start_detached(dlaf::internal::whenAllLift(Op::NoTrans, Op::NoTrans, T(-0.5), v.read(index_i),
+
439  w2.read(LocalTileIndex(0, 0)), T(1),
+
440  x.readwrite(index_i)) |
+
441  tile::gemm(dlaf::internal::Policy<B>(thread_priority::high)));
+
442 }
+
443 
+
444 template <Backend B, Device D, class T>
+
445 void hemmComputeX(matrix::Panel<Coord::Col, T, D>& x, const matrix::SubMatrixView& view,
+
446  matrix::Matrix<const T, D>& a, matrix::Panel<Coord::Col, const T, D>& w) {
+
447  namespace ex = pika::execution::experimental;
+
448 
+
449  using pika::execution::thread_priority;
+
450 
+
451  const auto dist = a.distribution();
+
452 
+
453  // Note:
+
454  // They have to be set to zero, because all tiles are going to be reduced, and some tiles may not get
+
455  // "initialized" during computation, so they should not contribute with any spurious value to the final
+
456  // result.
+
457  matrix::util::set0<B>(thread_priority::high, x);
+
458 
+
459  const LocalTileIndex at_offset = view.begin();
+
460 
+
461  for (SizeType i = at_offset.row(); i < dist.localNrTiles().rows(); ++i) {
+
462  const auto limit = i + 1;
+
463  for (SizeType j = limit - 1; j >= at_offset.col(); --j) {
+
464  const LocalTileIndex ij{i, j};
+
465 
+
466  const bool is_diagonal_tile = (ij.row() == ij.col());
+
467 
+
468  const auto& tile_a = splitTile(a.read(ij), view(ij));
+
469 
+
470  if (is_diagonal_tile) {
+
471  hemmDiag<B>(thread_priority::high, tile_a, w.read(ij), x.readwrite(ij));
+
472  }
+
473  else {
+
474  // Note:
+
475  // Because A is hermitian and just the lower part contains the data, for each a(ij) not
+
476  // on the diagonal, two computations are done:
+
477  // - using a(ij) in its position;
+
478  // - using a(ij) in its "transposed" position (applying the ConjTrans to its data)
+
479 
+
480  {
+
481  const LocalTileIndex index_x(Coord::Row, ij.row());
+
482  const LocalTileIndex index_w(Coord::Row, ij.col());
+
483  hemmOffDiag<B>(thread_priority::high, blas::Op::NoTrans, tile_a, w.read(index_w),
+
484  x.readwrite(index_x));
+
485  }
+
486 
+
487  {
+
488  const LocalTileIndex index_pretended = transposed(ij);
+
489  const LocalTileIndex index_x(Coord::Row, index_pretended.row());
+
490  const LocalTileIndex index_w(Coord::Row, index_pretended.col());
+
491  hemmOffDiag<B>(thread_priority::high, blas::Op::ConjTrans, tile_a, w.read(index_w),
+
492  x.readwrite(index_x));
+
493  }
+
494  }
+
495  }
+
496  }
+
497 }
+
498 
+
499 template <Backend B, Device D, class T>
+
500 void gemmComputeW2(matrix::Matrix<T, D>& w2, matrix::Panel<Coord::Col, const T, D>& w,
+
501  matrix::Panel<Coord::Col, const T, D>& x) {
+
502  using pika::execution::thread_priority;
+
503 
+
504  namespace ex = pika::execution::experimental;
+
505 
+
506  // Note:
+
507  // Not all ranks in the column always hold at least a tile in the panel Ai, but all ranks in
+
508  // the column are going to participate to the reduce. For them, it is important to set the
+
509  // partial result W2 to zero.
+
510  ex::start_detached(w2.readwrite(LocalTileIndex(0, 0)) |
+
511  tile::set0(dlaf::internal::Policy<B>(thread_priority::high)));
+
512 
+
513  using namespace blas;
+
514  // GEMM W2 = W* . X
+
515  for (const auto& index_tile : w.iteratorLocal())
+
516  ex::start_detached(dlaf::internal::whenAllLift(Op::ConjTrans, Op::NoTrans, T(1), w.read(index_tile),
+
517  x.read(index_tile), T(1),
+
518  w2.readwrite(LocalTileIndex(0, 0))) |
+
519  tile::gemm(dlaf::internal::Policy<B>(thread_priority::high)));
+
520 }
+
521 
+
522 template <Backend B, Device D, class T>
+
523 void her2kUpdateTrailingMatrix(const matrix::SubMatrixView& view, matrix::Matrix<T, D>& a,
+
524  matrix::Panel<Coord::Col, const T, D>& x,
+
525  matrix::Panel<Coord::Col, const T, D>& v) {
+
526  static_assert(std::is_signed_v<BaseType<T>>, "alpha in computations requires to be -1");
+
527 
+
528  using pika::execution::thread_priority;
+
529 
+
530  const auto dist = a.distribution();
+
531 
+
532  const LocalTileIndex at_start = view.begin();
+
533 
+
534  for (SizeType i = at_start.row(); i < dist.localNrTiles().rows(); ++i) {
+
535  const auto limit = dist.template nextLocalTileFromGlobalTile<Coord::Col>(
+
536  dist.template globalTileFromLocalTile<Coord::Row>(i) + 1);
+
537  for (SizeType j = at_start.col(); j < limit; ++j) {
+
538  const LocalTileIndex ij_local{i, j};
+
539  const GlobalTileIndex ij = dist.globalTileIndex(ij_local);
+
540 
+
541  const bool is_diagonal_tile = (ij.row() == ij.col());
+
542 
+
543  auto getSubA = [&a, &view, ij_local]() {
+
544  return splitTile(a.readwrite(ij_local), view(ij_local));
+
545  };
+
546 
+
547  // The first column of the trailing matrix (except for the very first global tile) has to be
+
548  // updated first, in order to unlock the next iteration as soon as possible.
+
549  const auto priority = (j == at_start.col()) ? thread_priority::high : thread_priority::normal;
+
550 
+
551  if (is_diagonal_tile) {
+
552  her2kDiag<B>(priority, v.read(ij_local), x.read(ij_local), getSubA());
+
553  }
+
554  else {
+
555  // A -= X . V*
+
556  her2kOffDiag<B>(priority, x.read(ij_local), v.read(transposed(ij_local)), getSubA());
+
557 
+
558  // A -= V . X*
+
559  her2kOffDiag<B>(priority, v.read(ij_local), x.read(transposed(ij_local)), getSubA());
+
560  }
+
561  }
+
562  }
+
563 }
+
564 
+
565 }
+
566 
+
567 namespace distributed {
+
568 template <Device D, class T>
+
569 T computeReflector(const bool has_head, comm::Communicator& communicator,
+
570  const std::vector<matrix::Tile<T, D>>& panel, SizeType j) {
+
571  std::array<T, 2> x0_and_squares = computeX0AndSquares(has_head, panel, j);
+
572 
+
573  // Note:
+
574  // This is an optimization for grouping two separate low bandwidth communications, respectively
+
575  // bcast(x0) and reduce(norm), where the latency was degrading performances.
+
576  //
+
577  // In particular this allReduce allows to:
+
578  // - bcast x0, since for all ranks is 0 and just the root rank has the real value;
+
579  // - allReduce squares for the norm computation.
+
580  //
+
581  // Moreover, by all-reducing squares and broadcasting x0, all ranks have all the information to
+
582  // update locally the reflectors (section they have). This is more efficient than computing params
+
583  // (e.g. norm, y, tau) just on the root rank and then having to broadcast them (i.e. additional
+
584  // communication).
+
585  comm::sync::allReduceInPlace(communicator, MPI_SUM,
+
586  common::make_data(x0_and_squares.data(),
+
587  to_SizeType(x0_and_squares.size())));
+
588 
+
589  auto tau = computeReflectorAndTau(has_head, panel, j, std::move(x0_and_squares));
590 
-
591 template <class MatrixLikeA, class MatrixLikeTaus, class TriggerSender, class CommSender>
-
592 void computePanelReflectors(TriggerSender&& trigger, comm::IndexT_MPI rank_v0,
-
593  CommSender&& mpi_col_chain_panel, MatrixLikeA& mat_a,
-
594  MatrixLikeTaus& mat_taus, SizeType j_sub,
-
595  const matrix::SubPanelView& panel_view) {
-
596  static Device constexpr D = MatrixLikeA::device;
-
597  using T = typename MatrixLikeA::ElementType;
-
598  namespace ex = pika::execution::experimental;
-
599  namespace di = dlaf::internal;
-
600 
-
601  std::vector<matrix::ReadWriteTileSender<T, D>> panel_tiles;
-
602  panel_tiles.reserve(to_sizet(std::distance(panel_view.iteratorLocal().begin(),
-
603  panel_view.iteratorLocal().end())));
-
604  for (const auto& i : panel_view.iteratorLocal()) {
-
605  const matrix::SubTileSpec& spec = panel_view(i);
-
606  panel_tiles.emplace_back(matrix::splitTile(mat_a.readwrite(i), spec));
-
607  }
-
608 
-
609  const std::size_t nthreads = getReductionToBandPanelNWorkers();
-
610  auto s =
-
611  ex::when_all(ex::just(std::make_unique<pika::barrier<>>(nthreads),
-
612  std::vector<common::internal::vector<T>>{}), // w (internally required)
-
613  mat_taus.readwrite(GlobalTileIndex(j_sub, 0)),
-
614  ex::when_all_vector(std::move(panel_tiles)),
-
615  std::forward<CommSender>(mpi_col_chain_panel), std::forward<TriggerSender>(trigger)) |
-
616  ex::transfer(di::getBackendScheduler<Backend::MC>(pika::execution::thread_priority::high)) |
-
617  ex::bulk(nthreads, [nthreads, rank_v0,
-
618  cols = panel_view.cols()](const std::size_t index, auto& barrier_ptr, auto& w,
-
619  auto& taus, auto& tiles, auto&& pcomm) {
-
620  const bool rankHasHead = rank_v0 == pcomm.get().rank();
-
621 
-
622  const auto barrier_busy_wait = getReductionToBandBarrierBusyWait();
-
623  const std::size_t batch_size = util::ceilDiv(tiles.size(), nthreads);
-
624  const std::size_t begin = index * batch_size;
-
625  const std::size_t end = std::min(index * batch_size + batch_size, tiles.size());
-
626  const SizeType nrefls = taus.size().rows();
-
627 
-
628  if (index == 0) {
-
629  w.resize(nthreads);
-
630  }
-
631 
-
632  for (SizeType j = 0; j < nrefls; ++j) {
-
633  // STEP1: compute tau and reflector (single-thread)
-
634  if (index == 0) {
-
635  const bool has_head = rankHasHead;
-
636  taus({j, 0}) = computeReflector(has_head, pcomm.get(), tiles, j);
-
637  }
-
638  barrier_ptr->arrive_and_wait(barrier_busy_wait);
-
639 
-
640  // STEP2a: compute w (multi-threaded)
-
641  const SizeType pt_cols = cols - (j + 1);
-
642  if (pt_cols == 0)
-
643  break;
-
644 
-
645  const bool has_head = rankHasHead && (index == 0);
-
646 
-
647  w[index] = common::internal::vector<T>(pt_cols, 0);
-
648  computeWTrailingPanel(has_head, tiles, w[index], j, pt_cols, begin, end);
-
649  barrier_ptr->arrive_and_wait(barrier_busy_wait);
-
650 
-
651  // STEP2b: reduce w results (single-threaded)
-
652  if (index == 0) {
-
653  dlaf::eigensolver::internal::reduceColumnVectors(w);
-
654  comm::sync::allReduceInPlace(pcomm.get(), MPI_SUM, common::make_data(w[0].data(), pt_cols));
-
655  }
-
656  barrier_ptr->arrive_and_wait(barrier_busy_wait);
-
657 
-
658  // STEP3: update trailing panel (multi-threaded)
-
659  updateTrailingPanel(has_head, tiles, j, w[0], taus({j, 0}), begin, end);
-
660  barrier_ptr->arrive_and_wait(barrier_busy_wait);
-
661  }
-
662  });
-
663  ex::start_detached(std::move(s));
-
664 }
-
665 
-
666 template <Backend B, Device D, class T>
-
667 void hemmComputeX(comm::IndexT_MPI reducer_col, matrix::Panel<Coord::Col, T, D>& x,
-
668  matrix::Panel<Coord::Row, T, D, matrix::StoreTransposed::Yes>& xt,
-
669  const matrix::SubMatrixView& view, matrix::Matrix<const T, D>& a,
-
670  matrix::Panel<Coord::Col, const T, D>& w,
-
671  matrix::Panel<Coord::Row, const T, D, matrix::StoreTransposed::Yes>& wt,
-
672  common::Pipeline<comm::Communicator>& mpi_row_chain,
-
673  common::Pipeline<comm::Communicator>& mpi_col_chain) {
-
674  namespace ex = pika::execution::experimental;
-
675 
-
676  using pika::execution::thread_priority;
-
677 
-
678  const auto dist = a.distribution();
-
679  const auto rank = dist.rankIndex();
+
591  return tau;
+
592 }
+
593 
+
594 template <class MatrixLikeA, class MatrixLikeTaus, class TriggerSender, class CommSender>
+
595 void computePanelReflectors(TriggerSender&& trigger, comm::IndexT_MPI rank_v0,
+
596  CommSender&& mpi_col_chain_panel, MatrixLikeA& mat_a,
+
597  MatrixLikeTaus& mat_taus, SizeType j_sub,
+
598  const matrix::SubPanelView& panel_view) {
+
599  static Device constexpr D = MatrixLikeA::device;
+
600  using T = typename MatrixLikeA::ElementType;
+
601  namespace ex = pika::execution::experimental;
+
602  namespace di = dlaf::internal;
+
603 
+
604  std::vector<matrix::ReadWriteTileSender<T, D>> panel_tiles;
+
605  panel_tiles.reserve(to_sizet(std::distance(panel_view.iteratorLocal().begin(),
+
606  panel_view.iteratorLocal().end())));
+
607  for (const auto& i : panel_view.iteratorLocal()) {
+
608  const matrix::SubTileSpec& spec = panel_view(i);
+
609  panel_tiles.emplace_back(matrix::splitTile(mat_a.readwrite(i), spec));
+
610  }
+
611 
+
612  const std::size_t nthreads = getReductionToBandPanelNWorkers();
+
613  auto s =
+
614  ex::when_all(ex::just(std::make_unique<pika::barrier<>>(nthreads),
+
615  std::vector<common::internal::vector<T>>{}), // w (internally required)
+
616  mat_taus.readwrite(GlobalTileIndex(j_sub, 0)),
+
617  ex::when_all_vector(std::move(panel_tiles)),
+
618  std::forward<CommSender>(mpi_col_chain_panel), std::forward<TriggerSender>(trigger)) |
+
619  ex::transfer(di::getBackendScheduler<Backend::MC>(pika::execution::thread_priority::high)) |
+
620  ex::bulk(nthreads, [nthreads, rank_v0,
+
621  cols = panel_view.cols()](const std::size_t index, auto& barrier_ptr, auto& w,
+
622  auto& taus, auto& tiles, auto&& pcomm) {
+
623  const bool rankHasHead = rank_v0 == pcomm.get().rank();
+
624 
+
625  const auto barrier_busy_wait = getReductionToBandBarrierBusyWait();
+
626  const std::size_t batch_size = util::ceilDiv(tiles.size(), nthreads);
+
627  const std::size_t begin = index * batch_size;
+
628  const std::size_t end = std::min(index * batch_size + batch_size, tiles.size());
+
629  const SizeType nrefls = taus.size().rows();
+
630 
+
631  if (index == 0) {
+
632  w.resize(nthreads);
+
633  }
+
634 
+
635  for (SizeType j = 0; j < nrefls; ++j) {
+
636  // STEP1: compute tau and reflector (single-thread)
+
637  if (index == 0) {
+
638  const bool has_head = rankHasHead;
+
639  taus({j, 0}) = computeReflector(has_head, pcomm.get(), tiles, j);
+
640  }
+
641  barrier_ptr->arrive_and_wait(barrier_busy_wait);
+
642 
+
643  // STEP2a: compute w (multi-threaded)
+
644  const SizeType pt_cols = cols - (j + 1);
+
645  if (pt_cols == 0)
+
646  break;
+
647 
+
648  const bool has_head = rankHasHead && (index == 0);
+
649 
+
650  w[index] = common::internal::vector<T>(pt_cols, 0);
+
651  computeWTrailingPanel(has_head, tiles, w[index], j, pt_cols, begin, end);
+
652  barrier_ptr->arrive_and_wait(barrier_busy_wait);
+
653 
+
654  // STEP2b: reduce w results (single-threaded)
+
655  if (index == 0) {
+
656  dlaf::eigensolver::internal::reduceColumnVectors(w);
+
657  comm::sync::allReduceInPlace(pcomm.get(), MPI_SUM, common::make_data(w[0].data(), pt_cols));
+
658  }
+
659  barrier_ptr->arrive_and_wait(barrier_busy_wait);
+
660 
+
661  // STEP3: update trailing panel (multi-threaded)
+
662  updateTrailingPanel(has_head, tiles, j, w[0], taus({j, 0}), begin, end);
+
663  barrier_ptr->arrive_and_wait(barrier_busy_wait);
+
664  }
+
665  });
+
666  ex::start_detached(std::move(s));
+
667 }
+
668 
+
669 template <Backend B, Device D, class T>
+
670 void hemmComputeX(comm::IndexT_MPI reducer_col, matrix::Panel<Coord::Col, T, D>& x,
+
671  matrix::Panel<Coord::Row, T, D, matrix::StoreTransposed::Yes>& xt,
+
672  const matrix::SubMatrixView& view, matrix::Matrix<const T, D>& a,
+
673  matrix::Panel<Coord::Col, const T, D>& w,
+
674  matrix::Panel<Coord::Row, const T, D, matrix::StoreTransposed::Yes>& wt,
+
675  common::Pipeline<comm::Communicator>& mpi_row_chain,
+
676  common::Pipeline<comm::Communicator>& mpi_col_chain) {
+
677  namespace ex = pika::execution::experimental;
+
678 
+
679  using pika::execution::thread_priority;
680 
-
681  // Note:
-
682  // They have to be set to zero, because all tiles are going to be reduced, and some tiles may not get
-
683  // "initialized" during computation, so they should not contribute with any spurious value to the final
-
684  // result.
-
685  matrix::util::set0<B>(thread_priority::high, x);
-
686  matrix::util::set0<B>(thread_priority::high, xt);
-
687 
-
688  const LocalTileIndex at_offset = view.begin();
-
689 
-
690  for (SizeType i = at_offset.row(); i < dist.localNrTiles().rows(); ++i) {
-
691  const auto limit = dist.template nextLocalTileFromGlobalTile<Coord::Col>(
-
692  dist.template globalTileFromLocalTile<Coord::Row>(i) + 1);
-
693  for (SizeType j = limit - 1; j >= at_offset.col(); --j) {
-
694  const LocalTileIndex ij_local{i, j};
-
695  const GlobalTileIndex ij = dist.globalTileIndex(ij_local);
-
696 
-
697  const bool is_diagonal_tile = (ij.row() == ij.col());
-
698 
-
699  auto tile_a = splitTile(a.read(ij), view(ij_local));
-
700 
-
701  if (is_diagonal_tile) {
-
702  hemmDiag<B>(thread_priority::high, std::move(tile_a), w.read(ij_local), x.readwrite(ij_local));
-
703  }
-
704  else {
-
705  // Note:
-
706  // Since it is not a diagonal tile, otherwise it would have been managed in the previous
-
707  // branch, the second operand is not available in W but it is accessible through the
-
708  // support panel Wt.
-
709  // However, since we are still computing the "straight" part, the result can be stored
-
710  // in the "local" panel X.
-
711  hemmOffDiag<B>(thread_priority::high, blas::Op::NoTrans, tile_a, wt.read(ij_local),
-
712  x.readwrite(ij_local));
-
713 
-
714  // Note:
-
715  // Here we are considering the hermitian part of A, so coordinates have to be "mirrored".
-
716  // So, first step is identifying the mirrored cell coordinate, i.e. swap row/col, together
-
717  // with realizing if the new coord lays on an owned row or not.
-
718  // If yes, the result can be stored in the X, otherwise Xt support panel will be used.
-
719  // For what concerns the second operand, it can be found for sure in W. In fact, the
-
720  // multiplication requires matching col(A) == row(W), but since coordinates are mirrored,
-
721  // we are matching row(A) == row(W), so it is local by construction.
-
722  const auto owner = dist.template rankGlobalTile<Coord::Row>(ij.col());
-
723 
-
724  const LocalTileIndex index_x{dist.template localTileFromGlobalTile<Coord::Row>(ij.col()), 0};
-
725  const LocalTileIndex index_xt{0, ij_local.col()};
+
681  const auto dist = a.distribution();
+
682  const auto rank = dist.rankIndex();
+
683 
+
684  // Note:
+
685  // They have to be set to zero, because all tiles are going to be reduced, and some tiles may not get
+
686  // "initialized" during computation, so they should not contribute with any spurious value to the final
+
687  // result.
+
688  matrix::util::set0<B>(thread_priority::high, x);
+
689  matrix::util::set0<B>(thread_priority::high, xt);
+
690 
+
691  const LocalTileIndex at_offset = view.begin();
+
692 
+
693  for (SizeType i = at_offset.row(); i < dist.localNrTiles().rows(); ++i) {
+
694  const auto limit = dist.template nextLocalTileFromGlobalTile<Coord::Col>(
+
695  dist.template globalTileFromLocalTile<Coord::Row>(i) + 1);
+
696  for (SizeType j = limit - 1; j >= at_offset.col(); --j) {
+
697  const LocalTileIndex ij_local{i, j};
+
698  const GlobalTileIndex ij = dist.globalTileIndex(ij_local);
+
699 
+
700  const bool is_diagonal_tile = (ij.row() == ij.col());
+
701 
+
702  auto tile_a = splitTile(a.read(ij), view(ij_local));
+
703 
+
704  if (is_diagonal_tile) {
+
705  hemmDiag<B>(thread_priority::high, std::move(tile_a), w.read(ij_local), x.readwrite(ij_local));
+
706  }
+
707  else {
+
708  // Note:
+
709  // Since it is not a diagonal tile, otherwise it would have been managed in the previous
+
710  // branch, the second operand is not available in W but it is accessible through the
+
711  // support panel Wt.
+
712  // However, since we are still computing the "straight" part, the result can be stored
+
713  // in the "local" panel X.
+
714  hemmOffDiag<B>(thread_priority::high, blas::Op::NoTrans, tile_a, wt.read(ij_local),
+
715  x.readwrite(ij_local));
+
716 
+
717  // Note:
+
718  // Here we are considering the hermitian part of A, so coordinates have to be "mirrored".
+
719  // So, first step is identifying the mirrored cell coordinate, i.e. swap row/col, together
+
720  // with realizing if the new coord lays on an owned row or not.
+
721  // If yes, the result can be stored in the X, otherwise Xt support panel will be used.
+
722  // For what concerns the second operand, it can be found for sure in W. In fact, the
+
723  // multiplication requires matching col(A) == row(W), but since coordinates are mirrored,
+
724  // we are matching row(A) == row(W), so it is local by construction.
+
725  const auto owner = dist.template rankGlobalTile<Coord::Row>(ij.col());
726 
-
727  auto tile_x = (dist.rankIndex().row() == owner) ? x.readwrite(index_x) : xt.readwrite(index_xt);
-
728 
-
729  hemmOffDiag<B>(thread_priority::high, blas::Op::ConjTrans, std::move(tile_a), w.read(ij_local),
-
730  std::move(tile_x));
-
731  }
-
732  }
-
733  }
-
734 
-
735  // Note:
-
736  // At this point, partial results of X and Xt are available in the panels, and they have to be reduced,
-
737  // both row-wise and col-wise.
-
738  // The final X result will be available just on Ai panel column.
-
739 
-
740  // Note:
-
741  // The first step in reducing partial results distributed over X and Xt, it is to reduce the row
-
742  // panel Xt col-wise, by collecting all Xt results on the rank which can "mirror" the result on its
-
743  // rows (i.e. diagonal). So, for each tile of the row panel, select who is the "diagonal" rank that can
-
744  // mirror and reduce on it.
-
745  for (const auto& index_xt : xt.iteratorLocal()) {
-
746  const auto index_k = dist.template globalTileFromLocalTile<Coord::Col>(index_xt.col());
-
747  const auto rank_owner_row = dist.template rankGlobalTile<Coord::Row>(index_k);
-
748 
-
749  if (rank_owner_row == rank.row()) {
-
750  // Note:
-
751  // Since it is the owner, it has to perform the "mirroring" of the results from columns to
-
752  // rows.
-
753  //
-
754  // Moreover, it reduces in place because the owner of the diagonal stores the partial result
-
755  // directly in x (without using xt)
-
756  const auto i = dist.template localTileFromGlobalTile<Coord::Row>(index_k);
-
757  ex::start_detached(comm::scheduleReduceRecvInPlace(mpi_col_chain(), MPI_SUM, x.readwrite({i, 0})));
-
758  }
-
759  else {
-
760  ex::start_detached(comm::scheduleReduceSend(mpi_col_chain(), rank_owner_row, MPI_SUM,
-
761  xt.read(index_xt)));
-
762  }
-
763  }
-
764 
-
765  // Note:
-
766  // At this point partial results are all collected in X (Xt has been embedded in previous step),
-
767  // so the last step needed is to reduce these last partial results in the final results.
-
768  // The result is needed just on the column with reflectors.
-
769  for (const auto& index_x : x.iteratorLocal()) {
-
770  if (reducer_col == rank.col())
-
771  ex::start_detached(comm::scheduleReduceRecvInPlace(mpi_row_chain(), MPI_SUM,
-
772  x.readwrite(index_x)));
-
773  else
-
774  ex::start_detached(comm::scheduleReduceSend(mpi_row_chain(), reducer_col, MPI_SUM,
-
775  x.read(index_x)));
-
776  }
-
777 }
-
778 
-
779 template <Backend B, Device D, class T>
-
780 void her2kUpdateTrailingMatrix(const matrix::SubMatrixView& view, Matrix<T, D>& a,
-
781  matrix::Panel<Coord::Col, const T, D>& x,
-
782  matrix::Panel<Coord::Row, const T, D, matrix::StoreTransposed::Yes>& vt,
-
783  matrix::Panel<Coord::Col, const T, D>& v,
-
784  matrix::Panel<Coord::Row, const T, D, matrix::StoreTransposed::Yes>& xt) {
-
785  static_assert(std::is_signed_v<BaseType<T>>, "alpha in computations requires to be -1");
-
786 
-
787  using pika::execution::thread_priority;
-
788 
-
789  const auto dist = a.distribution();
-
790 
-
791  const LocalTileIndex at_start = view.begin();
-
792 
-
793  for (SizeType i = at_start.row(); i < dist.localNrTiles().rows(); ++i) {
-
794  const auto limit = dist.template nextLocalTileFromGlobalTile<Coord::Col>(
-
795  dist.template globalTileFromLocalTile<Coord::Row>(i) + 1);
-
796  for (SizeType j = at_start.col(); j < limit; ++j) {
-
797  const LocalTileIndex ij_local{i, j};
-
798  const GlobalTileIndex ij = dist.globalTileIndex(ij_local);
-
799 
-
800  const bool is_diagonal_tile = (ij.row() == ij.col());
-
801 
-
802  auto getSubA = [&a, &view, ij_local]() {
-
803  return splitTile(a.readwrite(ij_local), view(ij_local));
-
804  };
-
805 
-
806  // The first column of the trailing matrix (except for the very first global tile) has to be
-
807  // updated first, in order to unlock the next iteration as soon as possible.
-
808  const auto priority = (j == at_start.col()) ? thread_priority::high : thread_priority::normal;
-
809 
-
810  if (is_diagonal_tile) {
-
811  her2kDiag<B>(priority, v.read(ij_local), x.read(ij_local), getSubA());
-
812  }
-
813  else {
-
814  // A -= X . V*
-
815  her2kOffDiag<B>(priority, x.read(ij_local), vt.read(ij_local), getSubA());
-
816 
-
817  // A -= V . X*
-
818  her2kOffDiag<B>(priority, v.read(ij_local), xt.read(ij_local), getSubA());
-
819  }
-
820  }
-
821  }
-
822 }
-
823 }
-
824 
-
825 template <Backend B, Device D, class T>
-
826 struct ComputePanelHelper;
+
727  const LocalTileIndex index_x{dist.template localTileFromGlobalTile<Coord::Row>(ij.col()), 0};
+
728  const LocalTileIndex index_xt{0, ij_local.col()};
+
729 
+
730  auto tile_x = (dist.rankIndex().row() == owner) ? x.readwrite(index_x) : xt.readwrite(index_xt);
+
731 
+
732  hemmOffDiag<B>(thread_priority::high, blas::Op::ConjTrans, std::move(tile_a), w.read(ij_local),
+
733  std::move(tile_x));
+
734  }
+
735  }
+
736  }
+
737 
+
738  // Note:
+
739  // At this point, partial results of X and Xt are available in the panels, and they have to be reduced,
+
740  // both row-wise and col-wise.
+
741  // The final X result will be available just on Ai panel column.
+
742 
+
743  // Note:
+
744  // The first step in reducing partial results distributed over X and Xt, it is to reduce the row
+
745  // panel Xt col-wise, by collecting all Xt results on the rank which can "mirror" the result on its
+
746  // rows (i.e. diagonal). So, for each tile of the row panel, select who is the "diagonal" rank that can
+
747  // mirror and reduce on it.
+
748  for (const auto& index_xt : xt.iteratorLocal()) {
+
749  const auto index_k = dist.template globalTileFromLocalTile<Coord::Col>(index_xt.col());
+
750  const auto rank_owner_row = dist.template rankGlobalTile<Coord::Row>(index_k);
+
751 
+
752  if (rank_owner_row == rank.row()) {
+
753  // Note:
+
754  // Since it is the owner, it has to perform the "mirroring" of the results from columns to
+
755  // rows.
+
756  //
+
757  // Moreover, it reduces in place because the owner of the diagonal stores the partial result
+
758  // directly in x (without using xt)
+
759  const auto i = dist.template localTileFromGlobalTile<Coord::Row>(index_k);
+
760  ex::start_detached(comm::scheduleReduceRecvInPlace(mpi_col_chain(), MPI_SUM, x.readwrite({i, 0})));
+
761  }
+
762  else {
+
763  ex::start_detached(comm::scheduleReduceSend(mpi_col_chain(), rank_owner_row, MPI_SUM,
+
764  xt.read(index_xt)));
+
765  }
+
766  }
+
767 
+
768  // Note:
+
769  // At this point partial results are all collected in X (Xt has been embedded in previous step),
+
770  // so the last step needed is to reduce these last partial results in the final results.
+
771  // The result is needed just on the column with reflectors.
+
772  for (const auto& index_x : x.iteratorLocal()) {
+
773  if (reducer_col == rank.col())
+
774  ex::start_detached(comm::scheduleReduceRecvInPlace(mpi_row_chain(), MPI_SUM,
+
775  x.readwrite(index_x)));
+
776  else
+
777  ex::start_detached(comm::scheduleReduceSend(mpi_row_chain(), reducer_col, MPI_SUM,
+
778  x.read(index_x)));
+
779  }
+
780 }
+
781 
+
782 template <Backend B, Device D, class T>
+
783 void her2kUpdateTrailingMatrix(const matrix::SubMatrixView& view, Matrix<T, D>& a,
+
784  matrix::Panel<Coord::Col, const T, D>& x,
+
785  matrix::Panel<Coord::Row, const T, D, matrix::StoreTransposed::Yes>& vt,
+
786  matrix::Panel<Coord::Col, const T, D>& v,
+
787  matrix::Panel<Coord::Row, const T, D, matrix::StoreTransposed::Yes>& xt) {
+
788  static_assert(std::is_signed_v<BaseType<T>>, "alpha in computations requires to be -1");
+
789 
+
790  using pika::execution::thread_priority;
+
791 
+
792  const auto dist = a.distribution();
+
793 
+
794  const LocalTileIndex at_start = view.begin();
+
795 
+
796  for (SizeType i = at_start.row(); i < dist.localNrTiles().rows(); ++i) {
+
797  const auto limit = dist.template nextLocalTileFromGlobalTile<Coord::Col>(
+
798  dist.template globalTileFromLocalTile<Coord::Row>(i) + 1);
+
799  for (SizeType j = at_start.col(); j < limit; ++j) {
+
800  const LocalTileIndex ij_local{i, j};
+
801  const GlobalTileIndex ij = dist.globalTileIndex(ij_local);
+
802 
+
803  const bool is_diagonal_tile = (ij.row() == ij.col());
+
804 
+
805  auto getSubA = [&a, &view, ij_local]() {
+
806  return splitTile(a.readwrite(ij_local), view(ij_local));
+
807  };
+
808 
+
809  // The first column of the trailing matrix (except for the very first global tile) has to be
+
810  // updated first, in order to unlock the next iteration as soon as possible.
+
811  const auto priority = (j == at_start.col()) ? thread_priority::high : thread_priority::normal;
+
812 
+
813  if (is_diagonal_tile) {
+
814  her2kDiag<B>(priority, v.read(ij_local), x.read(ij_local), getSubA());
+
815  }
+
816  else {
+
817  // A -= X . V*
+
818  her2kOffDiag<B>(priority, x.read(ij_local), vt.read(ij_local), getSubA());
+
819 
+
820  // A -= V . X*
+
821  her2kOffDiag<B>(priority, v.read(ij_local), xt.read(ij_local), getSubA());
+
822  }
+
823  }
+
824  }
+
825 }
+
826 }
827 
-
828 template <class T>
-
829 struct ComputePanelHelper<Backend::MC, Device::CPU, T> {
-
830  ComputePanelHelper(const std::size_t, matrix::Distribution) {}
-
831 
-
832  void call(Matrix<T, Device::CPU>& mat_a, Matrix<T, Device::CPU>& mat_taus, const SizeType j_sub,
-
833  const matrix::SubPanelView& panel_view) {
-
834  using red2band::local::computePanelReflectors;
-
835  computePanelReflectors(mat_a, mat_taus, j_sub, panel_view);
-
836  }
-
837 
-
838  template <Device D, class CommSender, class TriggerSender>
-
839  void call(TriggerSender&& trigger, comm::IndexT_MPI rank_v0, CommSender&& mpi_col_chain_panel,
-
840  Matrix<T, D>& mat_a, Matrix<T, Device::CPU>& mat_taus, const SizeType j_sub,
-
841  const matrix::SubPanelView& panel_view) {
-
842  using red2band::distributed::computePanelReflectors;
-
843  computePanelReflectors(std::forward<TriggerSender>(trigger), rank_v0,
-
844  std::forward<CommSender>(mpi_col_chain_panel), mat_a, mat_taus, j_sub,
-
845  panel_view);
-
846  }
-
847 };
-
848 
-
849 #ifdef DLAF_WITH_GPU
-
850 template <class T>
-
851 struct ComputePanelHelper<Backend::GPU, Device::GPU, T> {
-
852  ComputePanelHelper(const std::size_t n_workspaces, matrix::Distribution dist_a)
-
853  : panels_v(n_workspaces, dist_a) {}
-
854 
-
855  void call(Matrix<T, Device::GPU>& mat_a, Matrix<T, Device::CPU>& mat_taus, const SizeType j_sub,
-
856  const matrix::SubPanelView& panel_view) {
-
857  using red2band::local::computePanelReflectors;
-
858 
-
859  namespace ex = pika::execution::experimental;
-
860 
-
861  // Note:
-
862  // - copy panel_view from GPU to CPU
-
863  // - computePanelReflectors on CPU (on a matrix like, with just a panel)
-
864  // - copy back matrix "panel" from CPU to GPU
-
865 
-
866  auto& v = panels_v.nextResource();
-
867 
-
868  copyToCPU(panel_view, mat_a, v);
-
869  computePanelReflectors(v, mat_taus, j_sub, panel_view);
-
870  copyFromCPU(panel_view, v, mat_a);
-
871  }
-
872 
-
873  template <Device D, class CommSender, class TriggerSender>
-
874  void call(TriggerSender&& trigger, comm::IndexT_MPI rank_v0, CommSender&& mpi_col_chain_panel,
-
875  Matrix<T, D>& mat_a, Matrix<T, Device::CPU>& mat_taus, SizeType j_sub,
-
876  const matrix::SubPanelView& panel_view) {
-
877  auto& v = panels_v.nextResource();
-
878 
-
879  // copy to CPU
-
880  copyToCPU(panel_view, mat_a, v);
+
828 template <Backend B, Device D, class T>
+
829 struct ComputePanelHelper;
+
830 
+
831 template <class T>
+
832 struct ComputePanelHelper<Backend::MC, Device::CPU, T> {
+
833  ComputePanelHelper(const std::size_t, matrix::Distribution) {}
+
834 
+
835  void call(Matrix<T, Device::CPU>& mat_a, Matrix<T, Device::CPU>& mat_taus, const SizeType j_sub,
+
836  const matrix::SubPanelView& panel_view) {
+
837  using red2band::local::computePanelReflectors;
+
838  computePanelReflectors(mat_a, mat_taus, j_sub, panel_view);
+
839  }
+
840 
+
841  template <Device D, class CommSender, class TriggerSender>
+
842  void call(TriggerSender&& trigger, comm::IndexT_MPI rank_v0, CommSender&& mpi_col_chain_panel,
+
843  Matrix<T, D>& mat_a, Matrix<T, Device::CPU>& mat_taus, const SizeType j_sub,
+
844  const matrix::SubPanelView& panel_view) {
+
845  using red2band::distributed::computePanelReflectors;
+
846  computePanelReflectors(std::forward<TriggerSender>(trigger), rank_v0,
+
847  std::forward<CommSender>(mpi_col_chain_panel), mat_a, mat_taus, j_sub,
+
848  panel_view);
+
849  }
+
850 };
+
851 
+
852 #ifdef DLAF_WITH_GPU
+
853 template <class T>
+
854 struct ComputePanelHelper<Backend::GPU, Device::GPU, T> {
+
855  ComputePanelHelper(const std::size_t n_workspaces, matrix::Distribution dist_a)
+
856  : panels_v(n_workspaces, dist_a) {}
+
857 
+
858  void call(Matrix<T, Device::GPU>& mat_a, Matrix<T, Device::CPU>& mat_taus, const SizeType j_sub,
+
859  const matrix::SubPanelView& panel_view) {
+
860  using red2band::local::computePanelReflectors;
+
861 
+
862  namespace ex = pika::execution::experimental;
+
863 
+
864  // Note:
+
865  // - copy panel_view from GPU to CPU
+
866  // - computePanelReflectors on CPU (on a matrix like, with just a panel)
+
867  // - copy back matrix "panel" from CPU to GPU
+
868 
+
869  auto& v = panels_v.nextResource();
+
870 
+
871  copyToCPU(panel_view, mat_a, v);
+
872  computePanelReflectors(v, mat_taus, j_sub, panel_view);
+
873  copyFromCPU(panel_view, v, mat_a);
+
874  }
+
875 
+
876  template <Device D, class CommSender, class TriggerSender>
+
877  void call(TriggerSender&& trigger, comm::IndexT_MPI rank_v0, CommSender&& mpi_col_chain_panel,
+
878  Matrix<T, D>& mat_a, Matrix<T, Device::CPU>& mat_taus, SizeType j_sub,
+
879  const matrix::SubPanelView& panel_view) {
+
880  auto& v = panels_v.nextResource();
881 
-
882  // compute on CPU
-
883  using dlaf::eigensolver::internal::red2band::distributed::computePanelReflectors;
-
884  computePanelReflectors(std::forward<TriggerSender>(trigger), rank_v0,
-
885  std::forward<CommSender>(mpi_col_chain_panel), v, mat_taus, j_sub,
-
886  panel_view);
-
887 
-
888  // copy back to GPU
-
889  copyFromCPU(panel_view, v, mat_a);
-
890  }
-
891 
-
892 protected:
-
893  common::RoundRobin<matrix::Panel<Coord::Col, T, Device::CPU>> panels_v;
+
882  // copy to CPU
+
883  copyToCPU(panel_view, mat_a, v);
+
884 
+
885  // compute on CPU
+
886  using dlaf::eigensolver::internal::red2band::distributed::computePanelReflectors;
+
887  computePanelReflectors(std::forward<TriggerSender>(trigger), rank_v0,
+
888  std::forward<CommSender>(mpi_col_chain_panel), v, mat_taus, j_sub,
+
889  panel_view);
+
890 
+
891  // copy back to GPU
+
892  copyFromCPU(panel_view, v, mat_a);
+
893  }
894 
-
895  void copyToCPU(const matrix::SubPanelView panel_view, matrix::Matrix<T, Device::GPU>& mat_a,
-
896  matrix::Panel<Coord::Col, T, Device::CPU>& v) {
-
897  namespace ex = pika::execution::experimental;
-
898 
-
899  using dlaf::internal::Policy;
-
900  using dlaf::matrix::internal::CopyBackend_v;
-
901  using pika::execution::thread_priority;
-
902 
-
903  for (const auto& i : panel_view.iteratorLocal()) {
-
904  auto spec = panel_view(i);
-
905  auto tmp_tile = v.readwrite(i);
-
906  ex::start_detached(
-
907  ex::when_all(splitTile(mat_a.read(i), spec), splitTile(std::move(tmp_tile), spec)) |
-
908  matrix::copy(Policy<CopyBackend_v<Device::GPU, Device::CPU>>(thread_priority::high)));
-
909  }
-
910  }
-
911 
-
912  void copyFromCPU(const matrix::SubPanelView panel_view, matrix::Panel<Coord::Col, T, Device::CPU>& v,
-
913  matrix::Matrix<T, Device::GPU>& mat_a) {
-
914  namespace ex = pika::execution::experimental;
-
915 
-
916  using dlaf::internal::Policy;
-
917  using dlaf::matrix::internal::CopyBackend_v;
-
918  using pika::execution::thread_priority;
-
919 
-
920  for (const auto& i : panel_view.iteratorLocal()) {
-
921  auto spec = panel_view(i);
-
922  auto tile_a = mat_a.readwrite(i);
-
923  ex::start_detached(
-
924  ex::when_all(splitTile(v.read(i), spec), splitTile(std::move(tile_a), spec)) |
-
925  matrix::copy(Policy<CopyBackend_v<Device::CPU, Device::GPU>>(thread_priority::high)));
-
926  }
-
927  }
-
928 };
-
929 #endif
-
930 
-
931 }
-
932 
-
933 // Local implementation of reduction to band
-
934 template <Backend B, Device D, class T>
-
935 Matrix<T, Device::CPU> ReductionToBand<B, D, T>::call(Matrix<T, D>& mat_a, const SizeType band_size) {
-
936  using dlaf::matrix::Matrix;
-
937  using dlaf::matrix::Panel;
-
938 
-
939  using namespace red2band::local;
-
940 
-
941  using common::iterate_range2d;
-
942  using factorization::internal::computeTFactor;
+
895 protected:
+
896  common::RoundRobin<matrix::Panel<Coord::Col, T, Device::CPU>> panels_v;
+
897 
+
898  void copyToCPU(const matrix::SubPanelView panel_view, matrix::Matrix<T, Device::GPU>& mat_a,
+
899  matrix::Panel<Coord::Col, T, Device::CPU>& v) {
+
900  namespace ex = pika::execution::experimental;
+
901 
+
902  using dlaf::internal::Policy;
+
903  using dlaf::matrix::internal::CopyBackend_v;
+
904  using pika::execution::thread_priority;
+
905 
+
906  for (const auto& i : panel_view.iteratorLocal()) {
+
907  auto spec = panel_view(i);
+
908  auto tmp_tile = v.readwrite(i);
+
909  ex::start_detached(
+
910  ex::when_all(splitTile(mat_a.read(i), spec), splitTile(std::move(tmp_tile), spec)) |
+
911  matrix::copy(Policy<CopyBackend_v<Device::GPU, Device::CPU>>(thread_priority::high)));
+
912  }
+
913  }
+
914 
+
915  void copyFromCPU(const matrix::SubPanelView panel_view, matrix::Panel<Coord::Col, T, Device::CPU>& v,
+
916  matrix::Matrix<T, Device::GPU>& mat_a) {
+
917  namespace ex = pika::execution::experimental;
+
918 
+
919  using dlaf::internal::Policy;
+
920  using dlaf::matrix::internal::CopyBackend_v;
+
921  using pika::execution::thread_priority;
+
922 
+
923  for (const auto& i : panel_view.iteratorLocal()) {
+
924  auto spec = panel_view(i);
+
925  auto tile_a = mat_a.readwrite(i);
+
926  ex::start_detached(
+
927  ex::when_all(splitTile(v.read(i), spec), splitTile(std::move(tile_a), spec)) |
+
928  matrix::copy(Policy<CopyBackend_v<Device::CPU, Device::GPU>>(thread_priority::high)));
+
929  }
+
930  }
+
931 };
+
932 #endif
+
933 
+
934 }
+
935 
+
936 // Local implementation of reduction to band
+
937 template <Backend B, Device D, class T>
+
938 Matrix<T, Device::CPU> ReductionToBand<B, D, T>::call(Matrix<T, D>& mat_a, const SizeType band_size) {
+
939  using dlaf::matrix::Matrix;
+
940  using dlaf::matrix::Panel;
+
941 
+
942  using namespace red2band::local;
943 
-
944  using pika::execution::experimental::any_sender;
-
945 
-
946  const auto dist_a = mat_a.distribution();
-
947  const matrix::Distribution dist({mat_a.size().rows(), band_size},
-
948  {dist_a.blockSize().rows(), band_size});
-
949 
-
950  // Note:
-
951  // Reflector of size = 1 is not considered whatever T is (i.e. neither real nor complex)
-
952  const SizeType nrefls = std::max<SizeType>(0, dist_a.size().rows() - band_size - 1);
-
953 
-
954  // Row-vector that is distributed over columns, but exists locally on all rows of the grid
-
955  DLAF_ASSERT(mat_a.blockSize().cols() % band_size == 0, mat_a.blockSize().cols(), band_size);
-
956  Matrix<T, Device::CPU> mat_taus(matrix::Distribution(GlobalElementSize(nrefls, 1),
-
957  TileElementSize(mat_a.blockSize().cols(), 1),
-
958  comm::Size2D(mat_a.commGridSize().cols(), 1),
-
959  comm::Index2D(mat_a.rankIndex().col(), 0),
-
960  comm::Index2D(mat_a.sourceRankIndex().col(), 0)));
-
961 
-
962  if (nrefls == 0)
-
963  return mat_taus;
+
944  using common::iterate_range2d;
+
945  using factorization::internal::computeTFactor;
+
946 
+
947  using pika::execution::experimental::any_sender;
+
948 
+
949  const auto dist_a = mat_a.distribution();
+
950  const matrix::Distribution dist({mat_a.size().rows(), band_size},
+
951  {dist_a.blockSize().rows(), band_size});
+
952 
+
953  // Note:
+
954  // Reflector of size = 1 is not considered whatever T is (i.e. neither real nor complex)
+
955  const SizeType nrefls = std::max<SizeType>(0, dist_a.size().rows() - band_size - 1);
+
956 
+
957  // Row-vector that is distributed over columns, but exists locally on all rows of the grid
+
958  DLAF_ASSERT(mat_a.blockSize().cols() % band_size == 0, mat_a.blockSize().cols(), band_size);
+
959  Matrix<T, Device::CPU> mat_taus(matrix::Distribution(GlobalElementSize(nrefls, 1),
+
960  TileElementSize(mat_a.blockSize().cols(), 1),
+
961  comm::Size2D(mat_a.commGridSize().cols(), 1),
+
962  comm::Index2D(mat_a.rankIndex().col(), 0),
+
963  comm::Index2D(mat_a.sourceRankIndex().col(), 0)));
964 
-
965  Matrix<T, Device::CPU> mat_taus_retiled =
-
966  mat_taus.retiledSubPipeline(LocalTileSize(mat_a.blockSize().cols() / band_size, 1));
+
965  if (nrefls == 0)
+
966  return mat_taus;
967 
-
968  const SizeType ntiles = (nrefls - 1) / band_size + 1;
-
969  DLAF_ASSERT(ntiles == mat_taus_retiled.nrTiles().rows(), ntiles, mat_taus_retiled.nrTiles().rows());
+
968  Matrix<T, Device::CPU> mat_taus_retiled =
+
969  mat_taus.retiledSubPipeline(LocalTileSize(mat_a.blockSize().cols() / band_size, 1));
970 
-
971  const bool is_full_band = (band_size == dist_a.blockSize().cols());
-
972 
-
973  constexpr std::size_t n_workspaces = 2;
-
974  common::RoundRobin<Panel<Coord::Col, T, D>> panels_v(n_workspaces, dist);
-
975  common::RoundRobin<Panel<Coord::Col, T, D>> panels_w(n_workspaces, dist);
-
976  common::RoundRobin<Panel<Coord::Col, T, D>> panels_x(n_workspaces, dist);
-
977 
-
978  // Note:
-
979  // Here dist_a is given with full panel size instead of dist with just the part actually needeed,
-
980  // because the GPU Helper internally exploits Panel data-structure. Indeed, the full size panel is
-
981  // needed in order to mimick Matrix with Panel, so it is possible to apply a SubPanelView to it.
-
982  //
-
983  // It is a bit hacky usage, because SubPanelView is not meant to be used with Panel, but just with
-
984  // Matrix. This results in a variable waste of memory, depending no the ratio band_size/nb.
-
985  red2band::ComputePanelHelper<B, D, T> compute_panel_helper(n_workspaces, dist_a);
-
986 
-
987  for (SizeType j_sub = 0; j_sub < ntiles; ++j_sub) {
-
988  const auto i_sub = j_sub + 1;
+
971  const SizeType ntiles = (nrefls - 1) / band_size + 1;
+
972  DLAF_ASSERT(ntiles == mat_taus_retiled.nrTiles().rows(), ntiles, mat_taus_retiled.nrTiles().rows());
+
973 
+
974  const bool is_full_band = (band_size == dist_a.blockSize().cols());
+
975 
+
976  constexpr std::size_t n_workspaces = 2;
+
977  common::RoundRobin<Panel<Coord::Col, T, D>> panels_v(n_workspaces, dist);
+
978  common::RoundRobin<Panel<Coord::Col, T, D>> panels_w(n_workspaces, dist);
+
979  common::RoundRobin<Panel<Coord::Col, T, D>> panels_x(n_workspaces, dist);
+
980 
+
981  // Note:
+
982  // Here dist_a is given with full panel size instead of dist with just the part actually needeed,
+
983  // because the GPU Helper internally exploits Panel data-structure. Indeed, the full size panel is
+
984  // needed in order to mimick Matrix with Panel, so it is possible to apply a SubPanelView to it.
+
985  //
+
986  // It is a bit hacky usage, because SubPanelView is not meant to be used with Panel, but just with
+
987  // Matrix. This results in a variable waste of memory, depending no the ratio band_size/nb.
+
988  red2band::ComputePanelHelper<B, D, T> compute_panel_helper(n_workspaces, dist_a);
989 
-
990  const GlobalElementIndex ij_offset(i_sub * band_size, j_sub * band_size);
-
991 
-
992  const SizeType nrefls_tile = mat_taus_retiled.tileSize(GlobalTileIndex(j_sub, 0)).rows();
-
993 
-
994  const bool isPanelIncomplete = (nrefls_tile != band_size);
-
995 
-
996  // Note: if this is running, it must have at least one valid reflector (i.e. with size > 1)
-
997  DLAF_ASSERT_HEAVY(nrefls_tile != 0, nrefls_tile);
+
990  for (SizeType j_sub = 0; j_sub < ntiles; ++j_sub) {
+
991  const auto i_sub = j_sub + 1;
+
992 
+
993  const GlobalElementIndex ij_offset(i_sub * band_size, j_sub * band_size);
+
994 
+
995  const SizeType nrefls_tile = mat_taus_retiled.tileSize(GlobalTileIndex(j_sub, 0)).rows();
+
996 
+
997  const bool isPanelIncomplete = (nrefls_tile != band_size);
998 
-
999  // Note: SubPanelView is (at most) band_size wide, but it may contain a smaller number of
-
1000  // reflectors (i.e. at the end when last reflector size is 1)
-
1001  const matrix::SubPanelView panel_view(dist_a, ij_offset, band_size);
-
1002 
-
1003  Panel<Coord::Col, T, D>& v = panels_v.nextResource();
-
1004  v.setRangeStart(ij_offset);
-
1005  if (isPanelIncomplete)
-
1006  v.setWidth(nrefls_tile);
-
1007 
-
1008  // PANEL
-
1009  compute_panel_helper.call(mat_a, mat_taus_retiled, j_sub, panel_view);
+
999  // Note: if this is running, it must have at least one valid reflector (i.e. with size > 1)
+
1000  DLAF_ASSERT_HEAVY(nrefls_tile != 0, nrefls_tile);
+
1001 
+
1002  // Note: SubPanelView is (at most) band_size wide, but it may contain a smaller number of
+
1003  // reflectors (i.e. at the end when last reflector size is 1)
+
1004  const matrix::SubPanelView panel_view(dist_a, ij_offset, band_size);
+
1005 
+
1006  Panel<Coord::Col, T, D>& v = panels_v.nextResource();
+
1007  v.setRangeStart(ij_offset);
+
1008  if (isPanelIncomplete)
+
1009  v.setWidth(nrefls_tile);
1010 
-
1011  // Note:
-
1012  // - has_reflector_head tells if this rank owns the first tile of the panel (being local, always true)
-
1013  // - if !is_full_band it has to force copy as a workaround, otherwise in update matrix it would deadlock
-
1014  // due to tile shared between panel and trailing matrix
-
1015  constexpr bool has_reflector_head = true;
-
1016  setupReflectorPanelV<B, D, T>(has_reflector_head, panel_view, nrefls_tile, v, mat_a, !is_full_band);
-
1017 
-
1018  const LocalTileIndex t_idx(0, 0);
-
1019  // TODO used just by the column, maybe we can re-use a panel tile?
-
1020  // TODO probably the first one in any panel is ok?
-
1021  Matrix<T, D> t({nrefls_tile, nrefls_tile}, dist.blockSize());
-
1022 
-
1023  computeTFactor<B>(v, mat_taus_retiled.read(GlobalTileIndex(j_sub, 0)), t.readwrite(t_idx));
-
1024 
-
1025  // PREPARATION FOR TRAILING MATRIX UPDATE
-
1026  const GlobalElementIndex at_offset(ij_offset + GlobalElementSize(0, band_size));
+
1011  // PANEL
+
1012  compute_panel_helper.call(mat_a, mat_taus_retiled, j_sub, panel_view);
+
1013 
+
1014  // Note:
+
1015  // - has_reflector_head tells if this rank owns the first tile of the panel (being local, always true)
+
1016  // - if !is_full_band it has to force copy as a workaround, otherwise in update matrix it would deadlock
+
1017  // due to tile shared between panel and trailing matrix
+
1018  constexpr bool has_reflector_head = true;
+
1019  setupReflectorPanelV<B, D, T>(has_reflector_head, panel_view, nrefls_tile, v, mat_a, !is_full_band);
+
1020 
+
1021  const LocalTileIndex t_idx(0, 0);
+
1022  // TODO used just by the column, maybe we can re-use a panel tile?
+
1023  // TODO probably the first one in any panel is ok?
+
1024  Matrix<T, D> t({nrefls_tile, nrefls_tile}, dist.blockSize());
+
1025 
+
1026  computeTFactor<B>(v, mat_taus_retiled.read(GlobalTileIndex(j_sub, 0)), t.readwrite(t_idx));
1027 
-
1028  // Note: if there is no trailing matrix, algorithm has finised
-
1029  if (!at_offset.isIn(mat_a.size()))
-
1030  break;
-
1031 
-
1032  const matrix::SubMatrixView trailing_matrix_view(dist_a, at_offset);
-
1033 
-
1034  // W = V . T
-
1035  Panel<Coord::Col, T, D>& w = panels_w.nextResource();
-
1036  w.setRangeStart(at_offset);
-
1037  if (isPanelIncomplete)
-
1038  w.setWidth(nrefls_tile);
-
1039 
-
1040  trmmComputeW<B>(w, v, t.read(t_idx));
-
1041 
-
1042  // X = At . W
-
1043  Panel<Coord::Col, T, D>& x = panels_x.nextResource();
-
1044  x.setRangeStart(at_offset);
-
1045  if (isPanelIncomplete)
-
1046  x.setWidth(nrefls_tile);
-
1047 
-
1048  // Note:
-
1049  // Since At is hermitian, just the lower part is referenced.
-
1050  // When the tile is not part of the main diagonal, the same tile has to be used for two computations
-
1051  // that will contribute to two different rows of X: the ones indexed with row and col.
-
1052  hemmComputeX<B>(x, trailing_matrix_view, mat_a, w);
-
1053 
-
1054  // In the next section the next two operations are performed
-
1055  // A) W2 = W* . X
-
1056  // B) X -= 1/2 . V . W2
-
1057 
-
1058  // Note:
-
1059  // T can be re-used because it is not needed anymore in this step and it has the same shape
-
1060  Matrix<T, D> w2 = std::move(t);
-
1061 
-
1062  gemmComputeW2<B>(w2, w, x);
-
1063  gemmUpdateX<B>(x, w2, v);
+
1028  // PREPARATION FOR TRAILING MATRIX UPDATE
+
1029  const GlobalElementIndex at_offset(ij_offset + GlobalElementSize(0, band_size));
+
1030 
+
1031  // Note: if there is no trailing matrix, algorithm has finised
+
1032  if (!at_offset.isIn(mat_a.size()))
+
1033  break;
+
1034 
+
1035  const matrix::SubMatrixView trailing_matrix_view(dist_a, at_offset);
+
1036 
+
1037  // W = V . T
+
1038  Panel<Coord::Col, T, D>& w = panels_w.nextResource();
+
1039  w.setRangeStart(at_offset);
+
1040  if (isPanelIncomplete)
+
1041  w.setWidth(nrefls_tile);
+
1042 
+
1043  trmmComputeW<B>(w, v, t.read(t_idx));
+
1044 
+
1045  // X = At . W
+
1046  Panel<Coord::Col, T, D>& x = panels_x.nextResource();
+
1047  x.setRangeStart(at_offset);
+
1048  if (isPanelIncomplete)
+
1049  x.setWidth(nrefls_tile);
+
1050 
+
1051  // Note:
+
1052  // Since At is hermitian, just the lower part is referenced.
+
1053  // When the tile is not part of the main diagonal, the same tile has to be used for two computations
+
1054  // that will contribute to two different rows of X: the ones indexed with row and col.
+
1055  hemmComputeX<B>(x, trailing_matrix_view, mat_a, w);
+
1056 
+
1057  // In the next section the next two operations are performed
+
1058  // A) W2 = W* . X
+
1059  // B) X -= 1/2 . V . W2
+
1060 
+
1061  // Note:
+
1062  // T can be re-used because it is not needed anymore in this step and it has the same shape
+
1063  Matrix<T, D> w2 = std::move(t);
1064 
-
1065  // TRAILING MATRIX UPDATE
-
1066 
-
1067  // At -= X . V* + V . X*
-
1068  her2kUpdateTrailingMatrix<B>(trailing_matrix_view, mat_a, x, v);
+
1065  gemmComputeW2<B>(w2, w, x);
+
1066  gemmUpdateX<B>(x, w2, v);
+
1067 
+
1068  // TRAILING MATRIX UPDATE
1069 
-
1070  x.reset();
-
1071  w.reset();
-
1072  v.reset();
-
1073  }
-
1074 
-
1075  return mat_taus;
-
1076 }
+
1070  // At -= X . V* + V . X*
+
1071  her2kUpdateTrailingMatrix<B>(trailing_matrix_view, mat_a, x, v);
+
1072 
+
1073  x.reset();
+
1074  w.reset();
+
1075  v.reset();
+
1076  }
1077 
-
1078 // Distributed implementation of reduction to band
-
1079 template <Backend B, Device D, class T>
-
1080 Matrix<T, Device::CPU> ReductionToBand<B, D, T>::call(comm::CommunicatorGrid grid, Matrix<T, D>& mat_a,
-
1081  const SizeType band_size) {
-
1082  using namespace red2band::distributed;
-
1083 
-
1084  using common::iterate_range2d;
-
1085  using factorization::internal::computeTFactor;
+
1078  return mat_taus;
+
1079 }
+
1080 
+
1081 // Distributed implementation of reduction to band
+
1082 template <Backend B, Device D, class T>
+
1083 Matrix<T, Device::CPU> ReductionToBand<B, D, T>::call(comm::CommunicatorGrid grid, Matrix<T, D>& mat_a,
+
1084  const SizeType band_size) {
+
1085  using namespace red2band::distributed;
1086 
-
1087  namespace ex = pika::execution::experimental;
-
1088 
-
1089  // Note:
-
1090  // This is a temporary workaround.
-
1091  // See issue https://github.com/eth-cscs/DLA-Future/issues/729
-
1092  pika::wait();
-
1093 
-
1094  common::Pipeline<comm::Communicator> mpi_col_chain_panel(grid.colCommunicator().clone());
-
1095  common::Pipeline<comm::Communicator> mpi_row_chain(grid.rowCommunicator().clone());
-
1096  common::Pipeline<comm::Communicator> mpi_col_chain(grid.colCommunicator().clone());
-
1097 
-
1098  const auto& dist = mat_a.distribution();
-
1099  const comm::Index2D rank = dist.rankIndex();
+
1087  using common::iterate_range2d;
+
1088  using factorization::internal::computeTFactor;
+
1089 
+
1090  namespace ex = pika::execution::experimental;
+
1091 
+
1092  // Note:
+
1093  // This is a temporary workaround.
+
1094  // See issue https://github.com/eth-cscs/DLA-Future/issues/729
+
1095  pika::wait();
+
1096 
+
1097  common::Pipeline<comm::Communicator> mpi_col_chain_panel(grid.colCommunicator().clone());
+
1098  common::Pipeline<comm::Communicator> mpi_row_chain(grid.rowCommunicator().clone());
+
1099  common::Pipeline<comm::Communicator> mpi_col_chain(grid.colCommunicator().clone());
1100 
-
1101  // Note:
-
1102  // Reflector of size = 1 is not considered whatever T is (i.e. neither real nor complex)
-
1103  const SizeType nrefls = std::max<SizeType>(0, dist.size().rows() - band_size - 1);
-
1104 
-
1105  // Row-vector that is distributed over columns, but exists locally on all rows of the grid
-
1106  DLAF_ASSERT(mat_a.blockSize().cols() % band_size == 0, mat_a.blockSize().cols(), band_size);
-
1107  Matrix<T, Device::CPU> mat_taus(matrix::Distribution(GlobalElementSize(nrefls, 1),
-
1108  TileElementSize(mat_a.blockSize().cols(), 1),
-
1109  comm::Size2D(mat_a.commGridSize().cols(), 1),
-
1110  comm::Index2D(mat_a.rankIndex().col(), 0),
-
1111  comm::Index2D(mat_a.sourceRankIndex().col(), 0)));
-
1112 
-
1113  if (nrefls == 0)
-
1114  return mat_taus;
+
1101  const auto& dist = mat_a.distribution();
+
1102  const comm::Index2D rank = dist.rankIndex();
+
1103 
+
1104  // Note:
+
1105  // Reflector of size = 1 is not considered whatever T is (i.e. neither real nor complex)
+
1106  const SizeType nrefls = std::max<SizeType>(0, dist.size().rows() - band_size - 1);
+
1107 
+
1108  // Row-vector that is distributed over columns, but exists locally on all rows of the grid
+
1109  DLAF_ASSERT(mat_a.blockSize().cols() % band_size == 0, mat_a.blockSize().cols(), band_size);
+
1110  Matrix<T, Device::CPU> mat_taus(matrix::Distribution(GlobalElementSize(nrefls, 1),
+
1111  TileElementSize(mat_a.blockSize().cols(), 1),
+
1112  comm::Size2D(mat_a.commGridSize().cols(), 1),
+
1113  comm::Index2D(mat_a.rankIndex().col(), 0),
+
1114  comm::Index2D(mat_a.sourceRankIndex().col(), 0)));
1115 
-
1116  Matrix<T, Device::CPU> mat_taus_retiled =
-
1117  mat_taus.retiledSubPipeline(LocalTileSize(mat_a.blockSize().cols() / band_size, 1));
+
1116  if (nrefls == 0)
+
1117  return mat_taus;
1118 
-
1119  const SizeType ntiles = (nrefls - 1) / band_size + 1;
-
1120  DLAF_ASSERT(ntiles == mat_taus_retiled.nrTiles().rows(), ntiles, mat_taus_retiled.nrTiles().rows());
+
1119  Matrix<T, Device::CPU> mat_taus_retiled =
+
1120  mat_taus.retiledSubPipeline(LocalTileSize(mat_a.blockSize().cols() / band_size, 1));
1121 
-
1122  const bool is_full_band = (band_size == dist.blockSize().cols());
-
1123 
-
1124  constexpr std::size_t n_workspaces = 2;
-
1125  common::RoundRobin<matrix::Panel<Coord::Col, T, D>> panels_v(n_workspaces, dist);
-
1126  common::RoundRobin<matrix::Panel<Coord::Row, T, D, matrix::StoreTransposed::Yes>> panels_vt(
-
1127  n_workspaces, dist);
-
1128 
-
1129  common::RoundRobin<matrix::Panel<Coord::Col, T, D>> panels_w(n_workspaces, dist);
-
1130  common::RoundRobin<matrix::Panel<Coord::Row, T, D, matrix::StoreTransposed::Yes>> panels_wt(
-
1131  n_workspaces, dist);
-
1132 
-
1133  common::RoundRobin<matrix::Panel<Coord::Col, T, D>> panels_x(n_workspaces, dist);
-
1134  common::RoundRobin<matrix::Panel<Coord::Row, T, D, matrix::StoreTransposed::Yes>> panels_xt(
-
1135  n_workspaces, dist);
-
1136 
-
1137  red2band::ComputePanelHelper<B, D, T> compute_panel_helper(n_workspaces, dist);
-
1138 
-
1139  ex::unique_any_sender<> trigger_panel{ex::just()};
-
1140  for (SizeType j_sub = 0; j_sub < ntiles; ++j_sub) {
-
1141  const SizeType i_sub = j_sub + 1;
-
1142 
-
1143  const GlobalElementIndex ij_offset(i_sub * band_size, j_sub * band_size);
-
1144  const GlobalElementIndex at_offset(i_sub * band_size, (j_sub + 1) * band_size);
+
1122  const SizeType ntiles = (nrefls - 1) / band_size + 1;
+
1123  DLAF_ASSERT(ntiles == mat_taus_retiled.nrTiles().rows(), ntiles, mat_taus_retiled.nrTiles().rows());
+
1124 
+
1125  const bool is_full_band = (band_size == dist.blockSize().cols());
+
1126 
+
1127  constexpr std::size_t n_workspaces = 2;
+
1128  common::RoundRobin<matrix::Panel<Coord::Col, T, D>> panels_v(n_workspaces, dist);
+
1129  common::RoundRobin<matrix::Panel<Coord::Row, T, D, matrix::StoreTransposed::Yes>> panels_vt(
+
1130  n_workspaces, dist);
+
1131 
+
1132  common::RoundRobin<matrix::Panel<Coord::Col, T, D>> panels_w(n_workspaces, dist);
+
1133  common::RoundRobin<matrix::Panel<Coord::Row, T, D, matrix::StoreTransposed::Yes>> panels_wt(
+
1134  n_workspaces, dist);
+
1135 
+
1136  common::RoundRobin<matrix::Panel<Coord::Col, T, D>> panels_x(n_workspaces, dist);
+
1137  common::RoundRobin<matrix::Panel<Coord::Row, T, D, matrix::StoreTransposed::Yes>> panels_xt(
+
1138  n_workspaces, dist);
+
1139 
+
1140  red2band::ComputePanelHelper<B, D, T> compute_panel_helper(n_workspaces, dist);
+
1141 
+
1142  ex::unique_any_sender<> trigger_panel{ex::just()};
+
1143  for (SizeType j_sub = 0; j_sub < ntiles; ++j_sub) {
+
1144  const SizeType i_sub = j_sub + 1;
1145 
-
1146  const comm::Index2D rank_v0{
-
1147  dist.template rankGlobalElement<Coord::Row>(ij_offset.row()),
-
1148  dist.template rankGlobalElement<Coord::Col>(ij_offset.col()),
-
1149  };
-
1150 
-
1151  const bool is_panel_rank_col = rank_v0.col() == rank.col();
-
1152 
-
1153  const SizeType nrefls_tile = mat_taus_retiled.tileSize(GlobalTileIndex(j_sub, 0)).rows();
-
1154 
-
1155  if (nrefls_tile == 0)
-
1156  break;
+
1146  const GlobalElementIndex ij_offset(i_sub * band_size, j_sub * band_size);
+
1147  const GlobalElementIndex at_offset(i_sub * band_size, (j_sub + 1) * band_size);
+
1148 
+
1149  const comm::Index2D rank_v0{
+
1150  dist.template rankGlobalElement<Coord::Row>(ij_offset.row()),
+
1151  dist.template rankGlobalElement<Coord::Col>(ij_offset.col()),
+
1152  };
+
1153 
+
1154  const bool is_panel_rank_col = rank_v0.col() == rank.col();
+
1155 
+
1156  const SizeType nrefls_tile = mat_taus_retiled.tileSize(GlobalTileIndex(j_sub, 0)).rows();
1157 
-
1158  auto& v = panels_v.nextResource();
-
1159  auto& vt = panels_vt.nextResource();
+
1158  if (nrefls_tile == 0)
+
1159  break;
1160 
-
1161  v.setRangeStart(at_offset);
-
1162  vt.setRangeStart(at_offset);
+
1161  auto& v = panels_v.nextResource();
+
1162  auto& vt = panels_vt.nextResource();
1163 
-
1164  v.setWidth(nrefls_tile);
-
1165  vt.setHeight(nrefls_tile);
+
1164  v.setRangeStart(at_offset);
+
1165  vt.setRangeStart(at_offset);
1166 
-
1167  const LocalTileIndex t_idx(0, 0);
-
1168  // TODO used just by the column, maybe we can re-use a panel tile?
-
1169  // TODO or we can keep just the sh_future and allocate just inside if (is_panel_rank_col)
-
1170  matrix::Matrix<T, D> t({nrefls_tile, nrefls_tile}, dist.blockSize());
-
1171 
-
1172  // PANEL
-
1173  const matrix::SubPanelView panel_view(dist, ij_offset, band_size);
+
1167  v.setWidth(nrefls_tile);
+
1168  vt.setHeight(nrefls_tile);
+
1169 
+
1170  const LocalTileIndex t_idx(0, 0);
+
1171  // TODO used just by the column, maybe we can re-use a panel tile?
+
1172  // TODO or we can keep just the sh_future and allocate just inside if (is_panel_rank_col)
+
1173  matrix::Matrix<T, D> t({nrefls_tile, nrefls_tile}, dist.blockSize());
1174 
-
1175  if (is_panel_rank_col) {
-
1176  compute_panel_helper.call(std::move(trigger_panel), rank_v0.row(), mpi_col_chain_panel(), mat_a,
-
1177  mat_taus_retiled, j_sub, panel_view);
-
1178 
-
1179  // Note:
-
1180  // - has_reflector_head tells if this rank owns the first tile of the panel
-
1181  // - if !is_full_band it has to force copy as a workaround, otherwise in update matrix it would
-
1182  // deadlock due to tile shared between panel and trailing matrix
-
1183  red2band::local::setupReflectorPanelV<B, D, T>(rank.row() == rank_v0.row(), panel_view,
-
1184  nrefls_tile, v, mat_a, !is_full_band);
-
1185  computeTFactor<B>(v, mat_taus_retiled.read(GlobalTileIndex(j_sub, 0)), t.readwrite(t_idx),
-
1186  mpi_col_chain);
-
1187  }
-
1188 
-
1189  // PREPARATION FOR TRAILING MATRIX UPDATE
-
1190 
-
1191  // Note: if there is no trailing matrix, algorithm has finised
-
1192  if (!at_offset.isIn(mat_a.size()))
-
1193  break;
-
1194 
-
1195  const matrix::SubMatrixView trailing_matrix_view(dist, at_offset);
-
1196 
-
1197  comm::broadcast(rank_v0.col(), v, vt, mpi_row_chain, mpi_col_chain);
-
1198 
-
1199  // W = V . T
-
1200  auto& w = panels_w.nextResource();
-
1201  auto& wt = panels_wt.nextResource();
-
1202 
-
1203  w.setRangeStart(at_offset);
-
1204  wt.setRangeStart(at_offset);
+
1175  // PANEL
+
1176  const matrix::SubPanelView panel_view(dist, ij_offset, band_size);
+
1177 
+
1178  if (is_panel_rank_col) {
+
1179  compute_panel_helper.call(std::move(trigger_panel), rank_v0.row(), mpi_col_chain_panel(), mat_a,
+
1180  mat_taus_retiled, j_sub, panel_view);
+
1181 
+
1182  // Note:
+
1183  // - has_reflector_head tells if this rank owns the first tile of the panel
+
1184  // - if !is_full_band it has to force copy as a workaround, otherwise in update matrix it would
+
1185  // deadlock due to tile shared between panel and trailing matrix
+
1186  red2band::local::setupReflectorPanelV<B, D, T>(rank.row() == rank_v0.row(), panel_view,
+
1187  nrefls_tile, v, mat_a, !is_full_band);
+
1188  computeTFactor<B>(v, mat_taus_retiled.read(GlobalTileIndex(j_sub, 0)), t.readwrite(t_idx),
+
1189  mpi_col_chain);
+
1190  }
+
1191 
+
1192  // PREPARATION FOR TRAILING MATRIX UPDATE
+
1193 
+
1194  // Note: if there is no trailing matrix, algorithm has finised
+
1195  if (!at_offset.isIn(mat_a.size()))
+
1196  break;
+
1197 
+
1198  const matrix::SubMatrixView trailing_matrix_view(dist, at_offset);
+
1199 
+
1200  comm::broadcast(rank_v0.col(), v, vt, mpi_row_chain, mpi_col_chain);
+
1201 
+
1202  // W = V . T
+
1203  auto& w = panels_w.nextResource();
+
1204  auto& wt = panels_wt.nextResource();
1205 
-
1206  w.setWidth(nrefls_tile);
-
1207  wt.setHeight(nrefls_tile);
+
1206  w.setRangeStart(at_offset);
+
1207  wt.setRangeStart(at_offset);
1208 
-
1209  if (is_panel_rank_col)
-
1210  red2band::local::trmmComputeW<B, D>(w, v, t.read(t_idx));
+
1209  w.setWidth(nrefls_tile);
+
1210  wt.setHeight(nrefls_tile);
1211 
-
1212  comm::broadcast(rank_v0.col(), w, wt, mpi_row_chain, mpi_col_chain);
-
1213 
-
1214  // X = At . W
-
1215  auto& x = panels_x.nextResource();
-
1216  auto& xt = panels_xt.nextResource();
-
1217 
-
1218  x.setRangeStart(at_offset);
-
1219  xt.setRangeStart(at_offset);
+
1212  if (is_panel_rank_col)
+
1213  red2band::local::trmmComputeW<B, D>(w, v, t.read(t_idx));
+
1214 
+
1215  comm::broadcast(rank_v0.col(), w, wt, mpi_row_chain, mpi_col_chain);
+
1216 
+
1217  // X = At . W
+
1218  auto& x = panels_x.nextResource();
+
1219  auto& xt = panels_xt.nextResource();
1220 
-
1221  x.setWidth(nrefls_tile);
-
1222  xt.setHeight(nrefls_tile);
+
1221  x.setRangeStart(at_offset);
+
1222  xt.setRangeStart(at_offset);
1223 
-
1224  // Note:
-
1225  // Since At is hermitian, just the lower part is referenced.
-
1226  // When the tile is not part of the main diagonal, the same tile has to be used for two computations
-
1227  // that will contribute to two different rows of X: the ones indexed with row and col.
-
1228  // This is achieved by storing the two results in two different workspaces: X and X_conj respectively.
-
1229  //
-
1230  // On exit, x will contain a valid result just on ranks belonging to the column panel.
-
1231  // For what concerns xt, it is just used as support and it contains junk data on all ranks.
-
1232  hemmComputeX<B, D>(rank_v0.col(), x, xt, trailing_matrix_view, mat_a, w, wt, mpi_row_chain,
-
1233  mpi_col_chain);
-
1234 
-
1235  // In the next section the next two operations are performed
-
1236  // A) W2 = W* . X
-
1237  // B) X -= 1/2 . V . W2
-
1238 
-
1239  // Note:
-
1240  // Now the intermediate result for X is available on the panel column ranks,
-
1241  // which have locally all the needed stuff for updating X and finalize the result
-
1242  if (is_panel_rank_col) {
-
1243  // Note:
-
1244  // T can be re-used because it is not needed anymore in this step and it has the same shape
-
1245  matrix::Matrix<T, D> w2 = std::move(t);
-
1246 
-
1247  red2band::local::gemmComputeW2<B, D>(w2, w, x);
-
1248  ex::start_detached(comm::scheduleAllReduceInPlace(mpi_col_chain(), MPI_SUM,
-
1249  w2.readwrite(LocalTileIndex(0, 0))));
-
1250 
-
1251  red2band::local::gemmUpdateX<B, D>(x, w2, v);
-
1252  }
+
1224  x.setWidth(nrefls_tile);
+
1225  xt.setHeight(nrefls_tile);
+
1226 
+
1227  // Note:
+
1228  // Since At is hermitian, just the lower part is referenced.
+
1229  // When the tile is not part of the main diagonal, the same tile has to be used for two computations
+
1230  // that will contribute to two different rows of X: the ones indexed with row and col.
+
1231  // This is achieved by storing the two results in two different workspaces: X and X_conj respectively.
+
1232  //
+
1233  // On exit, x will contain a valid result just on ranks belonging to the column panel.
+
1234  // For what concerns xt, it is just used as support and it contains junk data on all ranks.
+
1235  hemmComputeX<B, D>(rank_v0.col(), x, xt, trailing_matrix_view, mat_a, w, wt, mpi_row_chain,
+
1236  mpi_col_chain);
+
1237 
+
1238  // In the next section the next two operations are performed
+
1239  // A) W2 = W* . X
+
1240  // B) X -= 1/2 . V . W2
+
1241 
+
1242  // Note:
+
1243  // Now the intermediate result for X is available on the panel column ranks,
+
1244  // which have locally all the needed stuff for updating X and finalize the result
+
1245  if (is_panel_rank_col) {
+
1246  // Note:
+
1247  // T can be re-used because it is not needed anymore in this step and it has the same shape
+
1248  matrix::Matrix<T, D> w2 = std::move(t);
+
1249 
+
1250  red2band::local::gemmComputeW2<B, D>(w2, w, x);
+
1251  ex::start_detached(comm::scheduleAllReduceInPlace(mpi_col_chain(), MPI_SUM,
+
1252  w2.readwrite(LocalTileIndex(0, 0))));
1253 
-
1254  // Note:
-
1255  // xt has been used previously as workspace for hemmComputeX, so it has to be reset, because now it
-
1256  // will be used for accessing the broadcasted version of x
-
1257  xt.reset();
-
1258  xt.setRangeStart(at_offset);
-
1259  xt.setHeight(nrefls_tile);
-
1260 
-
1261  comm::broadcast(rank_v0.col(), x, xt, mpi_row_chain, mpi_col_chain);
-
1262 
-
1263  // TRAILING MATRIX UPDATE
-
1264 
-
1265  // Note:
-
1266  // This trigger mechanism allows to control when the next iteration of compute panel will start.
-
1267  //
-
1268  // * What?
-
1269  // Compute panel uses MPI blocking communication that might block the only computing thread
-
1270  // available (since blocking communication are scheduled on normal queues and not on the MPI
-
1271  // dedicated one).
-
1272  //
-
1273  // * How?
-
1274  // If pika runtime has only 2 threads, one is dedicated to MPI and there is just one for
-
1275  // computation, that might get blocked by blocking MPI communication, without the chance to do
-
1276  // anything else. (TODO this might happen even with more reductions happening in parallel)
-
1277  //
-
1278  // * Why?
-
1279  // Panel computation at step i is done on the first column of the trailing matrix computed
-
1280  // at step i-1.
-
1281  // The rank owning the top-left tile of the trailing matrix, can update it as soon as it
-
1282  // receives X[0], which due to the pivot position is also the Xt[0]. Once it can go to the next
-
1283  // iteration, it ends up stucked in an MPI blocking communication, waiting for the others joining
-
1284  // before being able to advance.
-
1285  //
-
1286  // But at the same time, other ranks in the same column (needed for the next panel update), cannot
-
1287  // complete the trailing matrix update. Indeed, they are waiting for the pivot rank to communicate
-
1288  // column-wise Xt[0] (during x -> xt panel transpose broadcast), but he is not going to schedule
-
1289  // anything because the only normal thread which can do that is stuck in an MPI blocking
-
1290  // communication that is not going to advance... and so it's a DEADLOCK!
-
1291  //
-
1292  // * Solution:
-
1293  // The idea is to make the next panel depending not only on tiles stored locally, but also to
-
1294  // ensure that others have received Xt[0], which is needed to advance the computation and let
-
1295  // others arrive at the next iteration where the pivot will wait for them to complete the MPI
-
1296  // blocking communication.
-
1297  //
-
1298  // * Why is it different between MC and GPU?
-
1299  // As said above, the problem is related to the communication. But the communication is not said
-
1300  // to be an atomic operation happening in a single task. It might have to create a copy to
-
1301  // a buffer more suitable for the communication (e.g. GPU -> CPU if RDMA is not available).
-
1302  //
-
1303  // And in order to not be blocked, it must be ensured that the actual communication task has
-
1304  // been scheduled.
-
1305  const SizeType j_tile_current = ij_offset.col() / dist.blockSize().cols();
-
1306  const SizeType j_tile_next = at_offset.col() / dist.blockSize().cols();
-
1307  const bool isNextColumnOnSameRank = (j_tile_current == j_tile_next);
-
1308  const comm::IndexT_MPI rank_next_col =
-
1309  isNextColumnOnSameRank ? rank_v0.col() : (rank_v0.col() + 1) % dist.commGridSize().cols();
-
1310 
-
1311  if (rank.col() == rank_next_col) {
-
1312  const LocalTileIndex at{
-
1313  dist.template nextLocalTileFromGlobalElement<Coord::Row>(at_offset.row()),
-
1314  dist.template nextLocalTileFromGlobalElement<Coord::Col>(at_offset.col()),
-
1315  };
-
1316 
-
1317  // Note:
-
1318  // This additional communication of the last tile is a workaround for supporting following trigger
-
1319  // when b < mb.
-
1320  // Indeed, if b < mb the last column have (at least) a panel to compute, but differently from
-
1321  // other columns, broadcast transposed doesn't communicate the last tile, which is an assumption
-
1322  // needed to make the following trigger work correctly.
-
1323  const SizeType at_tile_col =
-
1324  dist.template globalTileFromGlobalElement<Coord::Col>(at_offset.col());
-
1325 
-
1326  if (at_tile_col == dist.nrTiles().cols() - 1) {
-
1327  const comm::IndexT_MPI owner = rank_v0.row();
-
1328  if (rank.row() == owner) {
-
1329  xt.setTile(at, x.read(at));
-
1330 
-
1331  if (dist.commGridSize().rows() > 1)
-
1332  ex::start_detached(comm::scheduleSendBcast(mpi_col_chain(), xt.read(at)));
-
1333  }
-
1334  else {
-
1335  if (dist.commGridSize().rows() > 1)
-
1336  ex::start_detached(comm::scheduleRecvBcast(mpi_col_chain(), owner, xt.readwrite(at)));
-
1337  }
-
1338  }
-
1339 
-
1340  if constexpr (dlaf::comm::CommunicationDevice_v<D> == D) {
-
1341  // Note:
-
1342  // if there is no need for additional buffers, we can just wait that xt[0] is ready for
-
1343  // reading.
-
1344  if (rank.row() == rank_v0.row()) {
-
1345  trigger_panel = xt.read(at) | ex::drop_value() | ex::ensure_started();
-
1346  }
-
1347  else {
-
1348  // Note:
-
1349  // Conservatively ensure that xt[0] needed for updating the first column has been
-
1350  // received. Just wait for xt because communication of x happens over rows, while the
-
1351  // pivot rank can just block rank in the same column.
-
1352  trigger_panel = xt.read(at) | ex::drop_value() | ex::ensure_started();
-
1353  }
-
1354  }
-
1355  else {
-
1356  if (rank.row() == rank_v0.row()) {
-
1357  // Note:
-
1358  // on the pivot rank, i.e. the one that would quickly go to the next panel and block, from
-
1359  // implementation we know that xt[0] is set as an external tile pointing to x[0].
-
1360  // We cannot wait on xt readwrite (because it is an external tile in a panel, that constraints
-
1361  // it to be just readable), but we can wait on its source x[0]. This has a subtle implication,
-
1362  // since we will wait not just for the communication to be complete (which is already more
-
1363  // than what needed), but we will also wait till xt[0] will be released, so after all local
-
1364  // communication and computation on the first column of the trailing matrix will be completed.
-
1365  trigger_panel = x.readwrite(at) | ex::drop_value() | ex::ensure_started();
-
1366  }
-
1367  else {
-
1368  // Note:
-
1369  // Conservatively ensure that xt[0] needed for updating the first column has been
-
1370  // received. Just wait for xt because communication of x happens over rows, while the
-
1371  // pivot rank can just block rank in the same column.
-
1372  trigger_panel = xt.read(at) | ex::drop_value() | ex::ensure_started();
-
1373  }
-
1374  }
-
1375  }
-
1376 
-
1377  // At -= X . V* + V . X*
-
1378  her2kUpdateTrailingMatrix<B>(trailing_matrix_view, mat_a, x, vt, v, xt);
+
1254  red2band::local::gemmUpdateX<B, D>(x, w2, v);
+
1255  }
+
1256 
+
1257  // Note:
+
1258  // xt has been used previously as workspace for hemmComputeX, so it has to be reset, because now it
+
1259  // will be used for accessing the broadcasted version of x
+
1260  xt.reset();
+
1261  xt.setRangeStart(at_offset);
+
1262  xt.setHeight(nrefls_tile);
+
1263 
+
1264  comm::broadcast(rank_v0.col(), x, xt, mpi_row_chain, mpi_col_chain);
+
1265 
+
1266  // TRAILING MATRIX UPDATE
+
1267 
+
1268  // Note:
+
1269  // This trigger mechanism allows to control when the next iteration of compute panel will start.
+
1270  //
+
1271  // * What?
+
1272  // Compute panel uses MPI blocking communication that might block the only computing thread
+
1273  // available (since blocking communication are scheduled on normal queues and not on the MPI
+
1274  // dedicated one).
+
1275  //
+
1276  // * How?
+
1277  // If pika runtime has only 2 threads, one is dedicated to MPI and there is just one for
+
1278  // computation, that might get blocked by blocking MPI communication, without the chance to do
+
1279  // anything else. (TODO this might happen even with more reductions happening in parallel)
+
1280  //
+
1281  // * Why?
+
1282  // Panel computation at step i is done on the first column of the trailing matrix computed
+
1283  // at step i-1.
+
1284  // The rank owning the top-left tile of the trailing matrix, can update it as soon as it
+
1285  // receives X[0], which due to the pivot position is also the Xt[0]. Once it can go to the next
+
1286  // iteration, it ends up stucked in an MPI blocking communication, waiting for the others joining
+
1287  // before being able to advance.
+
1288  //
+
1289  // But at the same time, other ranks in the same column (needed for the next panel update), cannot
+
1290  // complete the trailing matrix update. Indeed, they are waiting for the pivot rank to communicate
+
1291  // column-wise Xt[0] (during x -> xt panel transpose broadcast), but he is not going to schedule
+
1292  // anything because the only normal thread which can do that is stuck in an MPI blocking
+
1293  // communication that is not going to advance... and so it's a DEADLOCK!
+
1294  //
+
1295  // * Solution:
+
1296  // The idea is to make the next panel depending not only on tiles stored locally, but also to
+
1297  // ensure that others have received Xt[0], which is needed to advance the computation and let
+
1298  // others arrive at the next iteration where the pivot will wait for them to complete the MPI
+
1299  // blocking communication.
+
1300  //
+
1301  // * Why is it different between MC and GPU?
+
1302  // As said above, the problem is related to the communication. But the communication is not said
+
1303  // to be an atomic operation happening in a single task. It might have to create a copy to
+
1304  // a buffer more suitable for the communication (e.g. GPU -> CPU if RDMA is not available).
+
1305  //
+
1306  // And in order to not be blocked, it must be ensured that the actual communication task has
+
1307  // been scheduled.
+
1308  const SizeType j_tile_current = ij_offset.col() / dist.blockSize().cols();
+
1309  const SizeType j_tile_next = at_offset.col() / dist.blockSize().cols();
+
1310  const bool isNextColumnOnSameRank = (j_tile_current == j_tile_next);
+
1311  const comm::IndexT_MPI rank_next_col =
+
1312  isNextColumnOnSameRank ? rank_v0.col() : (rank_v0.col() + 1) % dist.commGridSize().cols();
+
1313 
+
1314  if (rank.col() == rank_next_col) {
+
1315  const LocalTileIndex at{
+
1316  dist.template nextLocalTileFromGlobalElement<Coord::Row>(at_offset.row()),
+
1317  dist.template nextLocalTileFromGlobalElement<Coord::Col>(at_offset.col()),
+
1318  };
+
1319 
+
1320  // Note:
+
1321  // This additional communication of the last tile is a workaround for supporting following trigger
+
1322  // when b < mb.
+
1323  // Indeed, if b < mb the last column have (at least) a panel to compute, but differently from
+
1324  // other columns, broadcast transposed doesn't communicate the last tile, which is an assumption
+
1325  // needed to make the following trigger work correctly.
+
1326  const SizeType at_tile_col =
+
1327  dist.template globalTileFromGlobalElement<Coord::Col>(at_offset.col());
+
1328 
+
1329  if (at_tile_col == dist.nrTiles().cols() - 1) {
+
1330  const comm::IndexT_MPI owner = rank_v0.row();
+
1331  if (rank.row() == owner) {
+
1332  xt.setTile(at, x.read(at));
+
1333 
+
1334  if (dist.commGridSize().rows() > 1)
+
1335  ex::start_detached(comm::scheduleSendBcast(mpi_col_chain(), xt.read(at)));
+
1336  }
+
1337  else {
+
1338  if (dist.commGridSize().rows() > 1)
+
1339  ex::start_detached(comm::scheduleRecvBcast(mpi_col_chain(), owner, xt.readwrite(at)));
+
1340  }
+
1341  }
+
1342 
+
1343  if constexpr (dlaf::comm::CommunicationDevice_v<D> == D) {
+
1344  // Note:
+
1345  // if there is no need for additional buffers, we can just wait that xt[0] is ready for
+
1346  // reading.
+
1347  if (rank.row() == rank_v0.row()) {
+
1348  trigger_panel = xt.read(at) | ex::drop_value() | ex::ensure_started();
+
1349  }
+
1350  else {
+
1351  // Note:
+
1352  // Conservatively ensure that xt[0] needed for updating the first column has been
+
1353  // received. Just wait for xt because communication of x happens over rows, while the
+
1354  // pivot rank can just block rank in the same column.
+
1355  trigger_panel = xt.read(at) | ex::drop_value() | ex::ensure_started();
+
1356  }
+
1357  }
+
1358  else {
+
1359  if (rank.row() == rank_v0.row()) {
+
1360  // Note:
+
1361  // on the pivot rank, i.e. the one that would quickly go to the next panel and block, from
+
1362  // implementation we know that xt[0] is set as an external tile pointing to x[0].
+
1363  // We cannot wait on xt readwrite (because it is an external tile in a panel, that constraints
+
1364  // it to be just readable), but we can wait on its source x[0]. This has a subtle implication,
+
1365  // since we will wait not just for the communication to be complete (which is already more
+
1366  // than what needed), but we will also wait till xt[0] will be released, so after all local
+
1367  // communication and computation on the first column of the trailing matrix will be completed.
+
1368  trigger_panel = x.readwrite(at) | ex::drop_value() | ex::ensure_started();
+
1369  }
+
1370  else {
+
1371  // Note:
+
1372  // Conservatively ensure that xt[0] needed for updating the first column has been
+
1373  // received. Just wait for xt because communication of x happens over rows, while the
+
1374  // pivot rank can just block rank in the same column.
+
1375  trigger_panel = xt.read(at) | ex::drop_value() | ex::ensure_started();
+
1376  }
+
1377  }
+
1378  }
1379 
-
1380  xt.reset();
-
1381  x.reset();
-
1382  wt.reset();
-
1383  w.reset();
-
1384  vt.reset();
-
1385  v.reset();
-
1386  }
-
1387 
-
1388  return mat_taus;
-
1389 }
-
1390 }
+
1380  // At -= X . V* + V . X*
+
1381  her2kUpdateTrailingMatrix<B>(trailing_matrix_view, mat_a, x, vt, v, xt);
+
1382 
+
1383  xt.reset();
+
1384  x.reset();
+
1385  wt.reset();
+
1386  w.reset();
+
1387  vt.reset();
+
1388  v.reset();
+
1389  }
+
1390 
+
1391  return mat_taus;
+
1392 }
+
1393 }
tile.h
broadcast_panel.h
dlaf::common::Index2D< IndexT_MPI, TAG_MPI >
@@ -1493,7 +1496,7 @@
single_threaded_blas.h
dlaf::common::RoundRobin
Definition: round_robin.h:20
dlaf::eigensolver::internal::ReductionToBand
Definition: api.h:21
-
dlaf::eigensolver::internal::red2band::ComputePanelHelper
Definition: impl.h:826
+
dlaf::eigensolver::internal::red2band::ComputePanelHelper
Definition: impl.h:829
dlaf::matrix::Panel
Definition: panel.h:552
dlaf::matrix::Panel::readwrite
ReadWriteSenderType readwrite(LocalTileIndex index)
Definition: panel.h:570
dlaf::matrix::SubPanelView
Definition: views.h:132
diff --git a/master/search/all_12.js b/master/search/all_12.js index 7d8040c13d..36daee3388 100644 --- a/master/search/all_12.js +++ b/master/search/all_12.js @@ -25,49 +25,50 @@ var searchData= ['set0_440',['set0',['../util__matrix_8h.html#a6cdf6afc18a6456ed68b3fd1dffa9c39',1,'dlaf::matrix::util::set0(pika::execution::thread_priority priority, LocalTileIndex begin, LocalTileSize sz, Matrix< T, D > &matrix)'],['../util__matrix_8h.html#a79688b3669b67c143114cf2eef3ba69b',1,'dlaf::matrix::util::set0(pika::execution::thread_priority priority, Panel< axis, T, D, storage > &panel)'],['../lapack_2tile_8h.html#ab094eeac6052422b50a298b42a947251',1,'dlaf::tile::set0()']]], ['set_5frandom_441',['set_random',['../util__matrix_8h.html#a8e8c0d0551fbda5968d6c84eb3c70fc0',1,'dlaf::matrix::util']]], ['set_5frandom_5fhermitian_442',['set_random_hermitian',['../util__matrix_8h.html#a3f7866203ad62c615d11ca18af4d4476',1,'dlaf::matrix::util']]], - ['set_5frandom_5fhermitian_5fpositive_5fdefinite_443',['set_random_hermitian_positive_definite',['../util__matrix_8h.html#ae2afbf7cdec8225e544b7b71aa52ee58',1,'dlaf::matrix::util']]], - ['set_5frandom_5fhermitian_5fwith_5foffset_444',['set_random_hermitian_with_offset',['../util__matrix_8h.html#a2f1823d0004b53105c4d4b7373208133',1,'dlaf::matrix::util::internal']]], - ['setheight_445',['setHeight',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a5ffd11dcc29ca2731c0cf232cb599d8e',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['setrange_446',['setRange',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a88f387bed0a5cf8dabd5f6c5b3d2c3b0',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['setrangeend_447',['setRangeEnd',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a542319871ee2379e84651d7dd91f0749',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['setrangestart_448',['setRangeStart',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a621d6ffd26cb962792c4087159df2769',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['settile_449',['setTile',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#aa9c0ce49a7829488736d99011c5ac6c9',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['setupinternalmatrix_450',['setupInternalMatrix',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a11f5026c35f76adb7c99c725dc969c44',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['setwidth_451',['setWidth',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a74e5d5d87edfb1d2de8a54cfa812bd04',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['sharereadwritetile_452',['shareReadWriteTile',['../matrix_2tile_8h.html#aa8e4a64946c725cef06834fb80b75276',1,'dlaf::matrix']]], - ['single_5fthreaded_5fblas_2eh_453',['single_threaded_blas.h',['../single__threaded__blas_8h.html',1,'']]], - ['single_5ftile_5fper_5fblock_454',['single_tile_per_block',['../util__matrix_8h.html#a4e47364118c7bc9bb3d038ae4ec8a35c',1,'dlaf::matrix']]], - ['singlethreadedblasscope_455',['SingleThreadedBlasScope',['../classdlaf_1_1common_1_1internal_1_1_single_threaded_blas_scope.html',1,'dlaf::common::internal']]], - ['size_456',['size',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a7ef713ad7d24caccfc0863ab4b8481f2',1,'dlaf::matrix::Tile< const T, D >::size()'],['../classdlaf_1_1comm_1_1_communicator.html#a415f5d36c3033320074df329163c3127',1,'dlaf::comm::Communicator::size()'],['../classdlaf_1_1comm_1_1_communicator_grid.html#a9307e8d79bffad58211c317c92c7dc77',1,'dlaf::comm::CommunicatorGrid::size()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#adc5a25970dab7cdea07e2f98328df805',1,'dlaf::matrix::internal::MatrixBase::size()'],['../classdlaf_1_1memory_1_1_memory_chunk.html#a886c87812f0a8eb9071c70477ac9f042',1,'dlaf::memory::MemoryChunk::size()'],['../classdlaf_1_1memory_1_1_memory_view.html#a5ae9491601035e4f2fd87352916f84c2',1,'dlaf::memory::MemoryView::size()']]], - ['size2d_457',['Size2D',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common::Size2D< IndexT, Tag >'],['../communicator__grid_8h.html#a1af44f2ea119a10f873e64cf048ba94a',1,'dlaf::comm::Size2D()']]], - ['size2d_3c_20indext_5fmpi_2c_20tag_5fmpi_20_3e_458',['Size2D< IndexT_MPI, TAG_MPI >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20sizetype_2c_20matrix_3a_3aglobalelement_5ftag_20_3e_459',['Size2D< SizeType, matrix::GlobalElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20sizetype_2c_20matrix_3a_3aglobaltile_5ftag_20_3e_460',['Size2D< SizeType, matrix::GlobalTile_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20sizetype_2c_20matrix_3a_3alocalelement_5ftag_20_3e_461',['Size2D< SizeType, matrix::LocalElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20sizetype_2c_20matrix_3a_3alocaltile_5ftag_20_3e_462',['Size2D< SizeType, matrix::LocalTile_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20sizetype_2c_20matrix_3a_3atileelement_5ftag_20_3e_463',['Size2D< SizeType, matrix::TileElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['solver_2eh_464',['solver.h',['../solver_8h.html',1,'']]], - ['source_5flocation_465',['source_location',['../structdlaf_1_1common_1_1internal_1_1source__location.html',1,'dlaf::common::internal']]], - ['source_5flocation_466',['SOURCE_LOCATION',['../source__location_8h.html#aa6e6fc9684bd84ce7b72da6a2eef668f',1,'source_location.h']]], - ['source_5flocation_2eh_467',['source_location.h',['../source__location_8h.html',1,'']]], - ['splittile_468',['splitTile',['../matrix_2tile_8h.html#ae46de76ccc35985387f6820b1db9fb51',1,'dlaf::matrix::splitTile(ReadOnlyTileSender< T, D > tile, const SubTileSpec &spec)'],['../matrix_2tile_8h.html#a7a2383f364417fce38d6e7038cb18bd1',1,'dlaf::matrix::splitTile(ReadOnlyTileSender< T, D > tile, const std::vector< SubTileSpec > &specs)'],['../matrix_2tile_8h.html#ae5697bd5c424a95890978dfdc4739bf6',1,'dlaf::matrix::splitTile(ReadWriteTileSender< T, D > &&tile, const SubTileSpec &spec)']]], - ['splittiledisjoint_469',['splitTileDisjoint',['../matrix_2tile_8h.html#a4c15e2e57d6336347e6e19d945bd650e',1,'dlaf::matrix']]], - ['square_5fblocksize_470',['square_blocksize',['../util__matrix_8h.html#a355682eaf279129f2aa06c8e96eaa61b',1,'dlaf::matrix']]], - ['square_5fsize_471',['square_size',['../util__tile_8h.html#adfd1e0b37d590f9f6b56cdb276688f0f',1,'dlaf::tile::square_size()'],['../util__matrix_8h.html#aae6464887dae32e01668a32e71397cb0',1,'dlaf::matrix::square_size()']]], - ['start_5f_472',['start_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#ac49583acc02b6ba394d9b4e3b7450e53',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['start_5foffset_5f_473',['start_offset_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a8603ffce77527952a466a9630d98cd5c',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['stedc_474',['stedc',['../lapack_2tile_8h.html#a68163899b7b15f447fdbb05e475d9cc6',1,'dlaf::tile']]], - ['stride_475',['stride',['../structdlaf_1_1common_1_1_data_descriptor.html#ab4c4694a381e4cfb44d304cf150743f9',1,'dlaf::common::DataDescriptor']]], - ['subdistributionspec_476',['SubDistributionSpec',['../structdlaf_1_1matrix_1_1_sub_distribution_spec.html',1,'dlaf::matrix']]], - ['submatrixspec_477',['SubMatrixSpec',['../matrix__ref_8h.html#a4806acd75bd31c5913a7c20b49da1e62',1,'dlaf::matrix::internal']]], - ['submatrixview_478',['SubMatrixView',['../structdlaf_1_1matrix_1_1_sub_matrix_view.html',1,'dlaf::matrix::SubMatrixView'],['../structdlaf_1_1matrix_1_1_sub_matrix_view.html#a7c7cde76a018f82ab23c749de90fe46d',1,'dlaf::matrix::SubMatrixView::SubMatrixView()']]], - ['subpanelview_479',['SubPanelView',['../structdlaf_1_1matrix_1_1_sub_panel_view.html',1,'dlaf::matrix::SubPanelView'],['../structdlaf_1_1matrix_1_1_sub_panel_view.html#a556b70975f5928ca81f2196d549be232',1,'dlaf::matrix::SubPanelView::SubPanelView()']]], - ['subpipeline_480',['subPipeline',['../classdlaf_1_1matrix_1_1_matrix.html#a720bcfeb6db4c2f2d6e144f8570b8e23',1,'dlaf::matrix::Matrix']]], - ['subpipelineconst_481',['subPipelineConst',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#aa00bb4dd8e50ec14ad04c8d600982d8c',1,'dlaf::matrix::Matrix< const T, D >']]], - ['subpipelinetag_482',['SubPipelineTag',['../structdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4_1_1_sub_pipeline_tag.html',1,'dlaf::matrix::Matrix< const T, D >']]], - ['subtilereference_483',['subTileReference',['../classdlaf_1_1matrix_1_1_tile.html#a670161e49f6a18b5979e9938e4e7e867',1,'dlaf::matrix::Tile::subTileReference()'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a4adf525073d06baaa47b06886272da41',1,'dlaf::matrix::Tile< const T, D >::subTileReference()']]], - ['subtilespec_484',['SubTileSpec',['../structdlaf_1_1matrix_1_1_sub_tile_spec.html',1,'dlaf::matrix']]], - ['sum_485',['sum',['../util__math_8h.html#afa826e9affbc0fc9e9dbe24d233a9ffb',1,'dlaf::util::size_t::sum()'],['../util__math_8h.html#ae1dbf257cc807e5bdba5a63087e3a2bc',1,'dlaf::util::ptrdiff_t::sum()']]], - ['sweepworker_486',['SweepWorker',['../classdlaf_1_1eigensolver_1_1internal_1_1_sweep_worker.html',1,'dlaf::eigensolver::internal']]], - ['sweepworkerdist_487',['SweepWorkerDist',['../classdlaf_1_1eigensolver_1_1internal_1_1_sweep_worker_dist.html',1,'dlaf::eigensolver::internal']]] + ['set_5frandom_5fhermitian_5fbanded_443',['set_random_hermitian_banded',['../util__matrix_8h.html#a33e83c042118c6da34d15ee21202ce79',1,'dlaf::matrix::util']]], + ['set_5frandom_5fhermitian_5fpositive_5fdefinite_444',['set_random_hermitian_positive_definite',['../util__matrix_8h.html#ae2afbf7cdec8225e544b7b71aa52ee58',1,'dlaf::matrix::util']]], + ['set_5frandom_5fhermitian_5fwith_5foffset_445',['set_random_hermitian_with_offset',['../util__matrix_8h.html#a5f65c6eb2c9e4c3e830a0e5dcf1ef287',1,'dlaf::matrix::util::internal']]], + ['setheight_446',['setHeight',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a5ffd11dcc29ca2731c0cf232cb599d8e',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['setrange_447',['setRange',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a88f387bed0a5cf8dabd5f6c5b3d2c3b0',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['setrangeend_448',['setRangeEnd',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a542319871ee2379e84651d7dd91f0749',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['setrangestart_449',['setRangeStart',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a621d6ffd26cb962792c4087159df2769',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['settile_450',['setTile',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#aa9c0ce49a7829488736d99011c5ac6c9',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['setupinternalmatrix_451',['setupInternalMatrix',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a11f5026c35f76adb7c99c725dc969c44',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['setwidth_452',['setWidth',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a74e5d5d87edfb1d2de8a54cfa812bd04',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['sharereadwritetile_453',['shareReadWriteTile',['../matrix_2tile_8h.html#aa8e4a64946c725cef06834fb80b75276',1,'dlaf::matrix']]], + ['single_5fthreaded_5fblas_2eh_454',['single_threaded_blas.h',['../single__threaded__blas_8h.html',1,'']]], + ['single_5ftile_5fper_5fblock_455',['single_tile_per_block',['../util__matrix_8h.html#a4e47364118c7bc9bb3d038ae4ec8a35c',1,'dlaf::matrix']]], + ['singlethreadedblasscope_456',['SingleThreadedBlasScope',['../classdlaf_1_1common_1_1internal_1_1_single_threaded_blas_scope.html',1,'dlaf::common::internal']]], + ['size_457',['size',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a7ef713ad7d24caccfc0863ab4b8481f2',1,'dlaf::matrix::Tile< const T, D >::size()'],['../classdlaf_1_1comm_1_1_communicator.html#a415f5d36c3033320074df329163c3127',1,'dlaf::comm::Communicator::size()'],['../classdlaf_1_1comm_1_1_communicator_grid.html#a9307e8d79bffad58211c317c92c7dc77',1,'dlaf::comm::CommunicatorGrid::size()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#adc5a25970dab7cdea07e2f98328df805',1,'dlaf::matrix::internal::MatrixBase::size()'],['../classdlaf_1_1memory_1_1_memory_chunk.html#a886c87812f0a8eb9071c70477ac9f042',1,'dlaf::memory::MemoryChunk::size()'],['../classdlaf_1_1memory_1_1_memory_view.html#a5ae9491601035e4f2fd87352916f84c2',1,'dlaf::memory::MemoryView::size()']]], + ['size2d_458',['Size2D',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common::Size2D< IndexT, Tag >'],['../communicator__grid_8h.html#a1af44f2ea119a10f873e64cf048ba94a',1,'dlaf::comm::Size2D()']]], + ['size2d_3c_20indext_5fmpi_2c_20tag_5fmpi_20_3e_459',['Size2D< IndexT_MPI, TAG_MPI >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20sizetype_2c_20matrix_3a_3aglobalelement_5ftag_20_3e_460',['Size2D< SizeType, matrix::GlobalElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20sizetype_2c_20matrix_3a_3aglobaltile_5ftag_20_3e_461',['Size2D< SizeType, matrix::GlobalTile_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20sizetype_2c_20matrix_3a_3alocalelement_5ftag_20_3e_462',['Size2D< SizeType, matrix::LocalElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20sizetype_2c_20matrix_3a_3alocaltile_5ftag_20_3e_463',['Size2D< SizeType, matrix::LocalTile_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20sizetype_2c_20matrix_3a_3atileelement_5ftag_20_3e_464',['Size2D< SizeType, matrix::TileElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['solver_2eh_465',['solver.h',['../solver_8h.html',1,'']]], + ['source_5flocation_466',['source_location',['../structdlaf_1_1common_1_1internal_1_1source__location.html',1,'dlaf::common::internal']]], + ['source_5flocation_467',['SOURCE_LOCATION',['../source__location_8h.html#aa6e6fc9684bd84ce7b72da6a2eef668f',1,'source_location.h']]], + ['source_5flocation_2eh_468',['source_location.h',['../source__location_8h.html',1,'']]], + ['splittile_469',['splitTile',['../matrix_2tile_8h.html#ae46de76ccc35985387f6820b1db9fb51',1,'dlaf::matrix::splitTile(ReadOnlyTileSender< T, D > tile, const SubTileSpec &spec)'],['../matrix_2tile_8h.html#a7a2383f364417fce38d6e7038cb18bd1',1,'dlaf::matrix::splitTile(ReadOnlyTileSender< T, D > tile, const std::vector< SubTileSpec > &specs)'],['../matrix_2tile_8h.html#ae5697bd5c424a95890978dfdc4739bf6',1,'dlaf::matrix::splitTile(ReadWriteTileSender< T, D > &&tile, const SubTileSpec &spec)']]], + ['splittiledisjoint_470',['splitTileDisjoint',['../matrix_2tile_8h.html#a4c15e2e57d6336347e6e19d945bd650e',1,'dlaf::matrix']]], + ['square_5fblocksize_471',['square_blocksize',['../util__matrix_8h.html#a355682eaf279129f2aa06c8e96eaa61b',1,'dlaf::matrix']]], + ['square_5fsize_472',['square_size',['../util__tile_8h.html#adfd1e0b37d590f9f6b56cdb276688f0f',1,'dlaf::tile::square_size()'],['../util__matrix_8h.html#aae6464887dae32e01668a32e71397cb0',1,'dlaf::matrix::square_size()']]], + ['start_5f_473',['start_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#ac49583acc02b6ba394d9b4e3b7450e53',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['start_5foffset_5f_474',['start_offset_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a8603ffce77527952a466a9630d98cd5c',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['stedc_475',['stedc',['../lapack_2tile_8h.html#a68163899b7b15f447fdbb05e475d9cc6',1,'dlaf::tile']]], + ['stride_476',['stride',['../structdlaf_1_1common_1_1_data_descriptor.html#ab4c4694a381e4cfb44d304cf150743f9',1,'dlaf::common::DataDescriptor']]], + ['subdistributionspec_477',['SubDistributionSpec',['../structdlaf_1_1matrix_1_1_sub_distribution_spec.html',1,'dlaf::matrix']]], + ['submatrixspec_478',['SubMatrixSpec',['../matrix__ref_8h.html#a4806acd75bd31c5913a7c20b49da1e62',1,'dlaf::matrix::internal']]], + ['submatrixview_479',['SubMatrixView',['../structdlaf_1_1matrix_1_1_sub_matrix_view.html',1,'dlaf::matrix::SubMatrixView'],['../structdlaf_1_1matrix_1_1_sub_matrix_view.html#a7c7cde76a018f82ab23c749de90fe46d',1,'dlaf::matrix::SubMatrixView::SubMatrixView()']]], + ['subpanelview_480',['SubPanelView',['../structdlaf_1_1matrix_1_1_sub_panel_view.html',1,'dlaf::matrix::SubPanelView'],['../structdlaf_1_1matrix_1_1_sub_panel_view.html#a556b70975f5928ca81f2196d549be232',1,'dlaf::matrix::SubPanelView::SubPanelView()']]], + ['subpipeline_481',['subPipeline',['../classdlaf_1_1matrix_1_1_matrix.html#a720bcfeb6db4c2f2d6e144f8570b8e23',1,'dlaf::matrix::Matrix']]], + ['subpipelineconst_482',['subPipelineConst',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#aa00bb4dd8e50ec14ad04c8d600982d8c',1,'dlaf::matrix::Matrix< const T, D >']]], + ['subpipelinetag_483',['SubPipelineTag',['../structdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4_1_1_sub_pipeline_tag.html',1,'dlaf::matrix::Matrix< const T, D >']]], + ['subtilereference_484',['subTileReference',['../classdlaf_1_1matrix_1_1_tile.html#a670161e49f6a18b5979e9938e4e7e867',1,'dlaf::matrix::Tile::subTileReference()'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a4adf525073d06baaa47b06886272da41',1,'dlaf::matrix::Tile< const T, D >::subTileReference()']]], + ['subtilespec_485',['SubTileSpec',['../structdlaf_1_1matrix_1_1_sub_tile_spec.html',1,'dlaf::matrix']]], + ['sum_486',['sum',['../util__math_8h.html#afa826e9affbc0fc9e9dbe24d233a9ffb',1,'dlaf::util::size_t::sum()'],['../util__math_8h.html#ae1dbf257cc807e5bdba5a63087e3a2bc',1,'dlaf::util::ptrdiff_t::sum()']]], + ['sweepworker_487',['SweepWorker',['../classdlaf_1_1eigensolver_1_1internal_1_1_sweep_worker.html',1,'dlaf::eigensolver::internal']]], + ['sweepworkerdist_488',['SweepWorkerDist',['../classdlaf_1_1eigensolver_1_1internal_1_1_sweep_worker_dist.html',1,'dlaf::eigensolver::internal']]] ]; diff --git a/master/search/all_13.js b/master/search/all_13.js index 1b7675bdef..01ca2b4ea0 100644 --- a/master/search/all_13.js +++ b/master/search/all_13.js @@ -1,57 +1,57 @@ var searchData= [ - ['tile_488',['Tile',['../classdlaf_1_1matrix_1_1_tile.html',1,'dlaf::matrix::Tile< T, D >'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a38b4f570cc1ccedb8880d469d353414e',1,'dlaf::matrix::Tile< const T, D >::Tile()=default'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a73f2bfb1856011bce752fca6582ba584',1,'dlaf::matrix::Tile< const T, D >::Tile(const TileElementSize &size, memory::MemoryView< ElementType, D > &&memory_view, SizeType ld) noexcept'],['../classdlaf_1_1matrix_1_1_tile.html#af4bddf624138747a5089071f1f57eee4',1,'dlaf::matrix::Tile::Tile()=default'],['../classdlaf_1_1matrix_1_1_tile.html#a4c7d7a75afcd2cc6911b40643f4f095f',1,'dlaf::matrix::Tile::Tile(const TileElementSize &size, memory::MemoryView< ElementType, D > &&memory_view, SizeType ld) noexcept']]], - ['tile_2eh_489',['tile.h',['../lapack_2tile_8h.html',1,'(Global Namespace)'],['../blas_2tile_8h.html',1,'(Global Namespace)'],['../matrix_2tile_8h.html',1,'(Global Namespace)']]], - ['tile_3c_20const_20t_2c_20d_20_3e_490',['Tile< const T, D >',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html',1,'dlaf::matrix']]], - ['tile_5fextensions_2eh_491',['tile_extensions.h',['../tile__extensions_8h.html',1,'']]], - ['tileaccesshelper_492',['TileAccessHelper',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_tile_access_helper.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], - ['tilecollector_493',['TileCollector',['../classdlaf_1_1eigensolver_1_1internal_1_1_tile_collector.html',1,'dlaf::eigensolver::internal']]], - ['tiledata_494',['TileData',['../classdlaf_1_1matrix_1_1internal_1_1_tile_data.html',1,'dlaf::matrix::internal']]], - ['tileelementfromelement_495',['tileElementFromElement',['../util__distribution_8h.html#a77c1788e03f30e7d9511a7e90a89a494',1,'dlaf::util::matrix']]], - ['tileelementfromglobalelement_496',['tileElementFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#afe2b66a02c3a1a78bfac1bb2f20f2864',1,'dlaf::matrix::Distribution']]], - ['tileelementindex_497',['tileElementIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a71ad776a93750b9c6d1ebfa2d36e28db',1,'dlaf::matrix::Distribution']]], - ['tileelementoffsetfromsubdistribution_498',['tileElementOffsetFromSubDistribution',['../classdlaf_1_1matrix_1_1_distribution.html#a3a7dbaaf24fe56d7ba8e74d0fb7dc01b',1,'dlaf::matrix::Distribution']]], - ['tilefromelement_499',['tileFromElement',['../util__distribution_8h.html#a8876d879740e8f24112ca972961e11c7',1,'dlaf::util::matrix']]], - ['tilelayout_500',['tileLayout',['../layout__info_8h.html#a94ba1a30c8eef4798f864ae119c77113',1,'dlaf::matrix::tileLayout(const LocalElementSize &size, const TileElementSize &block_size, SizeType ld_tile, SizeType tiles_per_col)'],['../layout__info_8h.html#a970afb0f1a7abc87e507e6c4d35f442a',1,'dlaf::matrix::tileLayout(const matrix::Distribution &distribution, SizeType ld_tile, SizeType tiles_per_col)'],['../layout__info_8h.html#a254e1e0948e647642b0f2615aeaa0ea2',1,'dlaf::matrix::tileLayout(const LocalElementSize &size, const TileElementSize &block_size)'],['../layout__info_8h.html#a873adaaaa2e661caed98af371fbb1943',1,'dlaf::matrix::tileLayout(const matrix::Distribution &distribution)']]], - ['tilelinearindex_501',['tileLinearIndex',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a5cdaa0376724e6f624591a6a6bcf46d9',1,'dlaf::matrix::internal::MatrixBase']]], - ['tileoffset_502',['tileOffset',['../classdlaf_1_1matrix_1_1_layout_info.html#ad03e1291efd2ed416ace133a24a30ac4',1,'dlaf::matrix::LayoutInfo']]], - ['tilepipeline_503',['TilePipeline',['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html',1,'dlaf::matrix::internal']]], - ['tilesize_504',['tileSize',['../classdlaf_1_1matrix_1_1_distribution.html#a4cec137b1316902f68b63148d282be62',1,'dlaf::matrix::Distribution::tileSize()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a891c1da69cefcfdfb73b3915ccc2cce5',1,'dlaf::matrix::internal::MatrixBase::tileSize()'],['../classdlaf_1_1matrix_1_1_layout_info.html#a62e3619b9016e9c827c120fce629d08e',1,'dlaf::matrix::LayoutInfo::tileSize()']]], - ['tilesizefromglobalelement_505',['tileSizeFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#a3dd77d459960a11b56fc1e7fb27932f7',1,'dlaf::matrix::Distribution']]], - ['timer_506',['Timer',['../classdlaf_1_1common_1_1_timer.html',1,'dlaf::common']]], - ['timer_2eh_507',['timer.h',['../timer_8h.html',1,'']]], - ['to_5fint_508',['to_int',['../types_8h.html#af90e7fd5acadf5987b7199b0bd44deea',1,'dlaf']]], - ['to_5fsigned_509',['to_signed',['../types_8h.html#aa39d2d6e54b007c18e1c57ff380c73cd',1,'dlaf::to_signed(const U unsigned_value)'],['../types_8h.html#a2246feaf3c49f3f3ae5928082363f7d3',1,'dlaf::to_signed(const SB value)']]], - ['to_5fsizet_510',['to_sizet',['../types_8h.html#a25d16ff6621f011d9a98be3d9ebf29f1',1,'dlaf']]], - ['to_5fsizetype_511',['to_SizeType',['../types_8h.html#ab1f0edc8e1281293c9c1325cb9d4bec9',1,'dlaf']]], - ['to_5fuint_512',['to_uint',['../types_8h.html#a4543febf91f08c23fd8a6eeca8f49d82',1,'dlaf']]], - ['to_5funsigned_513',['to_unsigned',['../types_8h.html#afeb5db746331f9ca3a669373e1af84ba',1,'dlaf::to_unsigned(const S signed_value)'],['../types_8h.html#ae9973646cf4ce493ed1831a5bdbf7500',1,'dlaf::to_unsigned(const UB unsigned_value)']]], - ['total_5fops_514',['total_ops',['../types_8h.html#a831d9cfa2a32641121185df5d9d70cdc',1,'dlaf']]], - ['traits_2eh_515',['traits.h',['../traits_8h.html',1,'']]], - ['transformpack_516',['TransformPack',['../structdlaf_1_1internal_1_1_transform_pack.html',1,'dlaf::internal']]], - ['transformpack_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20transformer_20_3e_517',['TransformPack< Pack< Ts... >, Transformer >',['../structdlaf_1_1internal_1_1_transform_pack_3_01_pack_3_01_ts_8_8_8_01_4_00_01_transformer_01_4.html',1,'dlaf::internal']]], - ['transpose_518',['transpose',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a98f8b3b0cd7b4c1fa62b40b9de0041bb',1,'dlaf::common::internal::basic_coords']]], - ['transposed_519',['transposed',['../index2d_8h.html#a024753ac73fbefa174548c575327862b',1,'dlaf::common']]], - ['triangular_520',['Triangular',['../structdlaf_1_1multiplication_1_1internal_1_1_triangular.html',1,'dlaf::multiplication::internal::Triangular< backend, device, T >'],['../structdlaf_1_1solver_1_1internal_1_1_triangular.html',1,'dlaf::solver::internal::Triangular< backend, device, T >']]], - ['triangular_2eh_521',['triangular.h',['../solver_2triangular_8h.html',1,'(Global Namespace)'],['../multiplication_2triangular_8h.html',1,'(Global Namespace)']]], - ['triangular_5fmultiplication_522',['triangular_multiplication',['../multiplication_2triangular_8h.html#af467c3e497156c9595e7b04d7ca60da4',1,'dlaf::triangular_multiplication(blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)'],['../multiplication_2triangular_8h.html#af6c1fdcbc36640b652d33af8e8a94534',1,'dlaf::triangular_multiplication(comm::CommunicatorGrid grid, blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)']]], - ['triangular_5fsolver_523',['triangular_solver',['../solver_2triangular_8h.html#ad0178e1f84caaeb244febc305705060d',1,'dlaf::triangular_solver(blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)'],['../solver_2triangular_8h.html#a171abbb15a7cfff61c9ba4f7f7dbed9f',1,'dlaf::triangular_solver(comm::CommunicatorGrid grid, blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)']]], - ['tridiag_5fsolver_2eh_524',['tridiag_solver.h',['../tridiag__solver_8h.html',1,'']]], - ['tridiagonal_5feigensolver_525',['tridiagonal_eigensolver',['../tridiag__solver_8h.html#af5ddcff86d6f4a5b727f48987c17a2c9',1,'dlaf::eigensolver::internal::tridiagonal_eigensolver(Matrix< BaseType< T >, Device::CPU > &tridiag, Matrix< BaseType< T >, device > &evals, Matrix< T, device > &evecs)'],['../tridiag__solver_8h.html#ab18e652b7cf9e159b1d69a8a5d017306',1,'dlaf::eigensolver::internal::tridiagonal_eigensolver(comm::CommunicatorGrid grid, Matrix< BaseType< T >, Device::CPU > &tridiag, Matrix< BaseType< T >, D > &evals, Matrix< T, D > &evecs)']]], - ['tridiagresult_526',['TridiagResult',['../structdlaf_1_1eigensolver_1_1internal_1_1_tridiag_result.html',1,'dlaf::eigensolver::internal']]], - ['tridiagsolver_527',['TridiagSolver',['../structdlaf_1_1eigensolver_1_1internal_1_1_tridiag_solver.html',1,'dlaf::eigensolver::internal']]], - ['trmm_528',['trmm',['../blas_2tile_8h.html#a61397e6748a24f13ee6ad7f23e5339f7',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< T, D > &b)'],['../blas_2tile_8h.html#a185aa2ac627de6e9e393240cda2b5f4c',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a383ebe00fbfd1f328dd0378b8aa42b89',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &p)']]], - ['trmm3_529',['trmm3',['../blas_2tile_8h.html#aebff48d52916dafd14479dc3b1e04e8e',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< const T, D > &b, const Tile< T, D > &c)'],['../blas_2tile_8h.html#a0cdf7b22f8a310978252ff7a0c456b98',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a9906093b08eefa0a5341b140ce6100a3',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &p)']]], - ['trmmsizes_530',['trmmSizes',['../structdlaf_1_1tile_1_1internal_1_1trmm_sizes.html',1,'dlaf::tile::internal']]], - ['trsm_531',['trsm',['../blas_2tile_8h.html#a2fe48f2d3a3a7515a99805d135c5b2ce',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< T, D > &b)'],['../blas_2tile_8h.html#a1b11d671c920bf9dce76092e6d1aaa8c',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a23eb607d942637d4e14331a2f0f253f7',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &p)']]], - ['trsmsizes_532',['trsmSizes',['../structdlaf_1_1tile_1_1internal_1_1trsm_sizes.html',1,'dlaf::tile::internal']]], - ['tune_2eh_533',['tune.h',['../tune_8h.html',1,'']]], - ['tuneparameters_534',['TuneParameters',['../structdlaf_1_1_tune_parameters.html',1,'dlaf']]], - ['type_5fhandler_535',['type_handler',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html',1,'dlaf::comm::internal::type_handler< T >'],['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#aa9eebfb39b8aabe2344f61a7bf26ee40',1,'dlaf::comm::internal::type_handler::type_handler(SizeType nblocks, SizeType block_size, SizeType stride)'],['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#aa71d40004e1c645161b1d00b511ad9ee',1,'dlaf::comm::internal::type_handler::type_handler() noexcept=default']]], - ['type_5fhandler_2eh_536',['type_handler.h',['../type__handler_8h.html',1,'']]], - ['typeinfo_537',['TypeInfo',['../structdlaf_1_1_type_info.html',1,'dlaf']]], - ['typeinfo_3c_20const_20t_20_3e_538',['TypeInfo< const T >',['../structdlaf_1_1_type_info_3_01const_01_t_01_4.html',1,'dlaf']]], - ['typeinfo_3c_20std_3a_3acomplex_3c_20t_20_3e_20_3e_539',['TypeInfo< std::complex< T > >',['../structdlaf_1_1_type_info_3_01std_1_1complex_3_01_t_01_4_01_4.html',1,'dlaf']]], - ['typelist_540',['TypeList',['../structdlaf_1_1internal_1_1_type_list.html',1,'dlaf::internal']]], - ['types_2eh_541',['types.h',['../types_8h.html',1,'']]] + ['tile_489',['Tile',['../classdlaf_1_1matrix_1_1_tile.html',1,'dlaf::matrix::Tile< T, D >'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a38b4f570cc1ccedb8880d469d353414e',1,'dlaf::matrix::Tile< const T, D >::Tile()=default'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a73f2bfb1856011bce752fca6582ba584',1,'dlaf::matrix::Tile< const T, D >::Tile(const TileElementSize &size, memory::MemoryView< ElementType, D > &&memory_view, SizeType ld) noexcept'],['../classdlaf_1_1matrix_1_1_tile.html#af4bddf624138747a5089071f1f57eee4',1,'dlaf::matrix::Tile::Tile()=default'],['../classdlaf_1_1matrix_1_1_tile.html#a4c7d7a75afcd2cc6911b40643f4f095f',1,'dlaf::matrix::Tile::Tile(const TileElementSize &size, memory::MemoryView< ElementType, D > &&memory_view, SizeType ld) noexcept']]], + ['tile_2eh_490',['tile.h',['../lapack_2tile_8h.html',1,'(Global Namespace)'],['../blas_2tile_8h.html',1,'(Global Namespace)'],['../matrix_2tile_8h.html',1,'(Global Namespace)']]], + ['tile_3c_20const_20t_2c_20d_20_3e_491',['Tile< const T, D >',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html',1,'dlaf::matrix']]], + ['tile_5fextensions_2eh_492',['tile_extensions.h',['../tile__extensions_8h.html',1,'']]], + ['tileaccesshelper_493',['TileAccessHelper',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_tile_access_helper.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], + ['tilecollector_494',['TileCollector',['../classdlaf_1_1eigensolver_1_1internal_1_1_tile_collector.html',1,'dlaf::eigensolver::internal']]], + ['tiledata_495',['TileData',['../classdlaf_1_1matrix_1_1internal_1_1_tile_data.html',1,'dlaf::matrix::internal']]], + ['tileelementfromelement_496',['tileElementFromElement',['../util__distribution_8h.html#a77c1788e03f30e7d9511a7e90a89a494',1,'dlaf::util::matrix']]], + ['tileelementfromglobalelement_497',['tileElementFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#afe2b66a02c3a1a78bfac1bb2f20f2864',1,'dlaf::matrix::Distribution']]], + ['tileelementindex_498',['tileElementIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a71ad776a93750b9c6d1ebfa2d36e28db',1,'dlaf::matrix::Distribution']]], + ['tileelementoffsetfromsubdistribution_499',['tileElementOffsetFromSubDistribution',['../classdlaf_1_1matrix_1_1_distribution.html#a3a7dbaaf24fe56d7ba8e74d0fb7dc01b',1,'dlaf::matrix::Distribution']]], + ['tilefromelement_500',['tileFromElement',['../util__distribution_8h.html#a8876d879740e8f24112ca972961e11c7',1,'dlaf::util::matrix']]], + ['tilelayout_501',['tileLayout',['../layout__info_8h.html#a94ba1a30c8eef4798f864ae119c77113',1,'dlaf::matrix::tileLayout(const LocalElementSize &size, const TileElementSize &block_size, SizeType ld_tile, SizeType tiles_per_col)'],['../layout__info_8h.html#a970afb0f1a7abc87e507e6c4d35f442a',1,'dlaf::matrix::tileLayout(const matrix::Distribution &distribution, SizeType ld_tile, SizeType tiles_per_col)'],['../layout__info_8h.html#a254e1e0948e647642b0f2615aeaa0ea2',1,'dlaf::matrix::tileLayout(const LocalElementSize &size, const TileElementSize &block_size)'],['../layout__info_8h.html#a873adaaaa2e661caed98af371fbb1943',1,'dlaf::matrix::tileLayout(const matrix::Distribution &distribution)']]], + ['tilelinearindex_502',['tileLinearIndex',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a5cdaa0376724e6f624591a6a6bcf46d9',1,'dlaf::matrix::internal::MatrixBase']]], + ['tileoffset_503',['tileOffset',['../classdlaf_1_1matrix_1_1_layout_info.html#ad03e1291efd2ed416ace133a24a30ac4',1,'dlaf::matrix::LayoutInfo']]], + ['tilepipeline_504',['TilePipeline',['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html',1,'dlaf::matrix::internal']]], + ['tilesize_505',['tileSize',['../classdlaf_1_1matrix_1_1_distribution.html#a4cec137b1316902f68b63148d282be62',1,'dlaf::matrix::Distribution::tileSize()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a891c1da69cefcfdfb73b3915ccc2cce5',1,'dlaf::matrix::internal::MatrixBase::tileSize()'],['../classdlaf_1_1matrix_1_1_layout_info.html#a62e3619b9016e9c827c120fce629d08e',1,'dlaf::matrix::LayoutInfo::tileSize()']]], + ['tilesizefromglobalelement_506',['tileSizeFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#a3dd77d459960a11b56fc1e7fb27932f7',1,'dlaf::matrix::Distribution']]], + ['timer_507',['Timer',['../classdlaf_1_1common_1_1_timer.html',1,'dlaf::common']]], + ['timer_2eh_508',['timer.h',['../timer_8h.html',1,'']]], + ['to_5fint_509',['to_int',['../types_8h.html#af90e7fd5acadf5987b7199b0bd44deea',1,'dlaf']]], + ['to_5fsigned_510',['to_signed',['../types_8h.html#aa39d2d6e54b007c18e1c57ff380c73cd',1,'dlaf::to_signed(const U unsigned_value)'],['../types_8h.html#a2246feaf3c49f3f3ae5928082363f7d3',1,'dlaf::to_signed(const SB value)']]], + ['to_5fsizet_511',['to_sizet',['../types_8h.html#a25d16ff6621f011d9a98be3d9ebf29f1',1,'dlaf']]], + ['to_5fsizetype_512',['to_SizeType',['../types_8h.html#ab1f0edc8e1281293c9c1325cb9d4bec9',1,'dlaf']]], + ['to_5fuint_513',['to_uint',['../types_8h.html#a4543febf91f08c23fd8a6eeca8f49d82',1,'dlaf']]], + ['to_5funsigned_514',['to_unsigned',['../types_8h.html#afeb5db746331f9ca3a669373e1af84ba',1,'dlaf::to_unsigned(const S signed_value)'],['../types_8h.html#ae9973646cf4ce493ed1831a5bdbf7500',1,'dlaf::to_unsigned(const UB unsigned_value)']]], + ['total_5fops_515',['total_ops',['../types_8h.html#a831d9cfa2a32641121185df5d9d70cdc',1,'dlaf']]], + ['traits_2eh_516',['traits.h',['../traits_8h.html',1,'']]], + ['transformpack_517',['TransformPack',['../structdlaf_1_1internal_1_1_transform_pack.html',1,'dlaf::internal']]], + ['transformpack_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20transformer_20_3e_518',['TransformPack< Pack< Ts... >, Transformer >',['../structdlaf_1_1internal_1_1_transform_pack_3_01_pack_3_01_ts_8_8_8_01_4_00_01_transformer_01_4.html',1,'dlaf::internal']]], + ['transpose_519',['transpose',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a98f8b3b0cd7b4c1fa62b40b9de0041bb',1,'dlaf::common::internal::basic_coords']]], + ['transposed_520',['transposed',['../index2d_8h.html#a024753ac73fbefa174548c575327862b',1,'dlaf::common']]], + ['triangular_521',['Triangular',['../structdlaf_1_1multiplication_1_1internal_1_1_triangular.html',1,'dlaf::multiplication::internal::Triangular< backend, device, T >'],['../structdlaf_1_1solver_1_1internal_1_1_triangular.html',1,'dlaf::solver::internal::Triangular< backend, device, T >']]], + ['triangular_2eh_522',['triangular.h',['../solver_2triangular_8h.html',1,'(Global Namespace)'],['../multiplication_2triangular_8h.html',1,'(Global Namespace)']]], + ['triangular_5fmultiplication_523',['triangular_multiplication',['../multiplication_2triangular_8h.html#af467c3e497156c9595e7b04d7ca60da4',1,'dlaf::triangular_multiplication(blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)'],['../multiplication_2triangular_8h.html#af6c1fdcbc36640b652d33af8e8a94534',1,'dlaf::triangular_multiplication(comm::CommunicatorGrid grid, blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)']]], + ['triangular_5fsolver_524',['triangular_solver',['../solver_2triangular_8h.html#ad0178e1f84caaeb244febc305705060d',1,'dlaf::triangular_solver(blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)'],['../solver_2triangular_8h.html#a171abbb15a7cfff61c9ba4f7f7dbed9f',1,'dlaf::triangular_solver(comm::CommunicatorGrid grid, blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)']]], + ['tridiag_5fsolver_2eh_525',['tridiag_solver.h',['../tridiag__solver_8h.html',1,'']]], + ['tridiagonal_5feigensolver_526',['tridiagonal_eigensolver',['../tridiag__solver_8h.html#af5ddcff86d6f4a5b727f48987c17a2c9',1,'dlaf::eigensolver::internal::tridiagonal_eigensolver(Matrix< BaseType< T >, Device::CPU > &tridiag, Matrix< BaseType< T >, device > &evals, Matrix< T, device > &evecs)'],['../tridiag__solver_8h.html#ab18e652b7cf9e159b1d69a8a5d017306',1,'dlaf::eigensolver::internal::tridiagonal_eigensolver(comm::CommunicatorGrid grid, Matrix< BaseType< T >, Device::CPU > &tridiag, Matrix< BaseType< T >, D > &evals, Matrix< T, D > &evecs)']]], + ['tridiagresult_527',['TridiagResult',['../structdlaf_1_1eigensolver_1_1internal_1_1_tridiag_result.html',1,'dlaf::eigensolver::internal']]], + ['tridiagsolver_528',['TridiagSolver',['../structdlaf_1_1eigensolver_1_1internal_1_1_tridiag_solver.html',1,'dlaf::eigensolver::internal']]], + ['trmm_529',['trmm',['../blas_2tile_8h.html#a61397e6748a24f13ee6ad7f23e5339f7',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< T, D > &b)'],['../blas_2tile_8h.html#a185aa2ac627de6e9e393240cda2b5f4c',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a383ebe00fbfd1f328dd0378b8aa42b89',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &p)']]], + ['trmm3_530',['trmm3',['../blas_2tile_8h.html#aebff48d52916dafd14479dc3b1e04e8e',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< const T, D > &b, const Tile< T, D > &c)'],['../blas_2tile_8h.html#a0cdf7b22f8a310978252ff7a0c456b98',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a9906093b08eefa0a5341b140ce6100a3',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &p)']]], + ['trmmsizes_531',['trmmSizes',['../structdlaf_1_1tile_1_1internal_1_1trmm_sizes.html',1,'dlaf::tile::internal']]], + ['trsm_532',['trsm',['../blas_2tile_8h.html#a2fe48f2d3a3a7515a99805d135c5b2ce',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< T, D > &b)'],['../blas_2tile_8h.html#a1b11d671c920bf9dce76092e6d1aaa8c',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a23eb607d942637d4e14331a2f0f253f7',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &p)']]], + ['trsmsizes_533',['trsmSizes',['../structdlaf_1_1tile_1_1internal_1_1trsm_sizes.html',1,'dlaf::tile::internal']]], + ['tune_2eh_534',['tune.h',['../tune_8h.html',1,'']]], + ['tuneparameters_535',['TuneParameters',['../structdlaf_1_1_tune_parameters.html',1,'dlaf']]], + ['type_5fhandler_536',['type_handler',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html',1,'dlaf::comm::internal::type_handler< T >'],['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#aa9eebfb39b8aabe2344f61a7bf26ee40',1,'dlaf::comm::internal::type_handler::type_handler(SizeType nblocks, SizeType block_size, SizeType stride)'],['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#aa71d40004e1c645161b1d00b511ad9ee',1,'dlaf::comm::internal::type_handler::type_handler() noexcept=default']]], + ['type_5fhandler_2eh_537',['type_handler.h',['../type__handler_8h.html',1,'']]], + ['typeinfo_538',['TypeInfo',['../structdlaf_1_1_type_info.html',1,'dlaf']]], + ['typeinfo_3c_20const_20t_20_3e_539',['TypeInfo< const T >',['../structdlaf_1_1_type_info_3_01const_01_t_01_4.html',1,'dlaf']]], + ['typeinfo_3c_20std_3a_3acomplex_3c_20t_20_3e_20_3e_540',['TypeInfo< std::complex< T > >',['../structdlaf_1_1_type_info_3_01std_1_1complex_3_01_t_01_4_01_4.html',1,'dlaf']]], + ['typelist_541',['TypeList',['../structdlaf_1_1internal_1_1_type_list.html',1,'dlaf::internal']]], + ['types_2eh_542',['types.h',['../types_8h.html',1,'']]] ]; diff --git a/master/search/all_14.js b/master/search/all_14.js index 85eb8bda84..f330db72f7 100644 --- a/master/search/all_14.js +++ b/master/search/all_14.js @@ -1,28 +1,28 @@ var searchData= [ - ['unique_542',['Unique',['../structdlaf_1_1internal_1_1_unique.html',1,'dlaf::internal']]], - ['unique_3c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_543',['Unique< Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_3_01_pack_3_01_ts_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], - ['uniquehelper_544',['UniqueHelper',['../structdlaf_1_1internal_1_1_unique_helper.html',1,'dlaf::internal']]], - ['uniquehelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_20u_2c_20us_2e_2e_2e_20_3e_20_3e_545',['UniqueHelper< Pack< Ts... >, Pack< U, Us... > >',['../structdlaf_1_1internal_1_1_unique_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_01_u_00_01_us_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], - ['uniquehelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_3e_20_3e_546',['UniqueHelper< Pack< Ts... >, Pack<> >',['../structdlaf_1_1internal_1_1_unique_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_4_01_4.html',1,'dlaf::internal']]], - ['uniquehelper_3c_20pack_3c_3e_2c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_547',['UniqueHelper< Pack<>, Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_helper.html',1,'dlaf::internal']]], - ['uniquepack_548',['UniquePack',['../structdlaf_1_1internal_1_1_unique_pack.html',1,'dlaf::internal']]], - ['uniquepack_3c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_549',['UniquePack< Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_pack_3_01_pack_3_01_ts_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], - ['uniquepackhelper_550',['UniquePackHelper',['../structdlaf_1_1internal_1_1_unique_pack_helper.html',1,'dlaf::internal']]], - ['uniquepackhelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_20u_2c_20us_2e_2e_2e_20_3e_20_3e_551',['UniquePackHelper< Pack< Ts... >, Pack< U, Us... > >',['../structdlaf_1_1internal_1_1_unique_pack_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_01_u_00_01_us_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], - ['uniquepackhelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_3e_20_3e_552',['UniquePackHelper< Pack< Ts... >, Pack<> >',['../structdlaf_1_1internal_1_1_unique_pack_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_4_01_4.html',1,'dlaf::internal']]], - ['uniquepackhelper_3c_20pack_3c_3e_2c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_553',['UniquePackHelper< Pack<>, Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_pack_helper.html',1,'dlaf::internal']]], - ['unwrap_554',['unwrap',['../unwrap_8h.html#a8da70a5535ac987a8f6ca7f8b195547d',1,'dlaf::common::internal']]], - ['unwrap_2eh_555',['unwrap.h',['../unwrap_8h.html',1,'']]], - ['unwrapper_556',['Unwrapper',['../structdlaf_1_1common_1_1internal_1_1_unwrapper.html',1,'dlaf::common::internal']]], - ['unwrapper_3c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5fwrapper_3c_20t1_2c_20t2_2c_20at_20_3e_20_3e_557',['Unwrapper< pika::execution::experimental::async_rw_mutex_access_wrapper< T1, T2, at > >',['../structdlaf_1_1common_1_1internal_1_1_unwrapper_3_01pika_1_1execution_1_1experimental_1_1async__r5be7b0afcb71e6df73ebcc954d80821d.html',1,'dlaf::common::internal']]], - ['unwrapper_3c_20std_3a_3areference_5fwrapper_3c_20t_20_3e_20_3e_558',['Unwrapper< std::reference_wrapper< T > >',['../structdlaf_1_1common_1_1internal_1_1_unwrapper_3_01std_1_1reference__wrapper_3_01_t_01_4_01_4.html',1,'dlaf::common::internal']]], - ['unwrapping_559',['Unwrapping',['../structdlaf_1_1common_1_1internal_1_1_unwrapping.html',1,'dlaf::common::internal']]], - ['util_5fblas_2eh_560',['util_blas.h',['../util__blas_8h.html',1,'']]], - ['util_5fdistribution_2eh_561',['util_distribution.h',['../util__distribution_8h.html',1,'']]], - ['util_5flapack_2eh_562',['util_lapack.h',['../util__lapack_8h.html',1,'']]], - ['util_5fmath_2eh_563',['util_math.h',['../util__math_8h.html',1,'']]], - ['util_5fmatrix_2eh_564',['util_matrix.h',['../util__matrix_8h.html',1,'']]], - ['util_5ftile_2eh_565',['util_tile.h',['../util__tile_8h.html',1,'']]], - ['utils_2eh_566',['utils.h',['../utils_8h.html',1,'']]] + ['unique_543',['Unique',['../structdlaf_1_1internal_1_1_unique.html',1,'dlaf::internal']]], + ['unique_3c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_544',['Unique< Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_3_01_pack_3_01_ts_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], + ['uniquehelper_545',['UniqueHelper',['../structdlaf_1_1internal_1_1_unique_helper.html',1,'dlaf::internal']]], + ['uniquehelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_20u_2c_20us_2e_2e_2e_20_3e_20_3e_546',['UniqueHelper< Pack< Ts... >, Pack< U, Us... > >',['../structdlaf_1_1internal_1_1_unique_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_01_u_00_01_us_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], + ['uniquehelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_3e_20_3e_547',['UniqueHelper< Pack< Ts... >, Pack<> >',['../structdlaf_1_1internal_1_1_unique_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_4_01_4.html',1,'dlaf::internal']]], + ['uniquehelper_3c_20pack_3c_3e_2c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_548',['UniqueHelper< Pack<>, Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_helper.html',1,'dlaf::internal']]], + ['uniquepack_549',['UniquePack',['../structdlaf_1_1internal_1_1_unique_pack.html',1,'dlaf::internal']]], + ['uniquepack_3c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_550',['UniquePack< Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_pack_3_01_pack_3_01_ts_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], + ['uniquepackhelper_551',['UniquePackHelper',['../structdlaf_1_1internal_1_1_unique_pack_helper.html',1,'dlaf::internal']]], + ['uniquepackhelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_20u_2c_20us_2e_2e_2e_20_3e_20_3e_552',['UniquePackHelper< Pack< Ts... >, Pack< U, Us... > >',['../structdlaf_1_1internal_1_1_unique_pack_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_01_u_00_01_us_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], + ['uniquepackhelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_3e_20_3e_553',['UniquePackHelper< Pack< Ts... >, Pack<> >',['../structdlaf_1_1internal_1_1_unique_pack_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_4_01_4.html',1,'dlaf::internal']]], + ['uniquepackhelper_3c_20pack_3c_3e_2c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_554',['UniquePackHelper< Pack<>, Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_pack_helper.html',1,'dlaf::internal']]], + ['unwrap_555',['unwrap',['../unwrap_8h.html#a8da70a5535ac987a8f6ca7f8b195547d',1,'dlaf::common::internal']]], + ['unwrap_2eh_556',['unwrap.h',['../unwrap_8h.html',1,'']]], + ['unwrapper_557',['Unwrapper',['../structdlaf_1_1common_1_1internal_1_1_unwrapper.html',1,'dlaf::common::internal']]], + ['unwrapper_3c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5fwrapper_3c_20t1_2c_20t2_2c_20at_20_3e_20_3e_558',['Unwrapper< pika::execution::experimental::async_rw_mutex_access_wrapper< T1, T2, at > >',['../structdlaf_1_1common_1_1internal_1_1_unwrapper_3_01pika_1_1execution_1_1experimental_1_1async__r5be7b0afcb71e6df73ebcc954d80821d.html',1,'dlaf::common::internal']]], + ['unwrapper_3c_20std_3a_3areference_5fwrapper_3c_20t_20_3e_20_3e_559',['Unwrapper< std::reference_wrapper< T > >',['../structdlaf_1_1common_1_1internal_1_1_unwrapper_3_01std_1_1reference__wrapper_3_01_t_01_4_01_4.html',1,'dlaf::common::internal']]], + ['unwrapping_560',['Unwrapping',['../structdlaf_1_1common_1_1internal_1_1_unwrapping.html',1,'dlaf::common::internal']]], + ['util_5fblas_2eh_561',['util_blas.h',['../util__blas_8h.html',1,'']]], + ['util_5fdistribution_2eh_562',['util_distribution.h',['../util__distribution_8h.html',1,'']]], + ['util_5flapack_2eh_563',['util_lapack.h',['../util__lapack_8h.html',1,'']]], + ['util_5fmath_2eh_564',['util_math.h',['../util__math_8h.html',1,'']]], + ['util_5fmatrix_2eh_565',['util_matrix.h',['../util__matrix_8h.html',1,'']]], + ['util_5ftile_2eh_566',['util_tile.h',['../util__tile_8h.html',1,'']]], + ['utils_2eh_567',['utils.h',['../utils_8h.html',1,'']]] ]; diff --git a/master/search/all_15.js b/master/search/all_15.js index 50670cd319..2f15fae217 100644 --- a/master/search/all_15.js +++ b/master/search/all_15.js @@ -1,10 +1,10 @@ var searchData= [ - ['vaccesshelper_567',['VAccessHelper',['../structdlaf_1_1eigensolver_1_1internal_1_1_v_access_helper.html',1,'dlaf::eigensolver::internal']]], - ['valid_568',['valid',['../classdlaf_1_1common_1_1_pipeline.html#affda528ea4c5e0e54f8fca4250b53af5',1,'dlaf::common::Pipeline::valid()'],['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#a3e3096bb1ef85b6017bd8c42c9617586',1,'dlaf::matrix::internal::TilePipeline::valid()']]], - ['vector_569',['vector',['../structdlaf_1_1common_1_1internal_1_1vector.html',1,'dlaf::common::internal']]], - ['vector_2eh_570',['vector.h',['../vector_8h.html',1,'']]], - ['vector_3c_20readonlysendertype_20_3e_571',['vector< ReadOnlySenderType >',['../structdlaf_1_1common_1_1internal_1_1vector.html',1,'dlaf::common::internal']]], - ['view_572',['View',['../structdlaf_1_1matrix_1_1internal_1_1_view.html',1,'dlaf::matrix::internal::View'],['../structdlaf_1_1matrix_1_1internal_1_1_view.html#a3635af3164815f905a9fd33979a14a34',1,'dlaf::matrix::internal::View::View()']]], - ['views_2eh_573',['views.h',['../views_8h.html',1,'']]] + ['vaccesshelper_568',['VAccessHelper',['../structdlaf_1_1eigensolver_1_1internal_1_1_v_access_helper.html',1,'dlaf::eigensolver::internal']]], + ['valid_569',['valid',['../classdlaf_1_1common_1_1_pipeline.html#affda528ea4c5e0e54f8fca4250b53af5',1,'dlaf::common::Pipeline::valid()'],['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#a3e3096bb1ef85b6017bd8c42c9617586',1,'dlaf::matrix::internal::TilePipeline::valid()']]], + ['vector_570',['vector',['../structdlaf_1_1common_1_1internal_1_1vector.html',1,'dlaf::common::internal']]], + ['vector_2eh_571',['vector.h',['../vector_8h.html',1,'']]], + ['vector_3c_20readonlysendertype_20_3e_572',['vector< ReadOnlySenderType >',['../structdlaf_1_1common_1_1internal_1_1vector.html',1,'dlaf::common::internal']]], + ['view_573',['View',['../structdlaf_1_1matrix_1_1internal_1_1_view.html',1,'dlaf::matrix::internal::View'],['../structdlaf_1_1matrix_1_1internal_1_1_view.html#a3635af3164815f905a9fd33979a14a34',1,'dlaf::matrix::internal::View::View()']]], + ['views_2eh_574',['views.h',['../views_8h.html',1,'']]] ]; diff --git a/master/search/all_16.js b/master/search/all_16.js index 3145327490..6a5b03753c 100644 --- a/master/search/all_16.js +++ b/master/search/all_16.js @@ -1,7 +1,7 @@ var searchData= [ - ['waitlocaltiles_574',['waitLocalTiles',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#abffc73bf079f7f7c23af3fca4dec329f',1,'dlaf::matrix::Matrix< const T, D >']]], - ['workspace_575',['WorkSpace',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space.html',1,'dlaf::eigensolver::internal']]], - ['workspacehost_576',['WorkSpaceHost',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space_host.html',1,'dlaf::eigensolver::internal']]], - ['workspacehostmirror_577',['WorkSpaceHostMirror',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space_host_mirror.html',1,'dlaf::eigensolver::internal']]] + ['waitlocaltiles_575',['waitLocalTiles',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#abffc73bf079f7f7c23af3fca4dec329f',1,'dlaf::matrix::Matrix< const T, D >']]], + ['workspace_576',['WorkSpace',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space.html',1,'dlaf::eigensolver::internal']]], + ['workspacehost_577',['WorkSpaceHost',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space_host.html',1,'dlaf::eigensolver::internal']]], + ['workspacehostmirror_578',['WorkSpaceHostMirror',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space_host_mirror.html',1,'dlaf::eigensolver::internal']]] ]; diff --git a/master/search/all_17.js b/master/search/all_17.js index f99f04aa16..7fcd725fe0 100644 --- a/master/search/all_17.js +++ b/master/search/all_17.js @@ -1,9 +1,9 @@ var searchData= [ - ['_7ematrixmirror_578',['~MatrixMirror',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html#a2eeef61985e20a9218d55e76548acfb5',1,'dlaf::matrix::MatrixMirror< const T, Target, Source >::~MatrixMirror()'],['../classdlaf_1_1matrix_1_1_matrix_mirror.html#ae24915137508619315773c7a416f902f',1,'dlaf::matrix::MatrixMirror::~MatrixMirror()']]], - ['_7ememorychunk_579',['~MemoryChunk',['../classdlaf_1_1memory_1_1_memory_chunk.html#a597aa1c075db44808f7e14c9ec03e50b',1,'dlaf::memory::MemoryChunk']]], - ['_7empi_5finit_580',['~mpi_init',['../structdlaf_1_1comm_1_1mpi__init.html#a2413c9dc23983c5790cd0ebb3bb9e057',1,'dlaf::comm::mpi_init']]], - ['_7epanel_581',['~Panel',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#adab53d11d9904715b775df7c23ba6682',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['_7etile_582',['~Tile',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a66f6b8ef0f4d9168c12715d0fc1b16dc',1,'dlaf::matrix::Tile< const T, D >']]], - ['_7etype_5fhandler_583',['~type_handler',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#a8fab81a168aa4f3441deb1a01f4a5171',1,'dlaf::comm::internal::type_handler']]] + ['_7ematrixmirror_579',['~MatrixMirror',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html#a2eeef61985e20a9218d55e76548acfb5',1,'dlaf::matrix::MatrixMirror< const T, Target, Source >::~MatrixMirror()'],['../classdlaf_1_1matrix_1_1_matrix_mirror.html#ae24915137508619315773c7a416f902f',1,'dlaf::matrix::MatrixMirror::~MatrixMirror()']]], + ['_7ememorychunk_580',['~MemoryChunk',['../classdlaf_1_1memory_1_1_memory_chunk.html#a597aa1c075db44808f7e14c9ec03e50b',1,'dlaf::memory::MemoryChunk']]], + ['_7empi_5finit_581',['~mpi_init',['../structdlaf_1_1comm_1_1mpi__init.html#a2413c9dc23983c5790cd0ebb3bb9e057',1,'dlaf::comm::mpi_init']]], + ['_7epanel_582',['~Panel',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#adab53d11d9904715b775df7c23ba6682',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['_7etile_583',['~Tile',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a66f6b8ef0f4d9168c12715d0fc1b16dc',1,'dlaf::matrix::Tile< const T, D >']]], + ['_7etype_5fhandler_584',['~type_handler',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#a8fab81a168aa4f3441deb1a01f4a5171',1,'dlaf::comm::internal::type_handler']]] ]; diff --git a/master/search/classes_0.js b/master/search/classes_0.js index 76d52de162..c5bd980e95 100644 --- a/master/search/classes_0.js +++ b/master/search/classes_0.js @@ -1,13 +1,13 @@ var searchData= [ - ['alwaysfalse_584',['AlwaysFalse',['../structdlaf_1_1internal_1_1_always_false.html',1,'dlaf::internal']]], - ['anyof_585',['AnyOf',['../structdlaf_1_1internal_1_1_any_of.html',1,'dlaf::internal']]], - ['anyof_3c_20std_3a_3ais_5fsame_3c_20t_2c_20ts_20_3e_2e_2e_2e_20_3e_586',['AnyOf< std::is_same< T, Ts >... >',['../structdlaf_1_1internal_1_1_any_of.html',1,'dlaf::internal']]], - ['anyof_3c_3e_587',['AnyOf<>',['../structdlaf_1_1internal_1_1_any_of_3_4.html',1,'dlaf::internal']]], - ['applyhhtodoubletilerow_588',['ApplyHHToDoubleTileRow',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_double_tile_row.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], - ['applyhhtodoubletilerow_3c_20backend_3a_3agpu_2c_20t_20_3e_589',['ApplyHHToDoubleTileRow< Backend::GPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_double_tile_row_3_01_backend_1_1_g_p_u_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], - ['applyhhtodoubletilerow_3c_20backend_3a_3amc_2c_20t_20_3e_590',['ApplyHHToDoubleTileRow< Backend::MC, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_double_tile_row_3_01_backend_1_1_m_c_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], - ['applyhhtosingletilerow_591',['ApplyHHToSingleTileRow',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_single_tile_row.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], - ['applyhhtosingletilerow_3c_20backend_3a_3agpu_2c_20t_20_3e_592',['ApplyHHToSingleTileRow< Backend::GPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_single_tile_row_3_01_backend_1_1_g_p_u_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], - ['applyhhtosingletilerow_3c_20backend_3a_3amc_2c_20t_20_3e_593',['ApplyHHToSingleTileRow< Backend::MC, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_single_tile_row_3_01_backend_1_1_m_c_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]] + ['alwaysfalse_585',['AlwaysFalse',['../structdlaf_1_1internal_1_1_always_false.html',1,'dlaf::internal']]], + ['anyof_586',['AnyOf',['../structdlaf_1_1internal_1_1_any_of.html',1,'dlaf::internal']]], + ['anyof_3c_20std_3a_3ais_5fsame_3c_20t_2c_20ts_20_3e_2e_2e_2e_20_3e_587',['AnyOf< std::is_same< T, Ts >... >',['../structdlaf_1_1internal_1_1_any_of.html',1,'dlaf::internal']]], + ['anyof_3c_3e_588',['AnyOf<>',['../structdlaf_1_1internal_1_1_any_of_3_4.html',1,'dlaf::internal']]], + ['applyhhtodoubletilerow_589',['ApplyHHToDoubleTileRow',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_double_tile_row.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], + ['applyhhtodoubletilerow_3c_20backend_3a_3agpu_2c_20t_20_3e_590',['ApplyHHToDoubleTileRow< Backend::GPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_double_tile_row_3_01_backend_1_1_g_p_u_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], + ['applyhhtodoubletilerow_3c_20backend_3a_3amc_2c_20t_20_3e_591',['ApplyHHToDoubleTileRow< Backend::MC, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_double_tile_row_3_01_backend_1_1_m_c_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], + ['applyhhtosingletilerow_592',['ApplyHHToSingleTileRow',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_single_tile_row.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], + ['applyhhtosingletilerow_3c_20backend_3a_3agpu_2c_20t_20_3e_593',['ApplyHHToSingleTileRow< Backend::GPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_single_tile_row_3_01_backend_1_1_g_p_u_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], + ['applyhhtosingletilerow_3c_20backend_3a_3amc_2c_20t_20_3e_594',['ApplyHHToSingleTileRow< Backend::MC, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_apply_h_h_to_single_tile_row_3_01_backend_1_1_m_c_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]] ]; diff --git a/master/search/classes_1.js b/master/search/classes_1.js index 33d0773403..203427cfcd 100644 --- a/master/search/classes_1.js +++ b/master/search/classes_1.js @@ -1,10 +1,10 @@ var searchData= [ - ['backtransformationreductiontoband_594',['BackTransformationReductionToBand',['../structdlaf_1_1eigensolver_1_1internal_1_1_back_transformation_reduction_to_band.html',1,'dlaf::eigensolver::internal']]], - ['backtransformationt2b_595',['BackTransformationT2B',['../structdlaf_1_1eigensolver_1_1internal_1_1_back_transformation_t2_b.html',1,'dlaf::eigensolver::internal']]], - ['bandblock_596',['BandBlock',['../classdlaf_1_1eigensolver_1_1internal_1_1_band_block.html',1,'dlaf::eigensolver::internal']]], - ['bandtotridiag_597',['BandToTridiag',['../structdlaf_1_1eigensolver_1_1internal_1_1_band_to_tridiag.html',1,'dlaf::eigensolver::internal']]], - ['bandtotridiag_3c_20backend_3a_3amc_2c_20d_2c_20t_20_3e_598',['BandToTridiag< Backend::MC, D, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1_band_to_tridiag_3_01_backend_1_1_m_c_00_01_d_00_01_t_01_4.html',1,'dlaf::eigensolver::internal']]], - ['basic_5fcoords_599',['basic_coords',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html',1,'dlaf::common::internal']]], - ['buffer_600',['Buffer',['../structdlaf_1_1common_1_1_buffer.html',1,'dlaf::common']]] + ['backtransformationreductiontoband_595',['BackTransformationReductionToBand',['../structdlaf_1_1eigensolver_1_1internal_1_1_back_transformation_reduction_to_band.html',1,'dlaf::eigensolver::internal']]], + ['backtransformationt2b_596',['BackTransformationT2B',['../structdlaf_1_1eigensolver_1_1internal_1_1_back_transformation_t2_b.html',1,'dlaf::eigensolver::internal']]], + ['bandblock_597',['BandBlock',['../classdlaf_1_1eigensolver_1_1internal_1_1_band_block.html',1,'dlaf::eigensolver::internal']]], + ['bandtotridiag_598',['BandToTridiag',['../structdlaf_1_1eigensolver_1_1internal_1_1_band_to_tridiag.html',1,'dlaf::eigensolver::internal']]], + ['bandtotridiag_3c_20backend_3a_3amc_2c_20d_2c_20t_20_3e_599',['BandToTridiag< Backend::MC, D, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1_band_to_tridiag_3_01_backend_1_1_m_c_00_01_d_00_01_t_01_4.html',1,'dlaf::eigensolver::internal']]], + ['basic_5fcoords_600',['basic_coords',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html',1,'dlaf::common::internal']]], + ['buffer_601',['Buffer',['../structdlaf_1_1common_1_1_buffer.html',1,'dlaf::common']]] ]; diff --git a/master/search/classes_10.js b/master/search/classes_10.js index c23ac2f634..18790c48aa 100644 --- a/master/search/classes_10.js +++ b/master/search/classes_10.js @@ -1,23 +1,23 @@ var searchData= [ - ['tile_758',['Tile',['../classdlaf_1_1matrix_1_1_tile.html',1,'dlaf::matrix']]], - ['tile_3c_20const_20t_2c_20d_20_3e_759',['Tile< const T, D >',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html',1,'dlaf::matrix']]], - ['tileaccesshelper_760',['TileAccessHelper',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_tile_access_helper.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], - ['tilecollector_761',['TileCollector',['../classdlaf_1_1eigensolver_1_1internal_1_1_tile_collector.html',1,'dlaf::eigensolver::internal']]], - ['tiledata_762',['TileData',['../classdlaf_1_1matrix_1_1internal_1_1_tile_data.html',1,'dlaf::matrix::internal']]], - ['tilepipeline_763',['TilePipeline',['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html',1,'dlaf::matrix::internal']]], - ['timer_764',['Timer',['../classdlaf_1_1common_1_1_timer.html',1,'dlaf::common']]], - ['transformpack_765',['TransformPack',['../structdlaf_1_1internal_1_1_transform_pack.html',1,'dlaf::internal']]], - ['transformpack_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20transformer_20_3e_766',['TransformPack< Pack< Ts... >, Transformer >',['../structdlaf_1_1internal_1_1_transform_pack_3_01_pack_3_01_ts_8_8_8_01_4_00_01_transformer_01_4.html',1,'dlaf::internal']]], - ['triangular_767',['Triangular',['../structdlaf_1_1multiplication_1_1internal_1_1_triangular.html',1,'dlaf::multiplication::internal::Triangular< backend, device, T >'],['../structdlaf_1_1solver_1_1internal_1_1_triangular.html',1,'dlaf::solver::internal::Triangular< backend, device, T >']]], - ['tridiagresult_768',['TridiagResult',['../structdlaf_1_1eigensolver_1_1internal_1_1_tridiag_result.html',1,'dlaf::eigensolver::internal']]], - ['tridiagsolver_769',['TridiagSolver',['../structdlaf_1_1eigensolver_1_1internal_1_1_tridiag_solver.html',1,'dlaf::eigensolver::internal']]], - ['trmmsizes_770',['trmmSizes',['../structdlaf_1_1tile_1_1internal_1_1trmm_sizes.html',1,'dlaf::tile::internal']]], - ['trsmsizes_771',['trsmSizes',['../structdlaf_1_1tile_1_1internal_1_1trsm_sizes.html',1,'dlaf::tile::internal']]], - ['tuneparameters_772',['TuneParameters',['../structdlaf_1_1_tune_parameters.html',1,'dlaf']]], - ['type_5fhandler_773',['type_handler',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html',1,'dlaf::comm::internal']]], - ['typeinfo_774',['TypeInfo',['../structdlaf_1_1_type_info.html',1,'dlaf']]], - ['typeinfo_3c_20const_20t_20_3e_775',['TypeInfo< const T >',['../structdlaf_1_1_type_info_3_01const_01_t_01_4.html',1,'dlaf']]], - ['typeinfo_3c_20std_3a_3acomplex_3c_20t_20_3e_20_3e_776',['TypeInfo< std::complex< T > >',['../structdlaf_1_1_type_info_3_01std_1_1complex_3_01_t_01_4_01_4.html',1,'dlaf']]], - ['typelist_777',['TypeList',['../structdlaf_1_1internal_1_1_type_list.html',1,'dlaf::internal']]] + ['tile_759',['Tile',['../classdlaf_1_1matrix_1_1_tile.html',1,'dlaf::matrix']]], + ['tile_3c_20const_20t_2c_20d_20_3e_760',['Tile< const T, D >',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html',1,'dlaf::matrix']]], + ['tileaccesshelper_761',['TileAccessHelper',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_tile_access_helper.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], + ['tilecollector_762',['TileCollector',['../classdlaf_1_1eigensolver_1_1internal_1_1_tile_collector.html',1,'dlaf::eigensolver::internal']]], + ['tiledata_763',['TileData',['../classdlaf_1_1matrix_1_1internal_1_1_tile_data.html',1,'dlaf::matrix::internal']]], + ['tilepipeline_764',['TilePipeline',['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html',1,'dlaf::matrix::internal']]], + ['timer_765',['Timer',['../classdlaf_1_1common_1_1_timer.html',1,'dlaf::common']]], + ['transformpack_766',['TransformPack',['../structdlaf_1_1internal_1_1_transform_pack.html',1,'dlaf::internal']]], + ['transformpack_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20transformer_20_3e_767',['TransformPack< Pack< Ts... >, Transformer >',['../structdlaf_1_1internal_1_1_transform_pack_3_01_pack_3_01_ts_8_8_8_01_4_00_01_transformer_01_4.html',1,'dlaf::internal']]], + ['triangular_768',['Triangular',['../structdlaf_1_1multiplication_1_1internal_1_1_triangular.html',1,'dlaf::multiplication::internal::Triangular< backend, device, T >'],['../structdlaf_1_1solver_1_1internal_1_1_triangular.html',1,'dlaf::solver::internal::Triangular< backend, device, T >']]], + ['tridiagresult_769',['TridiagResult',['../structdlaf_1_1eigensolver_1_1internal_1_1_tridiag_result.html',1,'dlaf::eigensolver::internal']]], + ['tridiagsolver_770',['TridiagSolver',['../structdlaf_1_1eigensolver_1_1internal_1_1_tridiag_solver.html',1,'dlaf::eigensolver::internal']]], + ['trmmsizes_771',['trmmSizes',['../structdlaf_1_1tile_1_1internal_1_1trmm_sizes.html',1,'dlaf::tile::internal']]], + ['trsmsizes_772',['trsmSizes',['../structdlaf_1_1tile_1_1internal_1_1trsm_sizes.html',1,'dlaf::tile::internal']]], + ['tuneparameters_773',['TuneParameters',['../structdlaf_1_1_tune_parameters.html',1,'dlaf']]], + ['type_5fhandler_774',['type_handler',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html',1,'dlaf::comm::internal']]], + ['typeinfo_775',['TypeInfo',['../structdlaf_1_1_type_info.html',1,'dlaf']]], + ['typeinfo_3c_20const_20t_20_3e_776',['TypeInfo< const T >',['../structdlaf_1_1_type_info_3_01const_01_t_01_4.html',1,'dlaf']]], + ['typeinfo_3c_20std_3a_3acomplex_3c_20t_20_3e_20_3e_777',['TypeInfo< std::complex< T > >',['../structdlaf_1_1_type_info_3_01std_1_1complex_3_01_t_01_4_01_4.html',1,'dlaf']]], + ['typelist_778',['TypeList',['../structdlaf_1_1internal_1_1_type_list.html',1,'dlaf::internal']]] ]; diff --git a/master/search/classes_11.js b/master/search/classes_11.js index c0e5538b94..f6f9cc8661 100644 --- a/master/search/classes_11.js +++ b/master/search/classes_11.js @@ -1,19 +1,19 @@ var searchData= [ - ['unique_778',['Unique',['../structdlaf_1_1internal_1_1_unique.html',1,'dlaf::internal']]], - ['unique_3c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_779',['Unique< Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_3_01_pack_3_01_ts_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], - ['uniquehelper_780',['UniqueHelper',['../structdlaf_1_1internal_1_1_unique_helper.html',1,'dlaf::internal']]], - ['uniquehelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_20u_2c_20us_2e_2e_2e_20_3e_20_3e_781',['UniqueHelper< Pack< Ts... >, Pack< U, Us... > >',['../structdlaf_1_1internal_1_1_unique_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_01_u_00_01_us_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], - ['uniquehelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_3e_20_3e_782',['UniqueHelper< Pack< Ts... >, Pack<> >',['../structdlaf_1_1internal_1_1_unique_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_4_01_4.html',1,'dlaf::internal']]], - ['uniquehelper_3c_20pack_3c_3e_2c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_783',['UniqueHelper< Pack<>, Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_helper.html',1,'dlaf::internal']]], - ['uniquepack_784',['UniquePack',['../structdlaf_1_1internal_1_1_unique_pack.html',1,'dlaf::internal']]], - ['uniquepack_3c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_785',['UniquePack< Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_pack_3_01_pack_3_01_ts_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], - ['uniquepackhelper_786',['UniquePackHelper',['../structdlaf_1_1internal_1_1_unique_pack_helper.html',1,'dlaf::internal']]], - ['uniquepackhelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_20u_2c_20us_2e_2e_2e_20_3e_20_3e_787',['UniquePackHelper< Pack< Ts... >, Pack< U, Us... > >',['../structdlaf_1_1internal_1_1_unique_pack_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_01_u_00_01_us_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], - ['uniquepackhelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_3e_20_3e_788',['UniquePackHelper< Pack< Ts... >, Pack<> >',['../structdlaf_1_1internal_1_1_unique_pack_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_4_01_4.html',1,'dlaf::internal']]], - ['uniquepackhelper_3c_20pack_3c_3e_2c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_789',['UniquePackHelper< Pack<>, Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_pack_helper.html',1,'dlaf::internal']]], - ['unwrapper_790',['Unwrapper',['../structdlaf_1_1common_1_1internal_1_1_unwrapper.html',1,'dlaf::common::internal']]], - ['unwrapper_3c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5fwrapper_3c_20t1_2c_20t2_2c_20at_20_3e_20_3e_791',['Unwrapper< pika::execution::experimental::async_rw_mutex_access_wrapper< T1, T2, at > >',['../structdlaf_1_1common_1_1internal_1_1_unwrapper_3_01pika_1_1execution_1_1experimental_1_1async__r5be7b0afcb71e6df73ebcc954d80821d.html',1,'dlaf::common::internal']]], - ['unwrapper_3c_20std_3a_3areference_5fwrapper_3c_20t_20_3e_20_3e_792',['Unwrapper< std::reference_wrapper< T > >',['../structdlaf_1_1common_1_1internal_1_1_unwrapper_3_01std_1_1reference__wrapper_3_01_t_01_4_01_4.html',1,'dlaf::common::internal']]], - ['unwrapping_793',['Unwrapping',['../structdlaf_1_1common_1_1internal_1_1_unwrapping.html',1,'dlaf::common::internal']]] + ['unique_779',['Unique',['../structdlaf_1_1internal_1_1_unique.html',1,'dlaf::internal']]], + ['unique_3c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_780',['Unique< Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_3_01_pack_3_01_ts_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], + ['uniquehelper_781',['UniqueHelper',['../structdlaf_1_1internal_1_1_unique_helper.html',1,'dlaf::internal']]], + ['uniquehelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_20u_2c_20us_2e_2e_2e_20_3e_20_3e_782',['UniqueHelper< Pack< Ts... >, Pack< U, Us... > >',['../structdlaf_1_1internal_1_1_unique_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_01_u_00_01_us_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], + ['uniquehelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_3e_20_3e_783',['UniqueHelper< Pack< Ts... >, Pack<> >',['../structdlaf_1_1internal_1_1_unique_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_4_01_4.html',1,'dlaf::internal']]], + ['uniquehelper_3c_20pack_3c_3e_2c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_784',['UniqueHelper< Pack<>, Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_helper.html',1,'dlaf::internal']]], + ['uniquepack_785',['UniquePack',['../structdlaf_1_1internal_1_1_unique_pack.html',1,'dlaf::internal']]], + ['uniquepack_3c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_786',['UniquePack< Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_pack_3_01_pack_3_01_ts_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], + ['uniquepackhelper_787',['UniquePackHelper',['../structdlaf_1_1internal_1_1_unique_pack_helper.html',1,'dlaf::internal']]], + ['uniquepackhelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_20u_2c_20us_2e_2e_2e_20_3e_20_3e_788',['UniquePackHelper< Pack< Ts... >, Pack< U, Us... > >',['../structdlaf_1_1internal_1_1_unique_pack_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_01_u_00_01_us_8_8_8_01_4_01_4.html',1,'dlaf::internal']]], + ['uniquepackhelper_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20pack_3c_3e_20_3e_789',['UniquePackHelper< Pack< Ts... >, Pack<> >',['../structdlaf_1_1internal_1_1_unique_pack_helper_3_01_pack_3_01_ts_8_8_8_01_4_00_01_pack_3_4_01_4.html',1,'dlaf::internal']]], + ['uniquepackhelper_3c_20pack_3c_3e_2c_20pack_3c_20ts_2e_2e_2e_20_3e_20_3e_790',['UniquePackHelper< Pack<>, Pack< Ts... > >',['../structdlaf_1_1internal_1_1_unique_pack_helper.html',1,'dlaf::internal']]], + ['unwrapper_791',['Unwrapper',['../structdlaf_1_1common_1_1internal_1_1_unwrapper.html',1,'dlaf::common::internal']]], + ['unwrapper_3c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5fwrapper_3c_20t1_2c_20t2_2c_20at_20_3e_20_3e_792',['Unwrapper< pika::execution::experimental::async_rw_mutex_access_wrapper< T1, T2, at > >',['../structdlaf_1_1common_1_1internal_1_1_unwrapper_3_01pika_1_1execution_1_1experimental_1_1async__r5be7b0afcb71e6df73ebcc954d80821d.html',1,'dlaf::common::internal']]], + ['unwrapper_3c_20std_3a_3areference_5fwrapper_3c_20t_20_3e_20_3e_793',['Unwrapper< std::reference_wrapper< T > >',['../structdlaf_1_1common_1_1internal_1_1_unwrapper_3_01std_1_1reference__wrapper_3_01_t_01_4_01_4.html',1,'dlaf::common::internal']]], + ['unwrapping_794',['Unwrapping',['../structdlaf_1_1common_1_1internal_1_1_unwrapping.html',1,'dlaf::common::internal']]] ]; diff --git a/master/search/classes_12.js b/master/search/classes_12.js index e436bac333..83c5a84faf 100644 --- a/master/search/classes_12.js +++ b/master/search/classes_12.js @@ -1,7 +1,7 @@ var searchData= [ - ['vaccesshelper_794',['VAccessHelper',['../structdlaf_1_1eigensolver_1_1internal_1_1_v_access_helper.html',1,'dlaf::eigensolver::internal']]], - ['vector_795',['vector',['../structdlaf_1_1common_1_1internal_1_1vector.html',1,'dlaf::common::internal']]], - ['vector_3c_20readonlysendertype_20_3e_796',['vector< ReadOnlySenderType >',['../structdlaf_1_1common_1_1internal_1_1vector.html',1,'dlaf::common::internal']]], - ['view_797',['View',['../structdlaf_1_1matrix_1_1internal_1_1_view.html',1,'dlaf::matrix::internal']]] + ['vaccesshelper_795',['VAccessHelper',['../structdlaf_1_1eigensolver_1_1internal_1_1_v_access_helper.html',1,'dlaf::eigensolver::internal']]], + ['vector_796',['vector',['../structdlaf_1_1common_1_1internal_1_1vector.html',1,'dlaf::common::internal']]], + ['vector_3c_20readonlysendertype_20_3e_797',['vector< ReadOnlySenderType >',['../structdlaf_1_1common_1_1internal_1_1vector.html',1,'dlaf::common::internal']]], + ['view_798',['View',['../structdlaf_1_1matrix_1_1internal_1_1_view.html',1,'dlaf::matrix::internal']]] ]; diff --git a/master/search/classes_13.js b/master/search/classes_13.js index e6578d1dfd..7b1f19af95 100644 --- a/master/search/classes_13.js +++ b/master/search/classes_13.js @@ -1,6 +1,6 @@ var searchData= [ - ['workspace_798',['WorkSpace',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space.html',1,'dlaf::eigensolver::internal']]], - ['workspacehost_799',['WorkSpaceHost',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space_host.html',1,'dlaf::eigensolver::internal']]], - ['workspacehostmirror_800',['WorkSpaceHostMirror',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space_host_mirror.html',1,'dlaf::eigensolver::internal']]] + ['workspace_799',['WorkSpace',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space.html',1,'dlaf::eigensolver::internal']]], + ['workspacehost_800',['WorkSpaceHost',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space_host.html',1,'dlaf::eigensolver::internal']]], + ['workspacehostmirror_801',['WorkSpaceHostMirror',['../structdlaf_1_1eigensolver_1_1internal_1_1_work_space_host_mirror.html',1,'dlaf::eigensolver::internal']]] ]; diff --git a/master/search/classes_2.js b/master/search/classes_2.js index a360fc673c..cea5e3d55f 100644 --- a/master/search/classes_2.js +++ b/master/search/classes_2.js @@ -1,34 +1,34 @@ var searchData= [ - ['cholesky_601',['Cholesky',['../structdlaf_1_1factorization_1_1internal_1_1_cholesky.html',1,'dlaf::factorization::internal']]], - ['communicationdevice_602',['CommunicationDevice',['../structdlaf_1_1comm_1_1_communication_device.html',1,'dlaf::comm']]], - ['communicationdevice_3c_20device_3a_3agpu_20_3e_603',['CommunicationDevice< Device::GPU >',['../structdlaf_1_1comm_1_1_communication_device_3_01_device_1_1_g_p_u_01_4.html',1,'dlaf::comm']]], - ['communicator_604',['Communicator',['../classdlaf_1_1comm_1_1_communicator.html',1,'dlaf::comm']]], - ['communicatorgrid_605',['CommunicatorGrid',['../classdlaf_1_1comm_1_1_communicator_grid.html',1,'dlaf::comm']]], - ['computepanelhelper_606',['ComputePanelHelper',['../structdlaf_1_1eigensolver_1_1internal_1_1red2band_1_1_compute_panel_helper.html',1,'dlaf::eigensolver::internal::red2band']]], - ['computepanelhelper_3c_20backend_3a_3agpu_2c_20device_3a_3agpu_2c_20t_20_3e_607',['ComputePanelHelper< Backend::GPU, Device::GPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1red2band_1_1_compute_panel_helper_3_01_backend_1_1_g_p_e566a066992e6980ee13cab3c8831bc5.html',1,'dlaf::eigensolver::internal::red2band']]], - ['computepanelhelper_3c_20backend_3a_3amc_2c_20device_3a_3acpu_2c_20t_20_3e_608',['ComputePanelHelper< Backend::MC, Device::CPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1red2band_1_1_compute_panel_helper_3_01_backend_1_1_m_c_f6049763c467d19a4a2bae31f1d19649.html',1,'dlaf::eigensolver::internal::red2band']]], - ['configuration_609',['configuration',['../structdlaf_1_1configuration.html',1,'dlaf']]], - ['consumervalues_610',['ConsumeRvalues',['../structdlaf_1_1common_1_1internal_1_1_consume_rvalues.html',1,'dlaf::common::internal']]], - ['contains_611',['Contains',['../structdlaf_1_1internal_1_1_contains.html',1,'dlaf::internal']]], - ['contains_3c_20t_20_3e_612',['Contains< T >',['../structdlaf_1_1internal_1_1_contains_3_01_t_01_4.html',1,'dlaf::internal']]], - ['contains_3c_20t_2c_20t_2c_20ts_2e_2e_2e_20_3e_613',['Contains< T, T, Ts... >',['../structdlaf_1_1internal_1_1_contains_3_01_t_00_01_t_00_01_ts_8_8_8_01_4.html',1,'dlaf::internal']]], - ['contains_3c_20t_2c_20ts_2e_2e_2e_20_3e_614',['Contains< T, Ts... >',['../structdlaf_1_1internal_1_1_contains.html',1,'dlaf::internal']]], - ['contains_3c_20t_2c_20u_2c_20ts_2e_2e_2e_20_3e_615',['Contains< T, U, Ts... >',['../structdlaf_1_1internal_1_1_contains_3_01_t_00_01_u_00_01_ts_8_8_8_01_4.html',1,'dlaf::internal']]], - ['copybackend_616',['CopyBackend',['../structdlaf_1_1matrix_1_1internal_1_1_copy_backend.html',1,'dlaf::matrix::internal']]], - ['copybackend_3c_20device_3a_3acpu_2c_20device_3a_3acpu_20_3e_617',['CopyBackend< Device::CPU, Device::CPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_backend_3_01_device_1_1_c_p_u_00_01_device_1_1_c_p_u_01_4.html',1,'dlaf::matrix::internal']]], - ['copybackend_3c_20device_3a_3acpu_2c_20device_3a_3agpu_20_3e_618',['CopyBackend< Device::CPU, Device::GPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_backend_3_01_device_1_1_c_p_u_00_01_device_1_1_g_p_u_01_4.html',1,'dlaf::matrix::internal']]], - ['copybackend_3c_20device_3a_3agpu_2c_20device_3a_3acpu_20_3e_619',['CopyBackend< Device::GPU, Device::CPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_backend_3_01_device_1_1_g_p_u_00_01_device_1_1_c_p_u_01_4.html',1,'dlaf::matrix::internal']]], - ['copybackend_3c_20device_3a_3agpu_2c_20device_3a_3agpu_20_3e_620',['CopyBackend< Device::GPU, Device::GPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_backend_3_01_device_1_1_g_p_u_00_01_device_1_1_g_p_u_01_4.html',1,'dlaf::matrix::internal']]], - ['copytile_621',['CopyTile',['../structdlaf_1_1matrix_1_1internal_1_1_copy_tile.html',1,'dlaf::matrix::internal']]], - ['copytile_3c_20t_2c_20device_3a_3acpu_2c_20device_3a_3acpu_20_3e_622',['CopyTile< T, Device::CPU, Device::CPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_tile_3_01_t_00_01_device_1_1_c_p_u_00_01_device_1_1_c_p_u_01_4.html',1,'dlaf::matrix::internal']]], - ['copytile_3c_20t_2c_20device_3a_3acpu_2c_20device_3a_3agpu_20_3e_623',['CopyTile< T, Device::CPU, Device::GPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_tile_3_01_t_00_01_device_1_1_c_p_u_00_01_device_1_1_g_p_u_01_4.html',1,'dlaf::matrix::internal']]], - ['copytile_3c_20t_2c_20device_3a_3agpu_2c_20device_3a_3acpu_20_3e_624',['CopyTile< T, Device::GPU, Device::CPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_tile_3_01_t_00_01_device_1_1_g_p_u_00_01_device_1_1_c_p_u_01_4.html',1,'dlaf::matrix::internal']]], - ['copytile_3c_20t_2c_20device_3a_3agpu_2c_20device_3a_3agpu_20_3e_625',['CopyTile< T, Device::GPU, Device::GPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_tile_3_01_t_00_01_device_1_1_g_p_u_00_01_device_1_1_g_p_u_01_4.html',1,'dlaf::matrix::internal']]], - ['cpptocudatype_626',['CppToCudaType',['../structdlaf_1_1util_1_1internal_1_1_cpp_to_cuda_type.html',1,'dlaf::util::internal']]], - ['cpptocudatype_3c_20const_20t_20_3e_627',['CppToCudaType< const T >',['../structdlaf_1_1util_1_1internal_1_1_cpp_to_cuda_type_3_01const_01_t_01_4.html',1,'dlaf::util::internal']]], - ['cpptocudatype_3c_20std_3a_3acomplex_3c_20double_20_3e_20_3e_628',['CppToCudaType< std::complex< double > >',['../structdlaf_1_1util_1_1internal_1_1_cpp_to_cuda_type_3_01std_1_1complex_3_01double_01_4_01_4.html',1,'dlaf::util::internal']]], - ['cpptocudatype_3c_20std_3a_3acomplex_3c_20float_20_3e_20_3e_629',['CppToCudaType< std::complex< float > >',['../structdlaf_1_1util_1_1internal_1_1_cpp_to_cuda_type_3_01std_1_1complex_3_01float_01_4_01_4.html',1,'dlaf::util::internal']]], - ['cpptocudatype_3c_20t_20_2a_20_3e_630',['CppToCudaType< T * >',['../structdlaf_1_1util_1_1internal_1_1_cpp_to_cuda_type_3_01_t_01_5_01_4.html',1,'dlaf::util::internal']]], - ['csv_631',['csv',['../structdlaf_1_1format_1_1csv.html',1,'dlaf::format']]] + ['cholesky_602',['Cholesky',['../structdlaf_1_1factorization_1_1internal_1_1_cholesky.html',1,'dlaf::factorization::internal']]], + ['communicationdevice_603',['CommunicationDevice',['../structdlaf_1_1comm_1_1_communication_device.html',1,'dlaf::comm']]], + ['communicationdevice_3c_20device_3a_3agpu_20_3e_604',['CommunicationDevice< Device::GPU >',['../structdlaf_1_1comm_1_1_communication_device_3_01_device_1_1_g_p_u_01_4.html',1,'dlaf::comm']]], + ['communicator_605',['Communicator',['../classdlaf_1_1comm_1_1_communicator.html',1,'dlaf::comm']]], + ['communicatorgrid_606',['CommunicatorGrid',['../classdlaf_1_1comm_1_1_communicator_grid.html',1,'dlaf::comm']]], + ['computepanelhelper_607',['ComputePanelHelper',['../structdlaf_1_1eigensolver_1_1internal_1_1red2band_1_1_compute_panel_helper.html',1,'dlaf::eigensolver::internal::red2band']]], + ['computepanelhelper_3c_20backend_3a_3agpu_2c_20device_3a_3agpu_2c_20t_20_3e_608',['ComputePanelHelper< Backend::GPU, Device::GPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1red2band_1_1_compute_panel_helper_3_01_backend_1_1_g_p_e566a066992e6980ee13cab3c8831bc5.html',1,'dlaf::eigensolver::internal::red2band']]], + ['computepanelhelper_3c_20backend_3a_3amc_2c_20device_3a_3acpu_2c_20t_20_3e_609',['ComputePanelHelper< Backend::MC, Device::CPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1red2band_1_1_compute_panel_helper_3_01_backend_1_1_m_c_f6049763c467d19a4a2bae31f1d19649.html',1,'dlaf::eigensolver::internal::red2band']]], + ['configuration_610',['configuration',['../structdlaf_1_1configuration.html',1,'dlaf']]], + ['consumervalues_611',['ConsumeRvalues',['../structdlaf_1_1common_1_1internal_1_1_consume_rvalues.html',1,'dlaf::common::internal']]], + ['contains_612',['Contains',['../structdlaf_1_1internal_1_1_contains.html',1,'dlaf::internal']]], + ['contains_3c_20t_20_3e_613',['Contains< T >',['../structdlaf_1_1internal_1_1_contains_3_01_t_01_4.html',1,'dlaf::internal']]], + ['contains_3c_20t_2c_20t_2c_20ts_2e_2e_2e_20_3e_614',['Contains< T, T, Ts... >',['../structdlaf_1_1internal_1_1_contains_3_01_t_00_01_t_00_01_ts_8_8_8_01_4.html',1,'dlaf::internal']]], + ['contains_3c_20t_2c_20ts_2e_2e_2e_20_3e_615',['Contains< T, Ts... >',['../structdlaf_1_1internal_1_1_contains.html',1,'dlaf::internal']]], + ['contains_3c_20t_2c_20u_2c_20ts_2e_2e_2e_20_3e_616',['Contains< T, U, Ts... >',['../structdlaf_1_1internal_1_1_contains_3_01_t_00_01_u_00_01_ts_8_8_8_01_4.html',1,'dlaf::internal']]], + ['copybackend_617',['CopyBackend',['../structdlaf_1_1matrix_1_1internal_1_1_copy_backend.html',1,'dlaf::matrix::internal']]], + ['copybackend_3c_20device_3a_3acpu_2c_20device_3a_3acpu_20_3e_618',['CopyBackend< Device::CPU, Device::CPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_backend_3_01_device_1_1_c_p_u_00_01_device_1_1_c_p_u_01_4.html',1,'dlaf::matrix::internal']]], + ['copybackend_3c_20device_3a_3acpu_2c_20device_3a_3agpu_20_3e_619',['CopyBackend< Device::CPU, Device::GPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_backend_3_01_device_1_1_c_p_u_00_01_device_1_1_g_p_u_01_4.html',1,'dlaf::matrix::internal']]], + ['copybackend_3c_20device_3a_3agpu_2c_20device_3a_3acpu_20_3e_620',['CopyBackend< Device::GPU, Device::CPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_backend_3_01_device_1_1_g_p_u_00_01_device_1_1_c_p_u_01_4.html',1,'dlaf::matrix::internal']]], + ['copybackend_3c_20device_3a_3agpu_2c_20device_3a_3agpu_20_3e_621',['CopyBackend< Device::GPU, Device::GPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_backend_3_01_device_1_1_g_p_u_00_01_device_1_1_g_p_u_01_4.html',1,'dlaf::matrix::internal']]], + ['copytile_622',['CopyTile',['../structdlaf_1_1matrix_1_1internal_1_1_copy_tile.html',1,'dlaf::matrix::internal']]], + ['copytile_3c_20t_2c_20device_3a_3acpu_2c_20device_3a_3acpu_20_3e_623',['CopyTile< T, Device::CPU, Device::CPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_tile_3_01_t_00_01_device_1_1_c_p_u_00_01_device_1_1_c_p_u_01_4.html',1,'dlaf::matrix::internal']]], + ['copytile_3c_20t_2c_20device_3a_3acpu_2c_20device_3a_3agpu_20_3e_624',['CopyTile< T, Device::CPU, Device::GPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_tile_3_01_t_00_01_device_1_1_c_p_u_00_01_device_1_1_g_p_u_01_4.html',1,'dlaf::matrix::internal']]], + ['copytile_3c_20t_2c_20device_3a_3agpu_2c_20device_3a_3acpu_20_3e_625',['CopyTile< T, Device::GPU, Device::CPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_tile_3_01_t_00_01_device_1_1_g_p_u_00_01_device_1_1_c_p_u_01_4.html',1,'dlaf::matrix::internal']]], + ['copytile_3c_20t_2c_20device_3a_3agpu_2c_20device_3a_3agpu_20_3e_626',['CopyTile< T, Device::GPU, Device::GPU >',['../structdlaf_1_1matrix_1_1internal_1_1_copy_tile_3_01_t_00_01_device_1_1_g_p_u_00_01_device_1_1_g_p_u_01_4.html',1,'dlaf::matrix::internal']]], + ['cpptocudatype_627',['CppToCudaType',['../structdlaf_1_1util_1_1internal_1_1_cpp_to_cuda_type.html',1,'dlaf::util::internal']]], + ['cpptocudatype_3c_20const_20t_20_3e_628',['CppToCudaType< const T >',['../structdlaf_1_1util_1_1internal_1_1_cpp_to_cuda_type_3_01const_01_t_01_4.html',1,'dlaf::util::internal']]], + ['cpptocudatype_3c_20std_3a_3acomplex_3c_20double_20_3e_20_3e_629',['CppToCudaType< std::complex< double > >',['../structdlaf_1_1util_1_1internal_1_1_cpp_to_cuda_type_3_01std_1_1complex_3_01double_01_4_01_4.html',1,'dlaf::util::internal']]], + ['cpptocudatype_3c_20std_3a_3acomplex_3c_20float_20_3e_20_3e_630',['CppToCudaType< std::complex< float > >',['../structdlaf_1_1util_1_1internal_1_1_cpp_to_cuda_type_3_01std_1_1complex_3_01float_01_4_01_4.html',1,'dlaf::util::internal']]], + ['cpptocudatype_3c_20t_20_2a_20_3e_631',['CppToCudaType< T * >',['../structdlaf_1_1util_1_1internal_1_1_cpp_to_cuda_type_3_01_t_01_5_01_4.html',1,'dlaf::util::internal']]], + ['csv_632',['csv',['../structdlaf_1_1format_1_1csv.html',1,'dlaf::format']]] ]; diff --git a/master/search/classes_3.js b/master/search/classes_3.js index 875cb54420..92b7767057 100644 --- a/master/search/classes_3.js +++ b/master/search/classes_3.js @@ -1,20 +1,20 @@ var searchData= [ - ['data_5ftraits_632',['data_traits',['../structdlaf_1_1common_1_1data__traits.html',1,'dlaf::common']]], - ['data_5ftraits_3c_20buffer_3c_20t_20_3e_20_3e_633',['data_traits< Buffer< T > >',['../structdlaf_1_1common_1_1data__traits_3_01_buffer_3_01_t_01_4_01_4.html',1,'dlaf::common']]], - ['data_5ftraits_3c_20datadescriptor_3c_20t_20_3e_20_3e_634',['data_traits< DataDescriptor< T > >',['../structdlaf_1_1common_1_1data__traits_3_01_data_descriptor_3_01_t_01_4_01_4.html',1,'dlaf::common']]], - ['data_5ftraits_3c_20datadescriptor_3c_20t_5bn_5d_3e_20_3e_635',['data_traits< DataDescriptor< T[N]> >',['../structdlaf_1_1common_1_1data__traits_3_01_data_descriptor_3_01_t_0f_n_0e_4_01_4.html',1,'dlaf::common']]], - ['datadescriptor_636',['DataDescriptor',['../structdlaf_1_1common_1_1_data_descriptor.html',1,'dlaf::common']]], - ['datadescriptor_3c_20t_5bn_5d_3e_637',['DataDescriptor< T[N]>',['../structdlaf_1_1common_1_1_data_descriptor_3_01_t_0f_n_0e_4.html',1,'dlaf::common']]], - ['defaultbackend_638',['DefaultBackend',['../structdlaf_1_1_default_backend.html',1,'dlaf']]], - ['defaultbackend_3c_20device_3a_3acpu_20_3e_639',['DefaultBackend< Device::CPU >',['../structdlaf_1_1_default_backend_3_01_device_1_1_c_p_u_01_4.html',1,'dlaf']]], - ['defaultbackend_3c_20device_3a_3agpu_20_3e_640',['DefaultBackend< Device::GPU >',['../structdlaf_1_1_default_backend_3_01_device_1_1_g_p_u_01_4.html',1,'dlaf']]], - ['defaultdevice_641',['DefaultDevice',['../structdlaf_1_1_default_device.html',1,'dlaf']]], - ['defaultdevice_3c_20backend_3a_3agpu_20_3e_642',['DefaultDevice< Backend::GPU >',['../structdlaf_1_1_default_device_3_01_backend_1_1_g_p_u_01_4.html',1,'dlaf']]], - ['defaultdevice_3c_20backend_3a_3amc_20_3e_643',['DefaultDevice< Backend::MC >',['../structdlaf_1_1_default_device_3_01_backend_1_1_m_c_01_4.html',1,'dlaf']]], - ['distindexing_644',['DistIndexing',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_dist_indexing.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], - ['distribution_645',['Distribution',['../classdlaf_1_1matrix_1_1_distribution.html',1,'dlaf::matrix']]], - ['distworkspacehostmirror_646',['DistWorkSpaceHostMirror',['../structdlaf_1_1eigensolver_1_1internal_1_1_dist_work_space_host_mirror.html',1,'dlaf::eigensolver::internal']]], - ['dlaf_5fdescriptor_647',['DLAF_descriptor',['../struct_d_l_a_f__descriptor.html',1,'']]], - ['duplicatenocopy_648',['DuplicateNoCopy',['../structdlaf_1_1matrix_1_1_duplicate_no_copy.html',1,'dlaf::matrix']]] + ['data_5ftraits_633',['data_traits',['../structdlaf_1_1common_1_1data__traits.html',1,'dlaf::common']]], + ['data_5ftraits_3c_20buffer_3c_20t_20_3e_20_3e_634',['data_traits< Buffer< T > >',['../structdlaf_1_1common_1_1data__traits_3_01_buffer_3_01_t_01_4_01_4.html',1,'dlaf::common']]], + ['data_5ftraits_3c_20datadescriptor_3c_20t_20_3e_20_3e_635',['data_traits< DataDescriptor< T > >',['../structdlaf_1_1common_1_1data__traits_3_01_data_descriptor_3_01_t_01_4_01_4.html',1,'dlaf::common']]], + ['data_5ftraits_3c_20datadescriptor_3c_20t_5bn_5d_3e_20_3e_636',['data_traits< DataDescriptor< T[N]> >',['../structdlaf_1_1common_1_1data__traits_3_01_data_descriptor_3_01_t_0f_n_0e_4_01_4.html',1,'dlaf::common']]], + ['datadescriptor_637',['DataDescriptor',['../structdlaf_1_1common_1_1_data_descriptor.html',1,'dlaf::common']]], + ['datadescriptor_3c_20t_5bn_5d_3e_638',['DataDescriptor< T[N]>',['../structdlaf_1_1common_1_1_data_descriptor_3_01_t_0f_n_0e_4.html',1,'dlaf::common']]], + ['defaultbackend_639',['DefaultBackend',['../structdlaf_1_1_default_backend.html',1,'dlaf']]], + ['defaultbackend_3c_20device_3a_3acpu_20_3e_640',['DefaultBackend< Device::CPU >',['../structdlaf_1_1_default_backend_3_01_device_1_1_c_p_u_01_4.html',1,'dlaf']]], + ['defaultbackend_3c_20device_3a_3agpu_20_3e_641',['DefaultBackend< Device::GPU >',['../structdlaf_1_1_default_backend_3_01_device_1_1_g_p_u_01_4.html',1,'dlaf']]], + ['defaultdevice_642',['DefaultDevice',['../structdlaf_1_1_default_device.html',1,'dlaf']]], + ['defaultdevice_3c_20backend_3a_3agpu_20_3e_643',['DefaultDevice< Backend::GPU >',['../structdlaf_1_1_default_device_3_01_backend_1_1_g_p_u_01_4.html',1,'dlaf']]], + ['defaultdevice_3c_20backend_3a_3amc_20_3e_644',['DefaultDevice< Backend::MC >',['../structdlaf_1_1_default_device_3_01_backend_1_1_m_c_01_4.html',1,'dlaf']]], + ['distindexing_645',['DistIndexing',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_dist_indexing.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], + ['distribution_646',['Distribution',['../classdlaf_1_1matrix_1_1_distribution.html',1,'dlaf::matrix']]], + ['distworkspacehostmirror_647',['DistWorkSpaceHostMirror',['../structdlaf_1_1eigensolver_1_1internal_1_1_dist_work_space_host_mirror.html',1,'dlaf::eigensolver::internal']]], + ['dlaf_5fdescriptor_648',['DLAF_descriptor',['../struct_d_l_a_f__descriptor.html',1,'']]], + ['duplicatenocopy_649',['DuplicateNoCopy',['../structdlaf_1_1matrix_1_1_duplicate_no_copy.html',1,'dlaf::matrix']]] ]; diff --git a/master/search/classes_4.js b/master/search/classes_4.js index bf74627125..fdb4bc34eb 100644 --- a/master/search/classes_4.js +++ b/master/search/classes_4.js @@ -1,6 +1,6 @@ var searchData= [ - ['eigensolver_649',['Eigensolver',['../structdlaf_1_1eigensolver_1_1internal_1_1_eigensolver.html',1,'dlaf::eigensolver::internal']]], - ['eigensolverresult_650',['EigensolverResult',['../structdlaf_1_1_eigensolver_result.html',1,'dlaf']]], - ['emptyenv_651',['EmptyEnv',['../structdlaf_1_1internal_1_1_empty_env.html',1,'dlaf::internal']]] + ['eigensolver_650',['Eigensolver',['../structdlaf_1_1eigensolver_1_1internal_1_1_eigensolver.html',1,'dlaf::eigensolver::internal']]], + ['eigensolverresult_651',['EigensolverResult',['../structdlaf_1_1_eigensolver_result.html',1,'dlaf']]], + ['emptyenv_652',['EmptyEnv',['../structdlaf_1_1internal_1_1_empty_env.html',1,'dlaf::internal']]] ]; diff --git a/master/search/classes_5.js b/master/search/classes_5.js index f8c5568c97..a4dcafc630 100644 --- a/master/search/classes_5.js +++ b/master/search/classes_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['formatshort_652',['FormatShort',['../structdlaf_1_1internal_1_1_format_short.html',1,'dlaf::internal']]] + ['formatshort_653',['FormatShort',['../structdlaf_1_1internal_1_1_format_short.html',1,'dlaf::internal']]] ]; diff --git a/master/search/classes_6.js b/master/search/classes_6.js index 71b2846a44..9d3804880c 100644 --- a/master/search/classes_6.js +++ b/master/search/classes_6.js @@ -1,10 +1,10 @@ var searchData= [ - ['gemmsizes_653',['gemmSizes',['../structdlaf_1_1tile_1_1internal_1_1gemm_sizes.html',1,'dlaf::tile::internal']]], - ['geneigensolver_654',['GenEigensolver',['../structdlaf_1_1eigensolver_1_1internal_1_1_gen_eigensolver.html',1,'dlaf::eigensolver::internal']]], - ['generalsub_655',['GeneralSub',['../structdlaf_1_1multiplication_1_1internal_1_1_general_sub.html',1,'dlaf::multiplication::internal']]], - ['gentostd_656',['GenToStd',['../structdlaf_1_1eigensolver_1_1internal_1_1_gen_to_std.html',1,'dlaf::eigensolver::internal']]], - ['getter_5frandom_657',['getter_random',['../classdlaf_1_1matrix_1_1util_1_1internal_1_1getter__random.html',1,'dlaf::matrix::util::internal']]], - ['getter_5frandom_3c_20std_3a_3acomplex_3c_20t_20_3e_20_3e_658',['getter_random< std::complex< T > >',['../classdlaf_1_1matrix_1_1util_1_1internal_1_1getter__random_3_01std_1_1complex_3_01_t_01_4_01_4.html',1,'dlaf::matrix::util::internal']]], - ['givensrotation_659',['GivensRotation',['../structdlaf_1_1eigensolver_1_1internal_1_1_givens_rotation.html',1,'dlaf::eigensolver::internal']]] + ['gemmsizes_654',['gemmSizes',['../structdlaf_1_1tile_1_1internal_1_1gemm_sizes.html',1,'dlaf::tile::internal']]], + ['geneigensolver_655',['GenEigensolver',['../structdlaf_1_1eigensolver_1_1internal_1_1_gen_eigensolver.html',1,'dlaf::eigensolver::internal']]], + ['generalsub_656',['GeneralSub',['../structdlaf_1_1multiplication_1_1internal_1_1_general_sub.html',1,'dlaf::multiplication::internal']]], + ['gentostd_657',['GenToStd',['../structdlaf_1_1eigensolver_1_1internal_1_1_gen_to_std.html',1,'dlaf::eigensolver::internal']]], + ['getter_5frandom_658',['getter_random',['../classdlaf_1_1matrix_1_1util_1_1internal_1_1getter__random.html',1,'dlaf::matrix::util::internal']]], + ['getter_5frandom_3c_20std_3a_3acomplex_3c_20t_20_3e_20_3e_659',['getter_random< std::complex< T > >',['../classdlaf_1_1matrix_1_1util_1_1internal_1_1getter__random_3_01std_1_1complex_3_01_t_01_4_01_4.html',1,'dlaf::matrix::util::internal']]], + ['givensrotation_660',['GivensRotation',['../structdlaf_1_1eigensolver_1_1internal_1_1_givens_rotation.html',1,'dlaf::eigensolver::internal']]] ]; diff --git a/master/search/classes_7.js b/master/search/classes_7.js index 959257e461..5d06c13890 100644 --- a/master/search/classes_7.js +++ b/master/search/classes_7.js @@ -1,15 +1,15 @@ var searchData= [ - ['helpers_660',['Helpers',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__red__band_1_1_helpers.html',1,'dlaf::eigensolver::internal::bt_red_band::Helpers< B >'],['../structdlaf_1_1factorization_1_1internal_1_1tfactor__l_1_1_helpers.html',1,'dlaf::factorization::internal::tfactor_l::Helpers< backend, device, T >']]], - ['helpers_3c_20backend_3a_3agpu_20_3e_661',['Helpers< Backend::GPU >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__red__band_1_1_helpers_3_01_backend_1_1_g_p_u_01_4.html',1,'dlaf::eigensolver::internal::bt_red_band']]], - ['helpers_3c_20backend_3a_3agpu_2c_20device_3a_3agpu_2c_20t_20_3e_662',['Helpers< Backend::GPU, Device::GPU, T >',['../structdlaf_1_1factorization_1_1internal_1_1tfactor__l_1_1_helpers_3_01_backend_1_1_g_p_u_00_01_device_1_1_g_p_u_00_01_t_01_4.html',1,'dlaf::factorization::internal::tfactor_l']]], - ['helpers_3c_20backend_3a_3amc_20_3e_663',['Helpers< Backend::MC >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__red__band_1_1_helpers_3_01_backend_1_1_m_c_01_4.html',1,'dlaf::eigensolver::internal::bt_red_band']]], - ['helpers_3c_20backend_3a_3amc_2c_20device_3a_3acpu_2c_20t_20_3e_664',['Helpers< Backend::MC, Device::CPU, T >',['../structdlaf_1_1factorization_1_1internal_1_1tfactor__l_1_1_helpers_3_01_backend_1_1_m_c_00_01_device_1_1_c_p_u_00_01_t_01_4.html',1,'dlaf::factorization::internal::tfactor_l']]], - ['hemmsizes_665',['hemmSizes',['../structdlaf_1_1tile_1_1internal_1_1hemm_sizes.html',1,'dlaf::tile::internal']]], - ['her2ksizes_666',['her2kSizes',['../structdlaf_1_1tile_1_1internal_1_1her2k_sizes.html',1,'dlaf::tile::internal']]], - ['herksizes_667',['herkSizes',['../structdlaf_1_1tile_1_1internal_1_1herk_sizes.html',1,'dlaf::tile::internal']]], - ['hermitian_668',['Hermitian',['../structdlaf_1_1multiplication_1_1internal_1_1_hermitian.html',1,'dlaf::multiplication::internal']]], - ['hhmanager_669',['HHManager',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_h_h_manager.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], - ['hhmanager_3c_20backend_3a_3agpu_2c_20device_3a_3agpu_2c_20t_20_3e_670',['HHManager< Backend::GPU, Device::GPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_h_h_manager_3_01_backend_1_1_g_p_u_00_01_device_1_1_g_p_u_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], - ['hhmanager_3c_20backend_3a_3amc_2c_20device_3a_3acpu_2c_20t_20_3e_671',['HHManager< Backend::MC, Device::CPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_h_h_manager_3_01_backend_1_1_m_c_00_01_device_1_1_c_p_u_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]] + ['helpers_661',['Helpers',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__red__band_1_1_helpers.html',1,'dlaf::eigensolver::internal::bt_red_band::Helpers< B >'],['../structdlaf_1_1factorization_1_1internal_1_1tfactor__l_1_1_helpers.html',1,'dlaf::factorization::internal::tfactor_l::Helpers< backend, device, T >']]], + ['helpers_3c_20backend_3a_3agpu_20_3e_662',['Helpers< Backend::GPU >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__red__band_1_1_helpers_3_01_backend_1_1_g_p_u_01_4.html',1,'dlaf::eigensolver::internal::bt_red_band']]], + ['helpers_3c_20backend_3a_3agpu_2c_20device_3a_3agpu_2c_20t_20_3e_663',['Helpers< Backend::GPU, Device::GPU, T >',['../structdlaf_1_1factorization_1_1internal_1_1tfactor__l_1_1_helpers_3_01_backend_1_1_g_p_u_00_01_device_1_1_g_p_u_00_01_t_01_4.html',1,'dlaf::factorization::internal::tfactor_l']]], + ['helpers_3c_20backend_3a_3amc_20_3e_664',['Helpers< Backend::MC >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__red__band_1_1_helpers_3_01_backend_1_1_m_c_01_4.html',1,'dlaf::eigensolver::internal::bt_red_band']]], + ['helpers_3c_20backend_3a_3amc_2c_20device_3a_3acpu_2c_20t_20_3e_665',['Helpers< Backend::MC, Device::CPU, T >',['../structdlaf_1_1factorization_1_1internal_1_1tfactor__l_1_1_helpers_3_01_backend_1_1_m_c_00_01_device_1_1_c_p_u_00_01_t_01_4.html',1,'dlaf::factorization::internal::tfactor_l']]], + ['hemmsizes_666',['hemmSizes',['../structdlaf_1_1tile_1_1internal_1_1hemm_sizes.html',1,'dlaf::tile::internal']]], + ['her2ksizes_667',['her2kSizes',['../structdlaf_1_1tile_1_1internal_1_1her2k_sizes.html',1,'dlaf::tile::internal']]], + ['herksizes_668',['herkSizes',['../structdlaf_1_1tile_1_1internal_1_1herk_sizes.html',1,'dlaf::tile::internal']]], + ['hermitian_669',['Hermitian',['../structdlaf_1_1multiplication_1_1internal_1_1_hermitian.html',1,'dlaf::multiplication::internal']]], + ['hhmanager_670',['HHManager',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_h_h_manager.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], + ['hhmanager_3c_20backend_3a_3agpu_2c_20device_3a_3agpu_2c_20t_20_3e_671',['HHManager< Backend::GPU, Device::GPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_h_h_manager_3_01_backend_1_1_g_p_u_00_01_device_1_1_g_p_u_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]], + ['hhmanager_3c_20backend_3a_3amc_2c_20device_3a_3acpu_2c_20t_20_3e_672',['HHManager< Backend::MC, Device::CPU, T >',['../structdlaf_1_1eigensolver_1_1internal_1_1bt__tridiag_1_1_h_h_manager_3_01_backend_1_1_m_c_00_01_device_1_1_c_p_u_00_01_t_01_4.html',1,'dlaf::eigensolver::internal::bt_tridiag']]] ]; diff --git a/master/search/classes_8.js b/master/search/classes_8.js index 2b3fcb3f5d..93fc559355 100644 --- a/master/search/classes_8.js +++ b/master/search/classes_8.js @@ -1,18 +1,18 @@ var searchData= [ - ['index2d_672',['Index2D',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], - ['index2d_3c_20indext_5fmpi_2c_20tag_5fmpi_20_3e_673',['Index2D< IndexT_MPI, TAG_MPI >',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], - ['index2d_3c_20sizetype_2c_20matrix_3a_3aglobalelement_5ftag_20_3e_674',['Index2D< SizeType, matrix::GlobalElement_TAG >',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], - ['index2d_3c_20sizetype_2c_20matrix_3a_3aglobaltile_5ftag_20_3e_675',['Index2D< SizeType, matrix::GlobalTile_TAG >',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], - ['index2d_3c_20sizetype_2c_20matrix_3a_3alocaltile_5ftag_20_3e_676',['Index2D< SizeType, matrix::LocalTile_TAG >',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], - ['index2d_3c_20sizetype_2c_20matrix_3a_3atileelement_5ftag_20_3e_677',['Index2D< SizeType, matrix::TileElement_TAG >',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], - ['is_5fcoord_678',['is_coord',['../structdlaf_1_1common_1_1internal_1_1is__coord.html',1,'dlaf::common::internal']]], - ['is_5fcoord_3c_20index2d_3c_20t_2c_20tag_20_3e_20_3e_679',['is_coord< Index2D< T, Tag > >',['../structdlaf_1_1common_1_1internal_1_1is__coord_3_01_index2_d_3_01_t_00_01_tag_01_4_01_4.html',1,'dlaf::common::internal']]], - ['is_5fcoord_3c_20size2d_3c_20t_2c_20tag_20_3e_20_3e_680',['is_coord< Size2D< T, Tag > >',['../structdlaf_1_1common_1_1internal_1_1is__coord_3_01_size2_d_3_01_t_00_01_tag_01_4_01_4.html',1,'dlaf::common::internal']]], - ['is_5fdata_681',['is_data',['../structdlaf_1_1common_1_1is__data.html',1,'dlaf::common']]], - ['isfalse_682',['IsFalse',['../structdlaf_1_1internal_1_1_is_false.html',1,'dlaf::internal']]], - ['isfloatingpointorcomplex_683',['IsFloatingPointOrComplex',['../structdlaf_1_1internal_1_1_is_floating_point_or_complex.html',1,'dlaf::internal']]], - ['isfloatingpointorcomplex_3c_20std_3a_3acomplex_3c_20t_20_3e_20_3e_684',['IsFloatingPointOrComplex< std::complex< T > >',['../structdlaf_1_1internal_1_1_is_floating_point_or_complex_3_01std_1_1complex_3_01_t_01_4_01_4.html',1,'dlaf::internal']]], - ['iterablerange2d_685',['IterableRange2D',['../classdlaf_1_1common_1_1_iterable_range2_d.html',1,'dlaf::common']]], - ['iteratorrange2d_686',['IteratorRange2D',['../structdlaf_1_1common_1_1_iterator_range2_d.html',1,'dlaf::common']]] + ['index2d_673',['Index2D',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], + ['index2d_3c_20indext_5fmpi_2c_20tag_5fmpi_20_3e_674',['Index2D< IndexT_MPI, TAG_MPI >',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], + ['index2d_3c_20sizetype_2c_20matrix_3a_3aglobalelement_5ftag_20_3e_675',['Index2D< SizeType, matrix::GlobalElement_TAG >',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], + ['index2d_3c_20sizetype_2c_20matrix_3a_3aglobaltile_5ftag_20_3e_676',['Index2D< SizeType, matrix::GlobalTile_TAG >',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], + ['index2d_3c_20sizetype_2c_20matrix_3a_3alocaltile_5ftag_20_3e_677',['Index2D< SizeType, matrix::LocalTile_TAG >',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], + ['index2d_3c_20sizetype_2c_20matrix_3a_3atileelement_5ftag_20_3e_678',['Index2D< SizeType, matrix::TileElement_TAG >',['../classdlaf_1_1common_1_1_index2_d.html',1,'dlaf::common']]], + ['is_5fcoord_679',['is_coord',['../structdlaf_1_1common_1_1internal_1_1is__coord.html',1,'dlaf::common::internal']]], + ['is_5fcoord_3c_20index2d_3c_20t_2c_20tag_20_3e_20_3e_680',['is_coord< Index2D< T, Tag > >',['../structdlaf_1_1common_1_1internal_1_1is__coord_3_01_index2_d_3_01_t_00_01_tag_01_4_01_4.html',1,'dlaf::common::internal']]], + ['is_5fcoord_3c_20size2d_3c_20t_2c_20tag_20_3e_20_3e_681',['is_coord< Size2D< T, Tag > >',['../structdlaf_1_1common_1_1internal_1_1is__coord_3_01_size2_d_3_01_t_00_01_tag_01_4_01_4.html',1,'dlaf::common::internal']]], + ['is_5fdata_682',['is_data',['../structdlaf_1_1common_1_1is__data.html',1,'dlaf::common']]], + ['isfalse_683',['IsFalse',['../structdlaf_1_1internal_1_1_is_false.html',1,'dlaf::internal']]], + ['isfloatingpointorcomplex_684',['IsFloatingPointOrComplex',['../structdlaf_1_1internal_1_1_is_floating_point_or_complex.html',1,'dlaf::internal']]], + ['isfloatingpointorcomplex_3c_20std_3a_3acomplex_3c_20t_20_3e_20_3e_685',['IsFloatingPointOrComplex< std::complex< T > >',['../structdlaf_1_1internal_1_1_is_floating_point_or_complex_3_01std_1_1complex_3_01_t_01_4_01_4.html',1,'dlaf::internal']]], + ['iterablerange2d_686',['IterableRange2D',['../classdlaf_1_1common_1_1_iterable_range2_d.html',1,'dlaf::common']]], + ['iteratorrange2d_687',['IteratorRange2D',['../structdlaf_1_1common_1_1_iterator_range2_d.html',1,'dlaf::common']]] ]; diff --git a/master/search/classes_9.js b/master/search/classes_9.js index 0a9b0fc709..d27e3714be 100644 --- a/master/search/classes_9.js +++ b/master/search/classes_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['layoutinfo_687',['LayoutInfo',['../classdlaf_1_1matrix_1_1_layout_info.html',1,'dlaf::matrix']]] + ['layoutinfo_688',['LayoutInfo',['../classdlaf_1_1matrix_1_1_layout_info.html',1,'dlaf::matrix']]] ]; diff --git a/master/search/classes_a.js b/master/search/classes_a.js index 78ffc20464..ddcc7b7786 100644 --- a/master/search/classes_a.js +++ b/master/search/classes_a.js @@ -1,26 +1,26 @@ var searchData= [ - ['matrix_688',['Matrix',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], - ['matrix_3c_20const_20t_2c_20d_20_3e_689',['Matrix< const T, D >',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html',1,'dlaf::matrix']]], - ['matrix_3c_20const_20t_2c_20source_20_3e_690',['Matrix< const T, Source >',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], - ['matrix_3c_20const_20t_2c_20sourcetarget_20_3e_691',['Matrix< const T, SourceTarget >',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], - ['matrix_3c_20t_2c_20source_20_3e_692',['Matrix< T, Source >',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], - ['matrix_3c_20t_2c_20sourcetarget_20_3e_693',['Matrix< T, SourceTarget >',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], - ['matrix_3c_20t_2c_20target_20_3e_694',['Matrix< T, Target >',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], - ['matrixbase_695',['MatrixBase',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html',1,'dlaf::matrix::internal']]], - ['matrixmirror_696',['MatrixMirror',['../classdlaf_1_1matrix_1_1_matrix_mirror.html',1,'dlaf::matrix']]], - ['matrixmirror_3c_20const_20t_2c_20sourcetarget_2c_20sourcetarget_20_3e_697',['MatrixMirror< const T, SourceTarget, SourceTarget >',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_source_target_00_01_source_target_01_4.html',1,'dlaf::matrix']]], - ['matrixmirror_3c_20const_20t_2c_20target_2c_20source_20_3e_698',['MatrixMirror< const T, Target, Source >',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html',1,'dlaf::matrix']]], - ['matrixmirror_3c_20t_2c_20sourcetarget_2c_20sourcetarget_20_3e_699',['MatrixMirror< T, SourceTarget, SourceTarget >',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html',1,'dlaf::matrix']]], - ['matrixref_700',['MatrixRef',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref.html',1,'dlaf::matrix::internal']]], - ['matrixref_3c_20const_20t_2c_20d_20_3e_701',['MatrixRef< const T, D >',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref_3_01const_01_t_00_01_d_01_4.html',1,'dlaf::matrix::internal']]], - ['memorychunk_702',['MemoryChunk',['../classdlaf_1_1memory_1_1_memory_chunk.html',1,'dlaf::memory']]], - ['memoryview_703',['MemoryView',['../classdlaf_1_1memory_1_1_memory_view.html',1,'dlaf::memory']]], - ['memoryview_3c_20t_2c_20device_3a_3acpu_20_3e_704',['MemoryView< T, Device::CPU >',['../classdlaf_1_1memory_1_1_memory_view.html',1,'dlaf::memory']]], - ['message_705',['Message',['../classdlaf_1_1comm_1_1_message.html',1,'dlaf::comm']]], - ['movenonconsttile_706',['moveNonConstTile',['../structdlaf_1_1internal_1_1move_non_const_tile.html',1,'dlaf::internal']]], - ['mpi_5fdatatype_707',['mpi_datatype',['../structdlaf_1_1comm_1_1mpi__datatype.html',1,'dlaf::comm']]], - ['mpi_5fdatatype_3c_20const_20t_20_3e_708',['mpi_datatype< const T >',['../structdlaf_1_1comm_1_1mpi__datatype_3_01const_01_t_01_4.html',1,'dlaf::comm']]], - ['mpi_5finit_709',['mpi_init',['../structdlaf_1_1comm_1_1mpi__init.html',1,'dlaf::comm']]], - ['mpicallhelper_710',['MPICallHelper',['../structdlaf_1_1comm_1_1internal_1_1_m_p_i_call_helper.html',1,'dlaf::comm::internal']]] + ['matrix_689',['Matrix',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], + ['matrix_3c_20const_20t_2c_20d_20_3e_690',['Matrix< const T, D >',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html',1,'dlaf::matrix']]], + ['matrix_3c_20const_20t_2c_20source_20_3e_691',['Matrix< const T, Source >',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], + ['matrix_3c_20const_20t_2c_20sourcetarget_20_3e_692',['Matrix< const T, SourceTarget >',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], + ['matrix_3c_20t_2c_20source_20_3e_693',['Matrix< T, Source >',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], + ['matrix_3c_20t_2c_20sourcetarget_20_3e_694',['Matrix< T, SourceTarget >',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], + ['matrix_3c_20t_2c_20target_20_3e_695',['Matrix< T, Target >',['../classdlaf_1_1matrix_1_1_matrix.html',1,'dlaf::matrix']]], + ['matrixbase_696',['MatrixBase',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html',1,'dlaf::matrix::internal']]], + ['matrixmirror_697',['MatrixMirror',['../classdlaf_1_1matrix_1_1_matrix_mirror.html',1,'dlaf::matrix']]], + ['matrixmirror_3c_20const_20t_2c_20sourcetarget_2c_20sourcetarget_20_3e_698',['MatrixMirror< const T, SourceTarget, SourceTarget >',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_source_target_00_01_source_target_01_4.html',1,'dlaf::matrix']]], + ['matrixmirror_3c_20const_20t_2c_20target_2c_20source_20_3e_699',['MatrixMirror< const T, Target, Source >',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html',1,'dlaf::matrix']]], + ['matrixmirror_3c_20t_2c_20sourcetarget_2c_20sourcetarget_20_3e_700',['MatrixMirror< T, SourceTarget, SourceTarget >',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html',1,'dlaf::matrix']]], + ['matrixref_701',['MatrixRef',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref.html',1,'dlaf::matrix::internal']]], + ['matrixref_3c_20const_20t_2c_20d_20_3e_702',['MatrixRef< const T, D >',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref_3_01const_01_t_00_01_d_01_4.html',1,'dlaf::matrix::internal']]], + ['memorychunk_703',['MemoryChunk',['../classdlaf_1_1memory_1_1_memory_chunk.html',1,'dlaf::memory']]], + ['memoryview_704',['MemoryView',['../classdlaf_1_1memory_1_1_memory_view.html',1,'dlaf::memory']]], + ['memoryview_3c_20t_2c_20device_3a_3acpu_20_3e_705',['MemoryView< T, Device::CPU >',['../classdlaf_1_1memory_1_1_memory_view.html',1,'dlaf::memory']]], + ['message_706',['Message',['../classdlaf_1_1comm_1_1_message.html',1,'dlaf::comm']]], + ['movenonconsttile_707',['moveNonConstTile',['../structdlaf_1_1internal_1_1move_non_const_tile.html',1,'dlaf::internal']]], + ['mpi_5fdatatype_708',['mpi_datatype',['../structdlaf_1_1comm_1_1mpi__datatype.html',1,'dlaf::comm']]], + ['mpi_5fdatatype_3c_20const_20t_20_3e_709',['mpi_datatype< const T >',['../structdlaf_1_1comm_1_1mpi__datatype_3_01const_01_t_01_4.html',1,'dlaf::comm']]], + ['mpi_5finit_710',['mpi_init',['../structdlaf_1_1comm_1_1mpi__init.html',1,'dlaf::comm']]], + ['mpicallhelper_711',['MPICallHelper',['../structdlaf_1_1comm_1_1internal_1_1_m_p_i_call_helper.html',1,'dlaf::comm::internal']]] ]; diff --git a/master/search/classes_b.js b/master/search/classes_b.js index ec4cf15de6..e1139e8a25 100644 --- a/master/search/classes_b.js +++ b/master/search/classes_b.js @@ -1,8 +1,8 @@ var searchData= [ - ['norm_711',['Norm',['../structdlaf_1_1auxiliary_1_1internal_1_1_norm.html',1,'dlaf::auxiliary::internal']]], - ['norm_3c_20backend_3a_3amc_2c_20device_3a_3acpu_2c_20t_20_3e_712',['Norm< Backend::MC, Device::CPU, T >',['../structdlaf_1_1auxiliary_1_1internal_1_1_norm_3_01_backend_1_1_m_c_00_01_device_1_1_c_p_u_00_01_t_01_4.html',1,'dlaf::auxiliary::internal']]], - ['numpy_713',['numpy',['../structdlaf_1_1format_1_1numpy.html',1,'dlaf::format']]], - ['numpy_5fdatatype_714',['numpy_datatype',['../structdlaf_1_1matrix_1_1internal_1_1numpy__datatype.html',1,'dlaf::matrix::internal']]], - ['numpy_5fdatatype_3c_20std_3a_3acomplex_3c_20t_20_3e_20_3e_715',['numpy_datatype< std::complex< T > >',['../structdlaf_1_1matrix_1_1internal_1_1numpy__datatype_3_01std_1_1complex_3_01_t_01_4_01_4.html',1,'dlaf::matrix::internal']]] + ['norm_712',['Norm',['../structdlaf_1_1auxiliary_1_1internal_1_1_norm.html',1,'dlaf::auxiliary::internal']]], + ['norm_3c_20backend_3a_3amc_2c_20device_3a_3acpu_2c_20t_20_3e_713',['Norm< Backend::MC, Device::CPU, T >',['../structdlaf_1_1auxiliary_1_1internal_1_1_norm_3_01_backend_1_1_m_c_00_01_device_1_1_c_p_u_00_01_t_01_4.html',1,'dlaf::auxiliary::internal']]], + ['numpy_714',['numpy',['../structdlaf_1_1format_1_1numpy.html',1,'dlaf::format']]], + ['numpy_5fdatatype_715',['numpy_datatype',['../structdlaf_1_1matrix_1_1internal_1_1numpy__datatype.html',1,'dlaf::matrix::internal']]], + ['numpy_5fdatatype_3c_20std_3a_3acomplex_3c_20t_20_3e_20_3e_716',['numpy_datatype< std::complex< T > >',['../structdlaf_1_1matrix_1_1internal_1_1numpy__datatype_3_01std_1_1complex_3_01_t_01_4_01_4.html',1,'dlaf::matrix::internal']]] ]; diff --git a/master/search/classes_c.js b/master/search/classes_c.js index 13c28771e3..ccaa59c85b 100644 --- a/master/search/classes_c.js +++ b/master/search/classes_c.js @@ -1,18 +1,18 @@ var searchData= [ - ['panel_716',['Panel',['../structdlaf_1_1matrix_1_1_panel.html',1,'dlaf::matrix']]], - ['panel_3c_20axis_2c_20const_20t_2c_20d_2c_20storetransposed_3a_3ano_20_3e_717',['Panel< axis, const T, D, StoreTransposed::No >',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html',1,'dlaf::matrix']]], - ['panel_3c_20axis_2c_20const_20t_2c_20d_2c_20storetransposed_3a_3ayes_20_3e_718',['Panel< axis, const T, D, StoreTransposed::Yes >',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_yes_01_4.html',1,'dlaf::matrix']]], - ['panel_3c_20orthogonal_28axis_29_2c_20const_20t_2c_20d_2c_20storetransposed_3a_3ano_20_3e_719',['Panel< orthogonal(axis), const T, D, StoreTransposed::No >',['../structdlaf_1_1matrix_1_1_panel.html',1,'dlaf::matrix']]], - ['partialtransform_720',['PartialTransform',['../classdlaf_1_1internal_1_1_partial_transform.html',1,'dlaf::internal']]], - ['partialtransformbase_721',['PartialTransformBase',['../structdlaf_1_1internal_1_1_partial_transform_base.html',1,'dlaf::internal']]], - ['partialtransformdetach_722',['PartialTransformDetach',['../classdlaf_1_1internal_1_1_partial_transform_detach.html',1,'dlaf::internal']]], - ['partialtransformmpi_723',['PartialTransformMPI',['../classdlaf_1_1comm_1_1internal_1_1_partial_transform_m_p_i.html',1,'dlaf::comm::internal']]], - ['partialtransformmpibase_724',['PartialTransformMPIBase',['../structdlaf_1_1comm_1_1internal_1_1_partial_transform_m_p_i_base.html',1,'dlaf::comm::internal']]], - ['partialtransformmpidetach_725',['PartialTransformMPIDetach',['../classdlaf_1_1comm_1_1internal_1_1_partial_transform_m_p_i_detach.html',1,'dlaf::comm::internal']]], - ['permutations_726',['Permutations',['../structdlaf_1_1permutations_1_1internal_1_1_permutations.html',1,'dlaf::permutations::internal']]], - ['pipeline_727',['Pipeline',['../classdlaf_1_1common_1_1_pipeline.html',1,'dlaf::common']]], - ['policy_728',['Policy',['../classdlaf_1_1internal_1_1_policy.html',1,'dlaf::internal']]], - ['prependpack_729',['PrependPack',['../structdlaf_1_1internal_1_1_prepend_pack.html',1,'dlaf::internal']]], - ['prependpack_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20t_20_3e_730',['PrependPack< Pack< Ts... >, T >',['../structdlaf_1_1internal_1_1_prepend_pack_3_01_pack_3_01_ts_8_8_8_01_4_00_01_t_01_4.html',1,'dlaf::internal']]] + ['panel_717',['Panel',['../structdlaf_1_1matrix_1_1_panel.html',1,'dlaf::matrix']]], + ['panel_3c_20axis_2c_20const_20t_2c_20d_2c_20storetransposed_3a_3ano_20_3e_718',['Panel< axis, const T, D, StoreTransposed::No >',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html',1,'dlaf::matrix']]], + ['panel_3c_20axis_2c_20const_20t_2c_20d_2c_20storetransposed_3a_3ayes_20_3e_719',['Panel< axis, const T, D, StoreTransposed::Yes >',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_yes_01_4.html',1,'dlaf::matrix']]], + ['panel_3c_20orthogonal_28axis_29_2c_20const_20t_2c_20d_2c_20storetransposed_3a_3ano_20_3e_720',['Panel< orthogonal(axis), const T, D, StoreTransposed::No >',['../structdlaf_1_1matrix_1_1_panel.html',1,'dlaf::matrix']]], + ['partialtransform_721',['PartialTransform',['../classdlaf_1_1internal_1_1_partial_transform.html',1,'dlaf::internal']]], + ['partialtransformbase_722',['PartialTransformBase',['../structdlaf_1_1internal_1_1_partial_transform_base.html',1,'dlaf::internal']]], + ['partialtransformdetach_723',['PartialTransformDetach',['../classdlaf_1_1internal_1_1_partial_transform_detach.html',1,'dlaf::internal']]], + ['partialtransformmpi_724',['PartialTransformMPI',['../classdlaf_1_1comm_1_1internal_1_1_partial_transform_m_p_i.html',1,'dlaf::comm::internal']]], + ['partialtransformmpibase_725',['PartialTransformMPIBase',['../structdlaf_1_1comm_1_1internal_1_1_partial_transform_m_p_i_base.html',1,'dlaf::comm::internal']]], + ['partialtransformmpidetach_726',['PartialTransformMPIDetach',['../classdlaf_1_1comm_1_1internal_1_1_partial_transform_m_p_i_detach.html',1,'dlaf::comm::internal']]], + ['permutations_727',['Permutations',['../structdlaf_1_1permutations_1_1internal_1_1_permutations.html',1,'dlaf::permutations::internal']]], + ['pipeline_728',['Pipeline',['../classdlaf_1_1common_1_1_pipeline.html',1,'dlaf::common']]], + ['policy_729',['Policy',['../classdlaf_1_1internal_1_1_policy.html',1,'dlaf::internal']]], + ['prependpack_730',['PrependPack',['../structdlaf_1_1internal_1_1_prepend_pack.html',1,'dlaf::internal']]], + ['prependpack_3c_20pack_3c_20ts_2e_2e_2e_20_3e_2c_20t_20_3e_731',['PrependPack< Pack< Ts... >, T >',['../structdlaf_1_1internal_1_1_prepend_pack_3_01_pack_3_01_ts_8_8_8_01_4_00_01_t_01_4.html',1,'dlaf::internal']]] ]; diff --git a/master/search/classes_d.js b/master/search/classes_d.js index 0cbc0cdd8e..b48d059621 100644 --- a/master/search/classes_d.js +++ b/master/search/classes_d.js @@ -1,5 +1,5 @@ var searchData= [ - ['qr_731',['QR',['../structdlaf_1_1factorization_1_1internal_1_1_q_r.html',1,'dlaf::factorization::internal']]], - ['qr_5ftfactor_732',['QR_Tfactor',['../structdlaf_1_1factorization_1_1internal_1_1_q_r___tfactor.html',1,'dlaf::factorization::internal']]] + ['qr_732',['QR',['../structdlaf_1_1factorization_1_1internal_1_1_q_r.html',1,'dlaf::factorization::internal']]], + ['qr_5ftfactor_733',['QR_Tfactor',['../structdlaf_1_1factorization_1_1internal_1_1_q_r___tfactor.html',1,'dlaf::factorization::internal']]] ]; diff --git a/master/search/classes_e.js b/master/search/classes_e.js index d574dd9eee..0a7f45598f 100644 --- a/master/search/classes_e.js +++ b/master/search/classes_e.js @@ -1,6 +1,6 @@ var searchData= [ - ['reductiontoband_733',['ReductionToBand',['../structdlaf_1_1eigensolver_1_1internal_1_1_reduction_to_band.html',1,'dlaf::eigensolver::internal']]], - ['roundrobin_734',['RoundRobin',['../structdlaf_1_1common_1_1_round_robin.html',1,'dlaf::common']]], - ['roundrobin_3c_20dlaf_3a_3amatrix_3a_3apanel_3c_20coord_3a_3acol_2c_20t_2c_20device_3a_3acpu_20_3e_20_3e_735',['RoundRobin< dlaf::matrix::Panel< Coord::Col, T, Device::CPU > >',['../structdlaf_1_1common_1_1_round_robin.html',1,'dlaf::common']]] + ['reductiontoband_734',['ReductionToBand',['../structdlaf_1_1eigensolver_1_1internal_1_1_reduction_to_band.html',1,'dlaf::eigensolver::internal']]], + ['roundrobin_735',['RoundRobin',['../structdlaf_1_1common_1_1_round_robin.html',1,'dlaf::common']]], + ['roundrobin_3c_20dlaf_3a_3amatrix_3a_3apanel_3c_20coord_3a_3acol_2c_20t_2c_20device_3a_3acpu_20_3e_20_3e_736',['RoundRobin< dlaf::matrix::Panel< Coord::Col, T, Device::CPU > >',['../structdlaf_1_1common_1_1_round_robin.html',1,'dlaf::common']]] ]; diff --git a/master/search/classes_f.js b/master/search/classes_f.js index c967e6ab97..74ce7f7159 100644 --- a/master/search/classes_f.js +++ b/master/search/classes_f.js @@ -1,25 +1,25 @@ var searchData= [ - ['scopedinitializer_736',['ScopedInitializer',['../structdlaf_1_1_scoped_initializer.html',1,'dlaf']]], - ['sendersinglevaluetypeimpl_737',['SenderSingleValueTypeImpl',['../structdlaf_1_1internal_1_1_sender_single_value_type_impl.html',1,'dlaf::internal']]], - ['sendersinglevaluetypeimpl_3c_20typelist_3c_20typelist_3c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5fwrapper_3c_20rwtype_2c_20rtype_2c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5ftype_3a_3aread_20_3e_20_3e_20_3e_20_3e_738',['SenderSingleValueTypeImpl< TypeList< TypeList< pika::execution::experimental::async_rw_mutex_access_wrapper< RWType, RType, pika::execution::experimental::async_rw_mutex_access_type::read > > > >',['../structdlaf_1_1internal_1_1_sender_single_value_type_impl_3_01_type_list_3_01_type_list_3_01pika_356df456d49829a554002eacb85cc5b7.html',1,'dlaf::internal']]], - ['sendersinglevaluetypeimpl_3c_20typelist_3c_20typelist_3c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5fwrapper_3c_20rwtype_2c_20rtype_2c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5ftype_3a_3areadwrite_20_3e_20_3e_20_3e_20_3e_739',['SenderSingleValueTypeImpl< TypeList< TypeList< pika::execution::experimental::async_rw_mutex_access_wrapper< RWType, RType, pika::execution::experimental::async_rw_mutex_access_type::readwrite > > > >',['../structdlaf_1_1internal_1_1_sender_single_value_type_impl_3_01_type_list_3_01_type_list_3_01pika_3535bbe9d77284105a6158ec315ee38c.html',1,'dlaf::internal']]], - ['sendersinglevaluetypeimpl_3c_20typelist_3c_20typelist_3c_20std_3a_3areference_5fwrapper_3c_20t_20_3e_20_3e_20_3e_20_3e_740',['SenderSingleValueTypeImpl< TypeList< TypeList< std::reference_wrapper< T > > > >',['../structdlaf_1_1internal_1_1_sender_single_value_type_impl_3_01_type_list_3_01_type_list_3_01std_1b569951bd408b620bb545799a6089d25.html',1,'dlaf::internal']]], - ['sendersinglevaluetypeimpl_3c_20typelist_3c_20typelist_3c_20t_20_3e_20_3e_20_3e_741',['SenderSingleValueTypeImpl< TypeList< TypeList< T > > >',['../structdlaf_1_1internal_1_1_sender_single_value_type_impl_3_01_type_list_3_01_type_list_3_01_t_01_4_01_4_01_4.html',1,'dlaf::internal']]], - ['singlethreadedblasscope_742',['SingleThreadedBlasScope',['../classdlaf_1_1common_1_1internal_1_1_single_threaded_blas_scope.html',1,'dlaf::common::internal']]], - ['size2d_743',['Size2D',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20indext_5fmpi_2c_20tag_5fmpi_20_3e_744',['Size2D< IndexT_MPI, TAG_MPI >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20sizetype_2c_20matrix_3a_3aglobalelement_5ftag_20_3e_745',['Size2D< SizeType, matrix::GlobalElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20sizetype_2c_20matrix_3a_3aglobaltile_5ftag_20_3e_746',['Size2D< SizeType, matrix::GlobalTile_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20sizetype_2c_20matrix_3a_3alocalelement_5ftag_20_3e_747',['Size2D< SizeType, matrix::LocalElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20sizetype_2c_20matrix_3a_3alocaltile_5ftag_20_3e_748',['Size2D< SizeType, matrix::LocalTile_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['size2d_3c_20sizetype_2c_20matrix_3a_3atileelement_5ftag_20_3e_749',['Size2D< SizeType, matrix::TileElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], - ['source_5flocation_750',['source_location',['../structdlaf_1_1common_1_1internal_1_1source__location.html',1,'dlaf::common::internal']]], - ['subdistributionspec_751',['SubDistributionSpec',['../structdlaf_1_1matrix_1_1_sub_distribution_spec.html',1,'dlaf::matrix']]], - ['submatrixview_752',['SubMatrixView',['../structdlaf_1_1matrix_1_1_sub_matrix_view.html',1,'dlaf::matrix']]], - ['subpanelview_753',['SubPanelView',['../structdlaf_1_1matrix_1_1_sub_panel_view.html',1,'dlaf::matrix']]], - ['subpipelinetag_754',['SubPipelineTag',['../structdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4_1_1_sub_pipeline_tag.html',1,'dlaf::matrix::Matrix< const T, D >']]], - ['subtilespec_755',['SubTileSpec',['../structdlaf_1_1matrix_1_1_sub_tile_spec.html',1,'dlaf::matrix']]], - ['sweepworker_756',['SweepWorker',['../classdlaf_1_1eigensolver_1_1internal_1_1_sweep_worker.html',1,'dlaf::eigensolver::internal']]], - ['sweepworkerdist_757',['SweepWorkerDist',['../classdlaf_1_1eigensolver_1_1internal_1_1_sweep_worker_dist.html',1,'dlaf::eigensolver::internal']]] + ['scopedinitializer_737',['ScopedInitializer',['../structdlaf_1_1_scoped_initializer.html',1,'dlaf']]], + ['sendersinglevaluetypeimpl_738',['SenderSingleValueTypeImpl',['../structdlaf_1_1internal_1_1_sender_single_value_type_impl.html',1,'dlaf::internal']]], + ['sendersinglevaluetypeimpl_3c_20typelist_3c_20typelist_3c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5fwrapper_3c_20rwtype_2c_20rtype_2c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5ftype_3a_3aread_20_3e_20_3e_20_3e_20_3e_739',['SenderSingleValueTypeImpl< TypeList< TypeList< pika::execution::experimental::async_rw_mutex_access_wrapper< RWType, RType, pika::execution::experimental::async_rw_mutex_access_type::read > > > >',['../structdlaf_1_1internal_1_1_sender_single_value_type_impl_3_01_type_list_3_01_type_list_3_01pika_356df456d49829a554002eacb85cc5b7.html',1,'dlaf::internal']]], + ['sendersinglevaluetypeimpl_3c_20typelist_3c_20typelist_3c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5fwrapper_3c_20rwtype_2c_20rtype_2c_20pika_3a_3aexecution_3a_3aexperimental_3a_3aasync_5frw_5fmutex_5faccess_5ftype_3a_3areadwrite_20_3e_20_3e_20_3e_20_3e_740',['SenderSingleValueTypeImpl< TypeList< TypeList< pika::execution::experimental::async_rw_mutex_access_wrapper< RWType, RType, pika::execution::experimental::async_rw_mutex_access_type::readwrite > > > >',['../structdlaf_1_1internal_1_1_sender_single_value_type_impl_3_01_type_list_3_01_type_list_3_01pika_3535bbe9d77284105a6158ec315ee38c.html',1,'dlaf::internal']]], + ['sendersinglevaluetypeimpl_3c_20typelist_3c_20typelist_3c_20std_3a_3areference_5fwrapper_3c_20t_20_3e_20_3e_20_3e_20_3e_741',['SenderSingleValueTypeImpl< TypeList< TypeList< std::reference_wrapper< T > > > >',['../structdlaf_1_1internal_1_1_sender_single_value_type_impl_3_01_type_list_3_01_type_list_3_01std_1b569951bd408b620bb545799a6089d25.html',1,'dlaf::internal']]], + ['sendersinglevaluetypeimpl_3c_20typelist_3c_20typelist_3c_20t_20_3e_20_3e_20_3e_742',['SenderSingleValueTypeImpl< TypeList< TypeList< T > > >',['../structdlaf_1_1internal_1_1_sender_single_value_type_impl_3_01_type_list_3_01_type_list_3_01_t_01_4_01_4_01_4.html',1,'dlaf::internal']]], + ['singlethreadedblasscope_743',['SingleThreadedBlasScope',['../classdlaf_1_1common_1_1internal_1_1_single_threaded_blas_scope.html',1,'dlaf::common::internal']]], + ['size2d_744',['Size2D',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20indext_5fmpi_2c_20tag_5fmpi_20_3e_745',['Size2D< IndexT_MPI, TAG_MPI >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20sizetype_2c_20matrix_3a_3aglobalelement_5ftag_20_3e_746',['Size2D< SizeType, matrix::GlobalElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20sizetype_2c_20matrix_3a_3aglobaltile_5ftag_20_3e_747',['Size2D< SizeType, matrix::GlobalTile_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20sizetype_2c_20matrix_3a_3alocalelement_5ftag_20_3e_748',['Size2D< SizeType, matrix::LocalElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20sizetype_2c_20matrix_3a_3alocaltile_5ftag_20_3e_749',['Size2D< SizeType, matrix::LocalTile_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['size2d_3c_20sizetype_2c_20matrix_3a_3atileelement_5ftag_20_3e_750',['Size2D< SizeType, matrix::TileElement_TAG >',['../classdlaf_1_1common_1_1_size2_d.html',1,'dlaf::common']]], + ['source_5flocation_751',['source_location',['../structdlaf_1_1common_1_1internal_1_1source__location.html',1,'dlaf::common::internal']]], + ['subdistributionspec_752',['SubDistributionSpec',['../structdlaf_1_1matrix_1_1_sub_distribution_spec.html',1,'dlaf::matrix']]], + ['submatrixview_753',['SubMatrixView',['../structdlaf_1_1matrix_1_1_sub_matrix_view.html',1,'dlaf::matrix']]], + ['subpanelview_754',['SubPanelView',['../structdlaf_1_1matrix_1_1_sub_panel_view.html',1,'dlaf::matrix']]], + ['subpipelinetag_755',['SubPipelineTag',['../structdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4_1_1_sub_pipeline_tag.html',1,'dlaf::matrix::Matrix< const T, D >']]], + ['subtilespec_756',['SubTileSpec',['../structdlaf_1_1matrix_1_1_sub_tile_spec.html',1,'dlaf::matrix']]], + ['sweepworker_757',['SweepWorker',['../classdlaf_1_1eigensolver_1_1internal_1_1_sweep_worker.html',1,'dlaf::eigensolver::internal']]], + ['sweepworkerdist_758',['SweepWorkerDist',['../classdlaf_1_1eigensolver_1_1internal_1_1_sweep_worker_dist.html',1,'dlaf::eigensolver::internal']]] ]; diff --git a/master/search/defines_0.js b/master/search/defines_0.js index f3d2959b7e..6860a7983f 100644 --- a/master/search/defines_0.js +++ b/master/search/defines_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['dlaf_5fmake_5fcallable_5fobject_1192',['DLAF_MAKE_CALLABLE_OBJECT',['../callable__object_8h.html#a5aafa5a9c65ad07da48410427f4825b2',1,'callable_object.h']]] + ['dlaf_5fmake_5fcallable_5fobject_1194',['DLAF_MAKE_CALLABLE_OBJECT',['../callable__object_8h.html#a5aafa5a9c65ad07da48410427f4825b2',1,'callable_object.h']]] ]; diff --git a/master/search/defines_1.js b/master/search/defines_1.js index 70b66fc99c..0906c03ee0 100644 --- a/master/search/defines_1.js +++ b/master/search/defines_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['source_5flocation_1193',['SOURCE_LOCATION',['../source__location_8h.html#aa6e6fc9684bd84ce7b72da6a2eef668f',1,'source_location.h']]] + ['source_5flocation_1195',['SOURCE_LOCATION',['../source__location_8h.html#aa6e6fc9684bd84ce7b72da6a2eef668f',1,'source_location.h']]] ]; diff --git a/master/search/enums_0.js b/master/search/enums_0.js index 00c094a05b..277e1176d0 100644 --- a/master/search/enums_0.js +++ b/master/search/enums_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['ordering_1188',['Ordering',['../index2d_8h.html#a02419996f0ffc187079c310f0175ce76',1,'dlaf::common']]] + ['ordering_1190',['Ordering',['../index2d_8h.html#a02419996f0ffc187079c310f0175ce76',1,'dlaf::common']]] ]; diff --git a/master/search/files_0.js b/master/search/files_0.js index a6c3d05bf4..38a76b5cdf 100644 --- a/master/search/files_0.js +++ b/master/search/files_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['all_5freduce_2eh_801',['all_reduce.h',['../kernels_2all__reduce_8h.html',1,'(Global Namespace)'],['../sync_2all__reduce_8h.html',1,'(Global Namespace)']]], - ['auxiliary_2eh_802',['auxiliary.h',['../auxiliary_8h.html',1,'']]] + ['all_5freduce_2eh_802',['all_reduce.h',['../kernels_2all__reduce_8h.html',1,'(Global Namespace)'],['../sync_2all__reduce_8h.html',1,'(Global Namespace)']]], + ['auxiliary_2eh_803',['auxiliary.h',['../auxiliary_8h.html',1,'']]] ]; diff --git a/master/search/files_1.js b/master/search/files_1.js index 3820d96e33..b3a4ecc60b 100644 --- a/master/search/files_1.js +++ b/master/search/files_1.js @@ -1,9 +1,9 @@ var searchData= [ - ['band_5fto_5ftridiag_2eh_803',['band_to_tridiag.h',['../band__to__tridiag_8h.html',1,'']]], - ['basic_2eh_804',['basic.h',['../basic_8h.html',1,'']]], - ['broadcast_2eh_805',['broadcast.h',['../kernels_2broadcast_8h.html',1,'(Global Namespace)'],['../sync_2broadcast_8h.html',1,'(Global Namespace)']]], - ['broadcast_5fpanel_2eh_806',['broadcast_panel.h',['../broadcast__panel_8h.html',1,'']]], - ['bt_5fband_5fto_5ftridiag_2eh_807',['bt_band_to_tridiag.h',['../bt__band__to__tridiag_8h.html',1,'']]], - ['bt_5freduction_5fto_5fband_2eh_808',['bt_reduction_to_band.h',['../bt__reduction__to__band_8h.html',1,'']]] + ['band_5fto_5ftridiag_2eh_804',['band_to_tridiag.h',['../band__to__tridiag_8h.html',1,'']]], + ['basic_2eh_805',['basic.h',['../basic_8h.html',1,'']]], + ['broadcast_2eh_806',['broadcast.h',['../kernels_2broadcast_8h.html',1,'(Global Namespace)'],['../sync_2broadcast_8h.html',1,'(Global Namespace)']]], + ['broadcast_5fpanel_2eh_807',['broadcast_panel.h',['../broadcast__panel_8h.html',1,'']]], + ['bt_5fband_5fto_5ftridiag_2eh_808',['bt_band_to_tridiag.h',['../bt__band__to__tridiag_8h.html',1,'']]], + ['bt_5freduction_5fto_5fband_2eh_809',['bt_reduction_to_band.h',['../bt__reduction__to__band_8h.html',1,'']]] ]; diff --git a/master/search/files_10.js b/master/search/files_10.js index ff418975c4..ff8c4d755c 100644 --- a/master/search/files_10.js +++ b/master/search/files_10.js @@ -1,8 +1,8 @@ var searchData= [ - ['scal_2eh_858',['scal.h',['../scal_8h.html',1,'']]], - ['schedulers_2eh_859',['schedulers.h',['../schedulers_8h.html',1,'']]], - ['single_5fthreaded_5fblas_2eh_860',['single_threaded_blas.h',['../single__threaded__blas_8h.html',1,'']]], - ['solver_2eh_861',['solver.h',['../solver_8h.html',1,'']]], - ['source_5flocation_2eh_862',['source_location.h',['../source__location_8h.html',1,'']]] + ['scal_2eh_859',['scal.h',['../scal_8h.html',1,'']]], + ['schedulers_2eh_860',['schedulers.h',['../schedulers_8h.html',1,'']]], + ['single_5fthreaded_5fblas_2eh_861',['single_threaded_blas.h',['../single__threaded__blas_8h.html',1,'']]], + ['solver_2eh_862',['solver.h',['../solver_8h.html',1,'']]], + ['source_5flocation_2eh_863',['source_location.h',['../source__location_8h.html',1,'']]] ]; diff --git a/master/search/files_11.js b/master/search/files_11.js index 47d4b22aca..0f61168e8e 100644 --- a/master/search/files_11.js +++ b/master/search/files_11.js @@ -1,12 +1,12 @@ var searchData= [ - ['tile_2eh_863',['tile.h',['../blas_2tile_8h.html',1,'(Global Namespace)'],['../lapack_2tile_8h.html',1,'(Global Namespace)'],['../matrix_2tile_8h.html',1,'(Global Namespace)']]], - ['tile_5fextensions_2eh_864',['tile_extensions.h',['../tile__extensions_8h.html',1,'']]], - ['timer_2eh_865',['timer.h',['../timer_8h.html',1,'']]], - ['traits_2eh_866',['traits.h',['../traits_8h.html',1,'']]], - ['triangular_2eh_867',['triangular.h',['../multiplication_2triangular_8h.html',1,'(Global Namespace)'],['../solver_2triangular_8h.html',1,'(Global Namespace)']]], - ['tridiag_5fsolver_2eh_868',['tridiag_solver.h',['../tridiag__solver_8h.html',1,'']]], - ['tune_2eh_869',['tune.h',['../tune_8h.html',1,'']]], - ['type_5fhandler_2eh_870',['type_handler.h',['../type__handler_8h.html',1,'']]], - ['types_2eh_871',['types.h',['../types_8h.html',1,'']]] + ['tile_2eh_864',['tile.h',['../blas_2tile_8h.html',1,'(Global Namespace)'],['../lapack_2tile_8h.html',1,'(Global Namespace)'],['../matrix_2tile_8h.html',1,'(Global Namespace)']]], + ['tile_5fextensions_2eh_865',['tile_extensions.h',['../tile__extensions_8h.html',1,'']]], + ['timer_2eh_866',['timer.h',['../timer_8h.html',1,'']]], + ['traits_2eh_867',['traits.h',['../traits_8h.html',1,'']]], + ['triangular_2eh_868',['triangular.h',['../multiplication_2triangular_8h.html',1,'(Global Namespace)'],['../solver_2triangular_8h.html',1,'(Global Namespace)']]], + ['tridiag_5fsolver_2eh_869',['tridiag_solver.h',['../tridiag__solver_8h.html',1,'']]], + ['tune_2eh_870',['tune.h',['../tune_8h.html',1,'']]], + ['type_5fhandler_2eh_871',['type_handler.h',['../type__handler_8h.html',1,'']]], + ['types_2eh_872',['types.h',['../types_8h.html',1,'']]] ]; diff --git a/master/search/files_12.js b/master/search/files_12.js index 0d5f6309a5..24957173d4 100644 --- a/master/search/files_12.js +++ b/master/search/files_12.js @@ -1,11 +1,11 @@ var searchData= [ - ['unwrap_2eh_872',['unwrap.h',['../unwrap_8h.html',1,'']]], - ['util_5fblas_2eh_873',['util_blas.h',['../util__blas_8h.html',1,'']]], - ['util_5fdistribution_2eh_874',['util_distribution.h',['../util__distribution_8h.html',1,'']]], - ['util_5flapack_2eh_875',['util_lapack.h',['../util__lapack_8h.html',1,'']]], - ['util_5fmath_2eh_876',['util_math.h',['../util__math_8h.html',1,'']]], - ['util_5fmatrix_2eh_877',['util_matrix.h',['../util__matrix_8h.html',1,'']]], - ['util_5ftile_2eh_878',['util_tile.h',['../util__tile_8h.html',1,'']]], - ['utils_2eh_879',['utils.h',['../utils_8h.html',1,'']]] + ['unwrap_2eh_873',['unwrap.h',['../unwrap_8h.html',1,'']]], + ['util_5fblas_2eh_874',['util_blas.h',['../util__blas_8h.html',1,'']]], + ['util_5fdistribution_2eh_875',['util_distribution.h',['../util__distribution_8h.html',1,'']]], + ['util_5flapack_2eh_876',['util_lapack.h',['../util__lapack_8h.html',1,'']]], + ['util_5fmath_2eh_877',['util_math.h',['../util__math_8h.html',1,'']]], + ['util_5fmatrix_2eh_878',['util_matrix.h',['../util__matrix_8h.html',1,'']]], + ['util_5ftile_2eh_879',['util_tile.h',['../util__tile_8h.html',1,'']]], + ['utils_2eh_880',['utils.h',['../utils_8h.html',1,'']]] ]; diff --git a/master/search/files_13.js b/master/search/files_13.js index 46b20960e5..ca817a314f 100644 --- a/master/search/files_13.js +++ b/master/search/files_13.js @@ -1,5 +1,5 @@ var searchData= [ - ['vector_2eh_880',['vector.h',['../vector_8h.html',1,'']]], - ['views_2eh_881',['views.h',['../views_8h.html',1,'']]] + ['vector_2eh_881',['vector.h',['../vector_8h.html',1,'']]], + ['views_2eh_882',['views.h',['../views_8h.html',1,'']]] ]; diff --git a/master/search/files_2.js b/master/search/files_2.js index 19ac4116e6..9912ec6c1c 100644 --- a/master/search/files_2.js +++ b/master/search/files_2.js @@ -1,10 +1,10 @@ var searchData= [ - ['callable_5fobject_2eh_809',['callable_object.h',['../callable__object_8h.html',1,'']]], - ['cholesky_2eh_810',['cholesky.h',['../factorization_2cholesky_8h.html',1,'(Global Namespace)'],['../c_2factorization_2cholesky_8h.html',1,'(Global Namespace)']]], - ['communicator_2eh_811',['communicator.h',['../communicator_8h.html',1,'']]], - ['communicator_5fgrid_2eh_812',['communicator_grid.h',['../communicator__grid_8h.html',1,'']]], - ['consume_5frvalues_2eh_813',['consume_rvalues.h',['../consume__rvalues_8h.html',1,'']]], - ['copy_2eh_814',['copy.h',['../copy_8h.html',1,'']]], - ['copy_5ftile_2eh_815',['copy_tile.h',['../copy__tile_8h.html',1,'']]] + ['callable_5fobject_2eh_810',['callable_object.h',['../callable__object_8h.html',1,'']]], + ['cholesky_2eh_811',['cholesky.h',['../factorization_2cholesky_8h.html',1,'(Global Namespace)'],['../c_2factorization_2cholesky_8h.html',1,'(Global Namespace)']]], + ['communicator_2eh_812',['communicator.h',['../communicator_8h.html',1,'']]], + ['communicator_5fgrid_2eh_813',['communicator_grid.h',['../communicator__grid_8h.html',1,'']]], + ['consume_5frvalues_2eh_814',['consume_rvalues.h',['../consume__rvalues_8h.html',1,'']]], + ['copy_2eh_815',['copy.h',['../copy_8h.html',1,'']]], + ['copy_5ftile_2eh_816',['copy_tile.h',['../copy__tile_8h.html',1,'']]] ]; diff --git a/master/search/files_3.js b/master/search/files_3.js index 50a612eaa5..bc41c34cdb 100644 --- a/master/search/files_3.js +++ b/master/search/files_3.js @@ -1,8 +1,8 @@ var searchData= [ - ['data_2eh_816',['data.h',['../data_8h.html',1,'']]], - ['data_5fdescriptor_2eh_817',['data_descriptor.h',['../data__descriptor_8h.html',1,'']]], - ['datatypes_2eh_818',['datatypes.h',['../datatypes_8h.html',1,'']]], - ['desc_2eh_819',['desc.h',['../desc_8h.html',1,'']]], - ['distribution_2eh_820',['distribution.h',['../distribution_8h.html',1,'']]] + ['data_2eh_817',['data.h',['../data_8h.html',1,'']]], + ['data_5fdescriptor_2eh_818',['data_descriptor.h',['../data__descriptor_8h.html',1,'']]], + ['datatypes_2eh_819',['datatypes.h',['../datatypes_8h.html',1,'']]], + ['desc_2eh_820',['desc.h',['../desc_8h.html',1,'']]], + ['distribution_2eh_821',['distribution.h',['../distribution_8h.html',1,'']]] ]; diff --git a/master/search/files_4.js b/master/search/files_4.js index 7a3d9ce760..d1c4ea5de5 100644 --- a/master/search/files_4.js +++ b/master/search/files_4.js @@ -1,6 +1,6 @@ var searchData= [ - ['eigensolver_2eh_821',['eigensolver.h',['../dlaf_2eigensolver_2eigensolver_8h.html',1,'(Global Namespace)'],['../dlaf_2eigensolver_8h.html',1,'(Global Namespace)'],['../dlaf__c_2eigensolver_2eigensolver_8h.html',1,'(Global Namespace)']]], - ['enum_5foutput_2eh_822',['enum_output.h',['../blas_2enum__output_8h.html',1,'']]], - ['error_2eh_823',['error.h',['../communication_2error_8h.html',1,'']]] + ['eigensolver_2eh_822',['eigensolver.h',['../dlaf_2eigensolver_2eigensolver_8h.html',1,'(Global Namespace)'],['../dlaf_2eigensolver_8h.html',1,'(Global Namespace)'],['../dlaf__c_2eigensolver_2eigensolver_8h.html',1,'(Global Namespace)']]], + ['enum_5foutput_2eh_823',['enum_output.h',['../blas_2enum__output_8h.html',1,'']]], + ['error_2eh_824',['error.h',['../communication_2error_8h.html',1,'']]] ]; diff --git a/master/search/files_5.js b/master/search/files_5.js index a54350a8b1..52b2f0878c 100644 --- a/master/search/files_5.js +++ b/master/search/files_5.js @@ -1,6 +1,6 @@ var searchData= [ - ['factorization_2eh_824',['factorization.h',['../factorization_8h.html',1,'']]], - ['format_5fshort_2eh_825',['format_short.h',['../format__short_8h.html',1,'']]], - ['functions_5fsync_2eh_826',['functions_sync.h',['../functions__sync_8h.html',1,'']]] + ['factorization_2eh_825',['factorization.h',['../factorization_8h.html',1,'']]], + ['format_5fshort_2eh_826',['format_short.h',['../format__short_8h.html',1,'']]], + ['functions_5fsync_2eh_827',['functions_sync.h',['../functions__sync_8h.html',1,'']]] ]; diff --git a/master/search/files_6.js b/master/search/files_6.js index 654a55944c..abf8945020 100644 --- a/master/search/files_6.js +++ b/master/search/files_6.js @@ -1,7 +1,7 @@ var searchData= [ - ['gen_5feigensolver_2eh_827',['gen_eigensolver.h',['../gen__eigensolver_8h.html',1,'']]], - ['gen_5fto_5fstd_2eh_828',['gen_to_std.h',['../gen__to__std_8h.html',1,'']]], - ['general_2eh_829',['general.h',['../multiplication_2general_8h.html',1,'(Global Namespace)'],['../permutations_2general_8h.html',1,'(Global Namespace)']]], - ['grid_2eh_830',['grid.h',['../grid_8h.html',1,'']]] + ['gen_5feigensolver_2eh_828',['gen_eigensolver.h',['../gen__eigensolver_8h.html',1,'']]], + ['gen_5fto_5fstd_2eh_829',['gen_to_std.h',['../gen__to__std_8h.html',1,'']]], + ['general_2eh_830',['general.h',['../multiplication_2general_8h.html',1,'(Global Namespace)'],['../permutations_2general_8h.html',1,'(Global Namespace)']]], + ['grid_2eh_831',['grid.h',['../grid_8h.html',1,'']]] ]; diff --git a/master/search/files_7.js b/master/search/files_7.js index 2fd09f34fd..b86f59a2d1 100644 --- a/master/search/files_7.js +++ b/master/search/files_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['hermitian_2eh_831',['hermitian.h',['../hermitian_8h.html',1,'']]] + ['hermitian_2eh_832',['hermitian.h',['../hermitian_8h.html',1,'']]] ]; diff --git a/master/search/files_8.js b/master/search/files_8.js index 34a4780137..3be0a568ed 100644 --- a/master/search/files_8.js +++ b/master/search/files_8.js @@ -1,6 +1,6 @@ var searchData= [ - ['index_2eh_832',['index.h',['../index_8h.html',1,'']]], - ['index2d_2eh_833',['index2d.h',['../index2d_8h.html',1,'']]], - ['init_2eh_834',['init.h',['../dlaf_2communication_2init_8h.html',1,'(Global Namespace)'],['../dlaf_2init_8h.html',1,'(Global Namespace)'],['../dlaf__c_2init_8h.html',1,'(Global Namespace)']]] + ['index_2eh_833',['index.h',['../index_8h.html',1,'']]], + ['index2d_2eh_834',['index2d.h',['../index2d_8h.html',1,'']]], + ['init_2eh_835',['init.h',['../dlaf_2communication_2init_8h.html',1,'(Global Namespace)'],['../dlaf_2init_8h.html',1,'(Global Namespace)'],['../dlaf__c_2init_8h.html',1,'(Global Namespace)']]] ]; diff --git a/master/search/files_9.js b/master/search/files_9.js index 05d4a1d594..6f564ff6d1 100644 --- a/master/search/files_9.js +++ b/master/search/files_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['kernels_2eh_835',['kernels.h',['../communication_2kernels_8h.html',1,'']]] + ['kernels_2eh_836',['kernels.h',['../communication_2kernels_8h.html',1,'']]] ]; diff --git a/master/search/files_a.js b/master/search/files_a.js index 06b16203a2..2e48eb487d 100644 --- a/master/search/files_a.js +++ b/master/search/files_a.js @@ -1,4 +1,4 @@ var searchData= [ - ['layout_5finfo_2eh_836',['layout_info.h',['../layout__info_8h.html',1,'']]] + ['layout_5finfo_2eh_837',['layout_info.h',['../layout__info_8h.html',1,'']]] ]; diff --git a/master/search/files_b.js b/master/search/files_b.js index be0e6eeb96..990a6d3e07 100644 --- a/master/search/files_b.js +++ b/master/search/files_b.js @@ -1,10 +1,10 @@ var searchData= [ - ['matrix_2eh_837',['matrix.h',['../matrix_8h.html',1,'']]], - ['matrix_5fbase_2eh_838',['matrix_base.h',['../matrix__base_8h.html',1,'']]], - ['matrix_5fmirror_2eh_839',['matrix_mirror.h',['../matrix__mirror_8h.html',1,'']]], - ['matrix_5fref_2eh_840',['matrix_ref.h',['../matrix__ref_8h.html',1,'']]], - ['memory_5fchunk_2eh_841',['memory_chunk.h',['../memory__chunk_8h.html',1,'']]], - ['memory_5fview_2eh_842',['memory_view.h',['../memory__view_8h.html',1,'']]], - ['message_2eh_843',['message.h',['../message_8h.html',1,'']]] + ['matrix_2eh_838',['matrix.h',['../matrix_8h.html',1,'']]], + ['matrix_5fbase_2eh_839',['matrix_base.h',['../matrix__base_8h.html',1,'']]], + ['matrix_5fmirror_2eh_840',['matrix_mirror.h',['../matrix__mirror_8h.html',1,'']]], + ['matrix_5fref_2eh_841',['matrix_ref.h',['../matrix__ref_8h.html',1,'']]], + ['memory_5fchunk_2eh_842',['memory_chunk.h',['../memory__chunk_8h.html',1,'']]], + ['memory_5fview_2eh_843',['memory_view.h',['../memory__view_8h.html',1,'']]], + ['message_2eh_844',['message.h',['../message_8h.html',1,'']]] ]; diff --git a/master/search/files_c.js b/master/search/files_c.js index b0c8d806b5..9bcfe66584 100644 --- a/master/search/files_c.js +++ b/master/search/files_c.js @@ -1,4 +1,4 @@ var searchData= [ - ['norm_2eh_844',['norm.h',['../norm_8h.html',1,'']]] + ['norm_2eh_845',['norm.h',['../norm_8h.html',1,'']]] ]; diff --git a/master/search/files_d.js b/master/search/files_d.js index f3467c555f..df4e480766 100644 --- a/master/search/files_d.js +++ b/master/search/files_d.js @@ -1,10 +1,10 @@ var searchData= [ - ['p2p_2eh_845',['p2p.h',['../p2p_8h.html',1,'']]], - ['p2p_5fallsum_2eh_846',['p2p_allsum.h',['../p2p__allsum_8h.html',1,'']]], - ['panel_2eh_847',['panel.h',['../panel_8h.html',1,'']]], - ['pipeline_2eh_848',['pipeline.h',['../pipeline_8h.html',1,'']]], - ['print_5fcsv_2eh_849',['print_csv.h',['../print__csv_8h.html',1,'']]], - ['print_5fgpu_2eh_850',['print_gpu.h',['../print__gpu_8h.html',1,'']]], - ['print_5fnumpy_2eh_851',['print_numpy.h',['../print__numpy_8h.html',1,'']]] + ['p2p_2eh_846',['p2p.h',['../p2p_8h.html',1,'']]], + ['p2p_5fallsum_2eh_847',['p2p_allsum.h',['../p2p__allsum_8h.html',1,'']]], + ['panel_2eh_848',['panel.h',['../panel_8h.html',1,'']]], + ['pipeline_2eh_849',['pipeline.h',['../pipeline_8h.html',1,'']]], + ['print_5fcsv_2eh_850',['print_csv.h',['../print__csv_8h.html',1,'']]], + ['print_5fgpu_2eh_851',['print_gpu.h',['../print__gpu_8h.html',1,'']]], + ['print_5fnumpy_2eh_852',['print_numpy.h',['../print__numpy_8h.html',1,'']]] ]; diff --git a/master/search/files_e.js b/master/search/files_e.js index d569a5067a..becb337905 100644 --- a/master/search/files_e.js +++ b/master/search/files_e.js @@ -1,4 +1,4 @@ var searchData= [ - ['qr_2eh_852',['qr.h',['../qr_8h.html',1,'']]] + ['qr_2eh_853',['qr.h',['../qr_8h.html',1,'']]] ]; diff --git a/master/search/files_f.js b/master/search/files_f.js index bb9cec2246..0d73f6253c 100644 --- a/master/search/files_f.js +++ b/master/search/files_f.js @@ -1,8 +1,8 @@ var searchData= [ - ['range2d_2eh_853',['range2d.h',['../range2d_8h.html',1,'']]], - ['rdma_2eh_854',['rdma.h',['../rdma_8h.html',1,'']]], - ['reduce_2eh_855',['reduce.h',['../kernels_2reduce_8h.html',1,'(Global Namespace)'],['../sync_2reduce_8h.html',1,'(Global Namespace)']]], - ['reduction_5fto_5fband_2eh_856',['reduction_to_band.h',['../reduction__to__band_8h.html',1,'']]], - ['round_5frobin_2eh_857',['round_robin.h',['../round__robin_8h.html',1,'']]] + ['range2d_2eh_854',['range2d.h',['../range2d_8h.html',1,'']]], + ['rdma_2eh_855',['rdma.h',['../rdma_8h.html',1,'']]], + ['reduce_2eh_856',['reduce.h',['../kernels_2reduce_8h.html',1,'(Global Namespace)'],['../sync_2reduce_8h.html',1,'(Global Namespace)']]], + ['reduction_5fto_5fband_2eh_857',['reduction_to_band.h',['../reduction__to__band_8h.html',1,'']]], + ['round_5frobin_2eh_858',['round_robin.h',['../round__robin_8h.html',1,'']]] ]; diff --git a/master/search/functions_0.js b/master/search/functions_0.js index 1277c341ee..3b0c5fee9b 100644 --- a/master/search/functions_0.js +++ b/master/search/functions_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['add_882',['add',['../tile__extensions_8h.html#aaff9e7cefc29db10ec4d5619a723b1e8',1,'dlaf::tile::add(T alpha, const matrix::Tile< const T, D > &tile_b, const matrix::Tile< T, D > &tile_a)'],['../tile__extensions_8h.html#aee89b6690331c2208abce640e9bd81a7',1,'dlaf::tile::add(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../tile__extensions_8h.html#ab6d1e869fabafc8c41981cb76e3bb543',1,'dlaf::tile::add(const dlaf::internal::Policy< B > &p)']]], - ['allreduce_883',['allReduce',['../sync_2all__reduce_8h.html#ab2ce05dba76e64025b65287f83331332',1,'dlaf::comm::sync']]], - ['allreduceinplace_884',['allReduceInPlace',['../sync_2all__reduce_8h.html#ac31a941ab370f1930ce5ed0f0717b00b',1,'dlaf::comm::sync']]] + ['add_883',['add',['../tile__extensions_8h.html#aaff9e7cefc29db10ec4d5619a723b1e8',1,'dlaf::tile::add(T alpha, const matrix::Tile< const T, D > &tile_b, const matrix::Tile< T, D > &tile_a)'],['../tile__extensions_8h.html#aee89b6690331c2208abce640e9bd81a7',1,'dlaf::tile::add(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../tile__extensions_8h.html#ab6d1e869fabafc8c41981cb76e3bb543',1,'dlaf::tile::add(const dlaf::internal::Policy< B > &p)']]], + ['allreduce_884',['allReduce',['../sync_2all__reduce_8h.html#ab2ce05dba76e64025b65287f83331332',1,'dlaf::comm::sync']]], + ['allreduceinplace_885',['allReduceInPlace',['../sync_2all__reduce_8h.html#ac31a941ab370f1930ce5ed0f0717b00b',1,'dlaf::comm::sync']]] ]; diff --git a/master/search/functions_1.js b/master/search/functions_1.js index 30ff692b0e..8f5e30e89c 100644 --- a/master/search/functions_1.js +++ b/master/search/functions_1.js @@ -1,12 +1,12 @@ var searchData= [ - ['band_5fto_5ftridiagonal_885',['band_to_tridiagonal',['../band__to__tridiag_8h.html#aec7c92ceba0e074c2634b07f12a0f059',1,'dlaf::eigensolver::internal::band_to_tridiagonal(comm::CommunicatorGrid grid, blas::Uplo uplo, SizeType band_size, Matrix< const T, device > &mat_a)'],['../band__to__tridiag_8h.html#ac2f294844a92af6854e4ef81e41eb4fe',1,'dlaf::eigensolver::internal::band_to_tridiagonal(blas::Uplo uplo, SizeType band_size, Matrix< const T, D > &mat_a)']]], - ['basetilesize_886',['baseTileSize',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#add48022e3fd9298035052a023fa6dbb0',1,'dlaf::matrix::internal::MatrixBase']]], - ['basic_5fcoords_887',['basic_coords',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a80a7c82a6cf0cef1cb765fb62ab42173',1,'dlaf::common::internal::basic_coords::basic_coords(IndexT row, IndexT col) noexcept'],['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a0f13ee129706aa74fefba6cefa29ab55',1,'dlaf::common::internal::basic_coords::basic_coords(Coord component, IndexT value, IndexT fixed=0) noexcept'],['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#ac7a56bcf4ceaad4b19c02b12a9b7e5df',1,'dlaf::common::internal::basic_coords::basic_coords(const std::array< IndexT, 2 > &coords) noexcept'],['../classdlaf_1_1common_1_1_size2_d.html#a80a7c82a6cf0cef1cb765fb62ab42173',1,'dlaf::common::Size2D::basic_coords(IndexT row, IndexT col) noexcept'],['../classdlaf_1_1common_1_1_size2_d.html#a0f13ee129706aa74fefba6cefa29ab55',1,'dlaf::common::Size2D::basic_coords(Coord component, IndexT value, IndexT fixed=0) noexcept'],['../classdlaf_1_1common_1_1_size2_d.html#ac7a56bcf4ceaad4b19c02b12a9b7e5df',1,'dlaf::common::Size2D::basic_coords(const std::array< IndexT, 2 > &coords) noexcept'],['../classdlaf_1_1common_1_1_index2_d.html#a80a7c82a6cf0cef1cb765fb62ab42173',1,'dlaf::common::Index2D::basic_coords(IndexT row, IndexT col) noexcept'],['../classdlaf_1_1common_1_1_index2_d.html#a0f13ee129706aa74fefba6cefa29ab55',1,'dlaf::common::Index2D::basic_coords(Coord component, IndexT value, IndexT fixed=0) noexcept'],['../classdlaf_1_1common_1_1_index2_d.html#ac7a56bcf4ceaad4b19c02b12a9b7e5df',1,'dlaf::common::Index2D::basic_coords(const std::array< IndexT, 2 > &coords) noexcept']]], - ['blocksize_888',['blocksize',['../structdlaf_1_1common_1_1_data_descriptor.html#aeb70d2395b5e4f49d56e133d3d4b3dd3',1,'dlaf::common::DataDescriptor']]], - ['blocksize_889',['blockSize',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a3f645fd23ce4c20591fdd2738b235f92',1,'dlaf::matrix::internal::MatrixBase']]], - ['broadcast_890',['broadcast',['../broadcast__panel_8h.html#a83a59dd8a250067f25b9b4bbd041a9cf',1,'dlaf::comm::broadcast(comm::IndexT_MPI rank_root, matrix::Panel< axis, T, D, storage > &panel, common::Pipeline< comm::Communicator > &serial_comm)'],['../broadcast__panel_8h.html#a6e56082c935ff28b0184870563b4069b',1,'dlaf::comm::broadcast(comm::IndexT_MPI rank_root, matrix::Panel< axis, T, D, storage > &panel, matrix::Panel< orthogonal(axis), T, D, storageT > &panelT, common::Pipeline< comm::Communicator > &row_task_chain, common::Pipeline< comm::Communicator > &col_task_chain)']]], - ['bt_5fband_5fto_5ftridiagonal_891',['bt_band_to_tridiagonal',['../bt__band__to__tridiag_8h.html#ac93781339b28227cf04add9d24d77340',1,'dlaf::eigensolver::internal::bt_band_to_tridiagonal(const SizeType band_size, matrix::Matrix< T, D > &mat_e, matrix::Matrix< const T, Device::CPU > &mat_hh)'],['../bt__band__to__tridiag_8h.html#a479dac42130a879850a15d876c88d5f9',1,'dlaf::eigensolver::internal::bt_band_to_tridiagonal(comm::CommunicatorGrid grid, const SizeType band_size, matrix::Matrix< T, D > &mat_e, matrix::Matrix< const T, Device::CPU > &mat_hh)']]], - ['bt_5freduction_5fto_5fband_892',['bt_reduction_to_band',['../bt__reduction__to__band_8h.html#a06ab2b4750275e88bdd416ab0d091165',1,'dlaf::eigensolver::internal::bt_reduction_to_band(const SizeType b, Matrix< T, device > &mat_c, Matrix< const T, device > &mat_v, Matrix< const T, Device::CPU > &mat_taus)'],['../bt__reduction__to__band_8h.html#aa3286b3c80ea7311bacfa009309b9753',1,'dlaf::eigensolver::internal::bt_reduction_to_band(comm::CommunicatorGrid grid, const SizeType b, Matrix< T, device > &mat_c, Matrix< const T, device > &mat_v, Matrix< const T, Device::CPU > &mat_taus)']]], - ['buffer_893',['Buffer',['../structdlaf_1_1common_1_1_buffer.html#a84240f0e2434c412292ed0c1a9db6c61',1,'dlaf::common::Buffer::Buffer(std::unique_ptr< T[]> &&memory, const SizeType N)'],['../structdlaf_1_1common_1_1_buffer.html#a904065ced6826be020d27b87b4d7596d',1,'dlaf::common::Buffer::Buffer(const SizeType N)'],['../structdlaf_1_1common_1_1_buffer.html#ae96ced7d357b20a027c5499aad807293',1,'dlaf::common::Buffer::Buffer()=default']]] + ['band_5fto_5ftridiagonal_886',['band_to_tridiagonal',['../band__to__tridiag_8h.html#aec7c92ceba0e074c2634b07f12a0f059',1,'dlaf::eigensolver::internal::band_to_tridiagonal(comm::CommunicatorGrid grid, blas::Uplo uplo, SizeType band_size, Matrix< const T, device > &mat_a)'],['../band__to__tridiag_8h.html#ac2f294844a92af6854e4ef81e41eb4fe',1,'dlaf::eigensolver::internal::band_to_tridiagonal(blas::Uplo uplo, SizeType band_size, Matrix< const T, D > &mat_a)']]], + ['basetilesize_887',['baseTileSize',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#add48022e3fd9298035052a023fa6dbb0',1,'dlaf::matrix::internal::MatrixBase']]], + ['basic_5fcoords_888',['basic_coords',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a80a7c82a6cf0cef1cb765fb62ab42173',1,'dlaf::common::internal::basic_coords::basic_coords(IndexT row, IndexT col) noexcept'],['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a0f13ee129706aa74fefba6cefa29ab55',1,'dlaf::common::internal::basic_coords::basic_coords(Coord component, IndexT value, IndexT fixed=0) noexcept'],['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#ac7a56bcf4ceaad4b19c02b12a9b7e5df',1,'dlaf::common::internal::basic_coords::basic_coords(const std::array< IndexT, 2 > &coords) noexcept'],['../classdlaf_1_1common_1_1_size2_d.html#a80a7c82a6cf0cef1cb765fb62ab42173',1,'dlaf::common::Size2D::basic_coords(IndexT row, IndexT col) noexcept'],['../classdlaf_1_1common_1_1_size2_d.html#a0f13ee129706aa74fefba6cefa29ab55',1,'dlaf::common::Size2D::basic_coords(Coord component, IndexT value, IndexT fixed=0) noexcept'],['../classdlaf_1_1common_1_1_size2_d.html#ac7a56bcf4ceaad4b19c02b12a9b7e5df',1,'dlaf::common::Size2D::basic_coords(const std::array< IndexT, 2 > &coords) noexcept'],['../classdlaf_1_1common_1_1_index2_d.html#a80a7c82a6cf0cef1cb765fb62ab42173',1,'dlaf::common::Index2D::basic_coords(IndexT row, IndexT col) noexcept'],['../classdlaf_1_1common_1_1_index2_d.html#a0f13ee129706aa74fefba6cefa29ab55',1,'dlaf::common::Index2D::basic_coords(Coord component, IndexT value, IndexT fixed=0) noexcept'],['../classdlaf_1_1common_1_1_index2_d.html#ac7a56bcf4ceaad4b19c02b12a9b7e5df',1,'dlaf::common::Index2D::basic_coords(const std::array< IndexT, 2 > &coords) noexcept']]], + ['blocksize_889',['blocksize',['../structdlaf_1_1common_1_1_data_descriptor.html#aeb70d2395b5e4f49d56e133d3d4b3dd3',1,'dlaf::common::DataDescriptor']]], + ['blocksize_890',['blockSize',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a3f645fd23ce4c20591fdd2738b235f92',1,'dlaf::matrix::internal::MatrixBase']]], + ['broadcast_891',['broadcast',['../broadcast__panel_8h.html#a83a59dd8a250067f25b9b4bbd041a9cf',1,'dlaf::comm::broadcast(comm::IndexT_MPI rank_root, matrix::Panel< axis, T, D, storage > &panel, common::Pipeline< comm::Communicator > &serial_comm)'],['../broadcast__panel_8h.html#a6e56082c935ff28b0184870563b4069b',1,'dlaf::comm::broadcast(comm::IndexT_MPI rank_root, matrix::Panel< axis, T, D, storage > &panel, matrix::Panel< orthogonal(axis), T, D, storageT > &panelT, common::Pipeline< comm::Communicator > &row_task_chain, common::Pipeline< comm::Communicator > &col_task_chain)']]], + ['bt_5fband_5fto_5ftridiagonal_892',['bt_band_to_tridiagonal',['../bt__band__to__tridiag_8h.html#ac93781339b28227cf04add9d24d77340',1,'dlaf::eigensolver::internal::bt_band_to_tridiagonal(const SizeType band_size, matrix::Matrix< T, D > &mat_e, matrix::Matrix< const T, Device::CPU > &mat_hh)'],['../bt__band__to__tridiag_8h.html#a479dac42130a879850a15d876c88d5f9',1,'dlaf::eigensolver::internal::bt_band_to_tridiagonal(comm::CommunicatorGrid grid, const SizeType band_size, matrix::Matrix< T, D > &mat_e, matrix::Matrix< const T, Device::CPU > &mat_hh)']]], + ['bt_5freduction_5fto_5fband_893',['bt_reduction_to_band',['../bt__reduction__to__band_8h.html#a06ab2b4750275e88bdd416ab0d091165',1,'dlaf::eigensolver::internal::bt_reduction_to_band(const SizeType b, Matrix< T, device > &mat_c, Matrix< const T, device > &mat_v, Matrix< const T, Device::CPU > &mat_taus)'],['../bt__reduction__to__band_8h.html#aa3286b3c80ea7311bacfa009309b9753',1,'dlaf::eigensolver::internal::bt_reduction_to_band(comm::CommunicatorGrid grid, const SizeType b, Matrix< T, device > &mat_c, Matrix< const T, device > &mat_v, Matrix< const T, Device::CPU > &mat_taus)']]], + ['buffer_894',['Buffer',['../structdlaf_1_1common_1_1_buffer.html#a84240f0e2434c412292ed0c1a9db6c61',1,'dlaf::common::Buffer::Buffer(std::unique_ptr< T[]> &&memory, const SizeType N)'],['../structdlaf_1_1common_1_1_buffer.html#a904065ced6826be020d27b87b4d7596d',1,'dlaf::common::Buffer::Buffer(const SizeType N)'],['../structdlaf_1_1common_1_1_buffer.html#ae96ced7d357b20a027c5499aad807293',1,'dlaf::common::Buffer::Buffer()=default']]] ]; diff --git a/master/search/functions_10.js b/master/search/functions_10.js index 66676f1110..c604ba5c34 100644 --- a/master/search/functions_10.js +++ b/master/search/functions_10.js @@ -1,30 +1,30 @@ var searchData= [ - ['tile_1123',['Tile',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a73f2bfb1856011bce752fca6582ba584',1,'dlaf::matrix::Tile< const T, D >::Tile()'],['../classdlaf_1_1matrix_1_1_tile.html#af4bddf624138747a5089071f1f57eee4',1,'dlaf::matrix::Tile::Tile()=default'],['../classdlaf_1_1matrix_1_1_tile.html#a4c7d7a75afcd2cc6911b40643f4f095f',1,'dlaf::matrix::Tile::Tile(const TileElementSize &size, memory::MemoryView< ElementType, D > &&memory_view, SizeType ld) noexcept'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a38b4f570cc1ccedb8880d469d353414e',1,'dlaf::matrix::Tile< const T, D >::Tile()']]], - ['tileelementfromelement_1124',['tileElementFromElement',['../util__distribution_8h.html#a77c1788e03f30e7d9511a7e90a89a494',1,'dlaf::util::matrix']]], - ['tileelementfromglobalelement_1125',['tileElementFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#afe2b66a02c3a1a78bfac1bb2f20f2864',1,'dlaf::matrix::Distribution']]], - ['tileelementindex_1126',['tileElementIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a71ad776a93750b9c6d1ebfa2d36e28db',1,'dlaf::matrix::Distribution']]], - ['tileelementoffsetfromsubdistribution_1127',['tileElementOffsetFromSubDistribution',['../classdlaf_1_1matrix_1_1_distribution.html#a3a7dbaaf24fe56d7ba8e74d0fb7dc01b',1,'dlaf::matrix::Distribution']]], - ['tilefromelement_1128',['tileFromElement',['../util__distribution_8h.html#a8876d879740e8f24112ca972961e11c7',1,'dlaf::util::matrix']]], - ['tilelayout_1129',['tileLayout',['../layout__info_8h.html#a873adaaaa2e661caed98af371fbb1943',1,'dlaf::matrix::tileLayout(const matrix::Distribution &distribution)'],['../layout__info_8h.html#a254e1e0948e647642b0f2615aeaa0ea2',1,'dlaf::matrix::tileLayout(const LocalElementSize &size, const TileElementSize &block_size)'],['../layout__info_8h.html#a970afb0f1a7abc87e507e6c4d35f442a',1,'dlaf::matrix::tileLayout(const matrix::Distribution &distribution, SizeType ld_tile, SizeType tiles_per_col)'],['../layout__info_8h.html#a94ba1a30c8eef4798f864ae119c77113',1,'dlaf::matrix::tileLayout(const LocalElementSize &size, const TileElementSize &block_size, SizeType ld_tile, SizeType tiles_per_col)']]], - ['tilelinearindex_1130',['tileLinearIndex',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a5cdaa0376724e6f624591a6a6bcf46d9',1,'dlaf::matrix::internal::MatrixBase']]], - ['tileoffset_1131',['tileOffset',['../classdlaf_1_1matrix_1_1_layout_info.html#ad03e1291efd2ed416ace133a24a30ac4',1,'dlaf::matrix::LayoutInfo']]], - ['tilesize_1132',['tileSize',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a891c1da69cefcfdfb73b3915ccc2cce5',1,'dlaf::matrix::internal::MatrixBase::tileSize()'],['../classdlaf_1_1matrix_1_1_layout_info.html#a62e3619b9016e9c827c120fce629d08e',1,'dlaf::matrix::LayoutInfo::tileSize()'],['../classdlaf_1_1matrix_1_1_distribution.html#a4cec137b1316902f68b63148d282be62',1,'dlaf::matrix::Distribution::tileSize(const GlobalTileIndex &index) const noexcept']]], - ['tilesizefromglobalelement_1133',['tileSizeFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#a3dd77d459960a11b56fc1e7fb27932f7',1,'dlaf::matrix::Distribution']]], - ['to_5fint_1134',['to_int',['../types_8h.html#af90e7fd5acadf5987b7199b0bd44deea',1,'dlaf']]], - ['to_5fsigned_1135',['to_signed',['../types_8h.html#a2246feaf3c49f3f3ae5928082363f7d3',1,'dlaf::to_signed(const SB value)'],['../types_8h.html#aa39d2d6e54b007c18e1c57ff380c73cd',1,'dlaf::to_signed(const U unsigned_value)']]], - ['to_5fsizet_1136',['to_sizet',['../types_8h.html#a25d16ff6621f011d9a98be3d9ebf29f1',1,'dlaf']]], - ['to_5fsizetype_1137',['to_SizeType',['../types_8h.html#ab1f0edc8e1281293c9c1325cb9d4bec9',1,'dlaf']]], - ['to_5fuint_1138',['to_uint',['../types_8h.html#a4543febf91f08c23fd8a6eeca8f49d82',1,'dlaf']]], - ['to_5funsigned_1139',['to_unsigned',['../types_8h.html#afeb5db746331f9ca3a669373e1af84ba',1,'dlaf::to_unsigned(const S signed_value)'],['../types_8h.html#ae9973646cf4ce493ed1831a5bdbf7500',1,'dlaf::to_unsigned(const UB unsigned_value)']]], - ['total_5fops_1140',['total_ops',['../types_8h.html#a831d9cfa2a32641121185df5d9d70cdc',1,'dlaf']]], - ['transpose_1141',['transpose',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a98f8b3b0cd7b4c1fa62b40b9de0041bb',1,'dlaf::common::internal::basic_coords']]], - ['transposed_1142',['transposed',['../index2d_8h.html#a024753ac73fbefa174548c575327862b',1,'dlaf::common']]], - ['triangular_5fmultiplication_1143',['triangular_multiplication',['../multiplication_2triangular_8h.html#af467c3e497156c9595e7b04d7ca60da4',1,'dlaf::triangular_multiplication(blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)'],['../multiplication_2triangular_8h.html#af6c1fdcbc36640b652d33af8e8a94534',1,'dlaf::triangular_multiplication(comm::CommunicatorGrid grid, blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)']]], - ['triangular_5fsolver_1144',['triangular_solver',['../solver_2triangular_8h.html#ad0178e1f84caaeb244febc305705060d',1,'dlaf::triangular_solver(blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)'],['../solver_2triangular_8h.html#a171abbb15a7cfff61c9ba4f7f7dbed9f',1,'dlaf::triangular_solver(comm::CommunicatorGrid grid, blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)']]], - ['tridiagonal_5feigensolver_1145',['tridiagonal_eigensolver',['../tridiag__solver_8h.html#af5ddcff86d6f4a5b727f48987c17a2c9',1,'dlaf::eigensolver::internal::tridiagonal_eigensolver(Matrix< BaseType< T >, Device::CPU > &tridiag, Matrix< BaseType< T >, device > &evals, Matrix< T, device > &evecs)'],['../tridiag__solver_8h.html#ab18e652b7cf9e159b1d69a8a5d017306',1,'dlaf::eigensolver::internal::tridiagonal_eigensolver(comm::CommunicatorGrid grid, Matrix< BaseType< T >, Device::CPU > &tridiag, Matrix< BaseType< T >, D > &evals, Matrix< T, D > &evecs)']]], - ['trmm_1146',['trmm',['../blas_2tile_8h.html#a383ebe00fbfd1f328dd0378b8aa42b89',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &p)'],['../blas_2tile_8h.html#a185aa2ac627de6e9e393240cda2b5f4c',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a61397e6748a24f13ee6ad7f23e5339f7',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< T, D > &b)']]], - ['trmm3_1147',['trmm3',['../blas_2tile_8h.html#a0cdf7b22f8a310978252ff7a0c456b98',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a9906093b08eefa0a5341b140ce6100a3',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &p)'],['../blas_2tile_8h.html#aebff48d52916dafd14479dc3b1e04e8e',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< const T, D > &b, const Tile< T, D > &c)']]], - ['trsm_1148',['trsm',['../blas_2tile_8h.html#a1b11d671c920bf9dce76092e6d1aaa8c',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a23eb607d942637d4e14331a2f0f253f7',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &p)'],['../blas_2tile_8h.html#a2fe48f2d3a3a7515a99805d135c5b2ce',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< T, D > &b)']]], - ['type_5fhandler_1149',['type_handler',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#aa71d40004e1c645161b1d00b511ad9ee',1,'dlaf::comm::internal::type_handler::type_handler() noexcept=default'],['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#aa9eebfb39b8aabe2344f61a7bf26ee40',1,'dlaf::comm::internal::type_handler::type_handler(SizeType nblocks, SizeType block_size, SizeType stride)']]] + ['tile_1125',['Tile',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a73f2bfb1856011bce752fca6582ba584',1,'dlaf::matrix::Tile< const T, D >::Tile()'],['../classdlaf_1_1matrix_1_1_tile.html#af4bddf624138747a5089071f1f57eee4',1,'dlaf::matrix::Tile::Tile()=default'],['../classdlaf_1_1matrix_1_1_tile.html#a4c7d7a75afcd2cc6911b40643f4f095f',1,'dlaf::matrix::Tile::Tile(const TileElementSize &size, memory::MemoryView< ElementType, D > &&memory_view, SizeType ld) noexcept'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a38b4f570cc1ccedb8880d469d353414e',1,'dlaf::matrix::Tile< const T, D >::Tile()']]], + ['tileelementfromelement_1126',['tileElementFromElement',['../util__distribution_8h.html#a77c1788e03f30e7d9511a7e90a89a494',1,'dlaf::util::matrix']]], + ['tileelementfromglobalelement_1127',['tileElementFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#afe2b66a02c3a1a78bfac1bb2f20f2864',1,'dlaf::matrix::Distribution']]], + ['tileelementindex_1128',['tileElementIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a71ad776a93750b9c6d1ebfa2d36e28db',1,'dlaf::matrix::Distribution']]], + ['tileelementoffsetfromsubdistribution_1129',['tileElementOffsetFromSubDistribution',['../classdlaf_1_1matrix_1_1_distribution.html#a3a7dbaaf24fe56d7ba8e74d0fb7dc01b',1,'dlaf::matrix::Distribution']]], + ['tilefromelement_1130',['tileFromElement',['../util__distribution_8h.html#a8876d879740e8f24112ca972961e11c7',1,'dlaf::util::matrix']]], + ['tilelayout_1131',['tileLayout',['../layout__info_8h.html#a873adaaaa2e661caed98af371fbb1943',1,'dlaf::matrix::tileLayout(const matrix::Distribution &distribution)'],['../layout__info_8h.html#a254e1e0948e647642b0f2615aeaa0ea2',1,'dlaf::matrix::tileLayout(const LocalElementSize &size, const TileElementSize &block_size)'],['../layout__info_8h.html#a970afb0f1a7abc87e507e6c4d35f442a',1,'dlaf::matrix::tileLayout(const matrix::Distribution &distribution, SizeType ld_tile, SizeType tiles_per_col)'],['../layout__info_8h.html#a94ba1a30c8eef4798f864ae119c77113',1,'dlaf::matrix::tileLayout(const LocalElementSize &size, const TileElementSize &block_size, SizeType ld_tile, SizeType tiles_per_col)']]], + ['tilelinearindex_1132',['tileLinearIndex',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a5cdaa0376724e6f624591a6a6bcf46d9',1,'dlaf::matrix::internal::MatrixBase']]], + ['tileoffset_1133',['tileOffset',['../classdlaf_1_1matrix_1_1_layout_info.html#ad03e1291efd2ed416ace133a24a30ac4',1,'dlaf::matrix::LayoutInfo']]], + ['tilesize_1134',['tileSize',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a891c1da69cefcfdfb73b3915ccc2cce5',1,'dlaf::matrix::internal::MatrixBase::tileSize()'],['../classdlaf_1_1matrix_1_1_layout_info.html#a62e3619b9016e9c827c120fce629d08e',1,'dlaf::matrix::LayoutInfo::tileSize()'],['../classdlaf_1_1matrix_1_1_distribution.html#a4cec137b1316902f68b63148d282be62',1,'dlaf::matrix::Distribution::tileSize(const GlobalTileIndex &index) const noexcept']]], + ['tilesizefromglobalelement_1135',['tileSizeFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#a3dd77d459960a11b56fc1e7fb27932f7',1,'dlaf::matrix::Distribution']]], + ['to_5fint_1136',['to_int',['../types_8h.html#af90e7fd5acadf5987b7199b0bd44deea',1,'dlaf']]], + ['to_5fsigned_1137',['to_signed',['../types_8h.html#a2246feaf3c49f3f3ae5928082363f7d3',1,'dlaf::to_signed(const SB value)'],['../types_8h.html#aa39d2d6e54b007c18e1c57ff380c73cd',1,'dlaf::to_signed(const U unsigned_value)']]], + ['to_5fsizet_1138',['to_sizet',['../types_8h.html#a25d16ff6621f011d9a98be3d9ebf29f1',1,'dlaf']]], + ['to_5fsizetype_1139',['to_SizeType',['../types_8h.html#ab1f0edc8e1281293c9c1325cb9d4bec9',1,'dlaf']]], + ['to_5fuint_1140',['to_uint',['../types_8h.html#a4543febf91f08c23fd8a6eeca8f49d82',1,'dlaf']]], + ['to_5funsigned_1141',['to_unsigned',['../types_8h.html#afeb5db746331f9ca3a669373e1af84ba',1,'dlaf::to_unsigned(const S signed_value)'],['../types_8h.html#ae9973646cf4ce493ed1831a5bdbf7500',1,'dlaf::to_unsigned(const UB unsigned_value)']]], + ['total_5fops_1142',['total_ops',['../types_8h.html#a831d9cfa2a32641121185df5d9d70cdc',1,'dlaf']]], + ['transpose_1143',['transpose',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a98f8b3b0cd7b4c1fa62b40b9de0041bb',1,'dlaf::common::internal::basic_coords']]], + ['transposed_1144',['transposed',['../index2d_8h.html#a024753ac73fbefa174548c575327862b',1,'dlaf::common']]], + ['triangular_5fmultiplication_1145',['triangular_multiplication',['../multiplication_2triangular_8h.html#af467c3e497156c9595e7b04d7ca60da4',1,'dlaf::triangular_multiplication(blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)'],['../multiplication_2triangular_8h.html#af6c1fdcbc36640b652d33af8e8a94534',1,'dlaf::triangular_multiplication(comm::CommunicatorGrid grid, blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)']]], + ['triangular_5fsolver_1146',['triangular_solver',['../solver_2triangular_8h.html#ad0178e1f84caaeb244febc305705060d',1,'dlaf::triangular_solver(blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)'],['../solver_2triangular_8h.html#a171abbb15a7cfff61c9ba4f7f7dbed9f',1,'dlaf::triangular_solver(comm::CommunicatorGrid grid, blas::Side side, blas::Uplo uplo, blas::Op op, blas::Diag diag, T alpha, Matrix< const T, device > &mat_a, Matrix< T, device > &mat_b)']]], + ['tridiagonal_5feigensolver_1147',['tridiagonal_eigensolver',['../tridiag__solver_8h.html#af5ddcff86d6f4a5b727f48987c17a2c9',1,'dlaf::eigensolver::internal::tridiagonal_eigensolver(Matrix< BaseType< T >, Device::CPU > &tridiag, Matrix< BaseType< T >, device > &evals, Matrix< T, device > &evecs)'],['../tridiag__solver_8h.html#ab18e652b7cf9e159b1d69a8a5d017306',1,'dlaf::eigensolver::internal::tridiagonal_eigensolver(comm::CommunicatorGrid grid, Matrix< BaseType< T >, Device::CPU > &tridiag, Matrix< BaseType< T >, D > &evals, Matrix< T, D > &evecs)']]], + ['trmm_1148',['trmm',['../blas_2tile_8h.html#a383ebe00fbfd1f328dd0378b8aa42b89',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &p)'],['../blas_2tile_8h.html#a185aa2ac627de6e9e393240cda2b5f4c',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a61397e6748a24f13ee6ad7f23e5339f7',1,'dlaf::tile::trmm(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< T, D > &b)']]], + ['trmm3_1149',['trmm3',['../blas_2tile_8h.html#a0cdf7b22f8a310978252ff7a0c456b98',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a9906093b08eefa0a5341b140ce6100a3',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &p)'],['../blas_2tile_8h.html#aebff48d52916dafd14479dc3b1e04e8e',1,'dlaf::tile::trmm3(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< const T, D > &b, const Tile< T, D > &c)']]], + ['trsm_1150',['trsm',['../blas_2tile_8h.html#a1b11d671c920bf9dce76092e6d1aaa8c',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a23eb607d942637d4e14331a2f0f253f7',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &p)'],['../blas_2tile_8h.html#a2fe48f2d3a3a7515a99805d135c5b2ce',1,'dlaf::tile::trsm(const dlaf::internal::Policy< B > &policy, const blas::Side side, const blas::Uplo uplo, const blas::Op op, const blas::Diag diag, const T alpha, const Tile< const T, D > &a, const Tile< T, D > &b)']]], + ['type_5fhandler_1151',['type_handler',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#aa71d40004e1c645161b1d00b511ad9ee',1,'dlaf::comm::internal::type_handler::type_handler() noexcept=default'],['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#aa9eebfb39b8aabe2344f61a7bf26ee40',1,'dlaf::comm::internal::type_handler::type_handler(SizeType nblocks, SizeType block_size, SizeType stride)']]] ]; diff --git a/master/search/functions_11.js b/master/search/functions_11.js index d162f202ed..58ea535c42 100644 --- a/master/search/functions_11.js +++ b/master/search/functions_11.js @@ -1,4 +1,4 @@ var searchData= [ - ['unwrap_1150',['unwrap',['../unwrap_8h.html#a8da70a5535ac987a8f6ca7f8b195547d',1,'dlaf::common::internal']]] + ['unwrap_1152',['unwrap',['../unwrap_8h.html#a8da70a5535ac987a8f6ca7f8b195547d',1,'dlaf::common::internal']]] ]; diff --git a/master/search/functions_12.js b/master/search/functions_12.js index c91f6fdb36..d85740b912 100644 --- a/master/search/functions_12.js +++ b/master/search/functions_12.js @@ -1,5 +1,5 @@ var searchData= [ - ['valid_1151',['valid',['../classdlaf_1_1common_1_1_pipeline.html#affda528ea4c5e0e54f8fca4250b53af5',1,'dlaf::common::Pipeline::valid()'],['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#a3e3096bb1ef85b6017bd8c42c9617586',1,'dlaf::matrix::internal::TilePipeline::valid()']]], - ['view_1152',['View',['../structdlaf_1_1matrix_1_1internal_1_1_view.html#a3635af3164815f905a9fd33979a14a34',1,'dlaf::matrix::internal::View']]] + ['valid_1153',['valid',['../classdlaf_1_1common_1_1_pipeline.html#affda528ea4c5e0e54f8fca4250b53af5',1,'dlaf::common::Pipeline::valid()'],['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#a3e3096bb1ef85b6017bd8c42c9617586',1,'dlaf::matrix::internal::TilePipeline::valid()']]], + ['view_1154',['View',['../structdlaf_1_1matrix_1_1internal_1_1_view.html#a3635af3164815f905a9fd33979a14a34',1,'dlaf::matrix::internal::View']]] ]; diff --git a/master/search/functions_13.js b/master/search/functions_13.js index b2e9a37e81..9dc492abc8 100644 --- a/master/search/functions_13.js +++ b/master/search/functions_13.js @@ -1,4 +1,4 @@ var searchData= [ - ['waitlocaltiles_1153',['waitLocalTiles',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#abffc73bf079f7f7c23af3fca4dec329f',1,'dlaf::matrix::Matrix< const T, D >']]] + ['waitlocaltiles_1155',['waitLocalTiles',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#abffc73bf079f7f7c23af3fca4dec329f',1,'dlaf::matrix::Matrix< const T, D >']]] ]; diff --git a/master/search/functions_14.js b/master/search/functions_14.js index 17fc46b328..cc92d7c21b 100644 --- a/master/search/functions_14.js +++ b/master/search/functions_14.js @@ -1,9 +1,9 @@ var searchData= [ - ['_7ematrixmirror_1154',['~MatrixMirror',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html#a2eeef61985e20a9218d55e76548acfb5',1,'dlaf::matrix::MatrixMirror< const T, Target, Source >::~MatrixMirror()'],['../classdlaf_1_1matrix_1_1_matrix_mirror.html#ae24915137508619315773c7a416f902f',1,'dlaf::matrix::MatrixMirror::~MatrixMirror()']]], - ['_7ememorychunk_1155',['~MemoryChunk',['../classdlaf_1_1memory_1_1_memory_chunk.html#a597aa1c075db44808f7e14c9ec03e50b',1,'dlaf::memory::MemoryChunk']]], - ['_7empi_5finit_1156',['~mpi_init',['../structdlaf_1_1comm_1_1mpi__init.html#a2413c9dc23983c5790cd0ebb3bb9e057',1,'dlaf::comm::mpi_init']]], - ['_7epanel_1157',['~Panel',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#adab53d11d9904715b775df7c23ba6682',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['_7etile_1158',['~Tile',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a66f6b8ef0f4d9168c12715d0fc1b16dc',1,'dlaf::matrix::Tile< const T, D >']]], - ['_7etype_5fhandler_1159',['~type_handler',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#a8fab81a168aa4f3441deb1a01f4a5171',1,'dlaf::comm::internal::type_handler']]] + ['_7ematrixmirror_1156',['~MatrixMirror',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html#a2eeef61985e20a9218d55e76548acfb5',1,'dlaf::matrix::MatrixMirror< const T, Target, Source >::~MatrixMirror()'],['../classdlaf_1_1matrix_1_1_matrix_mirror.html#ae24915137508619315773c7a416f902f',1,'dlaf::matrix::MatrixMirror::~MatrixMirror()']]], + ['_7ememorychunk_1157',['~MemoryChunk',['../classdlaf_1_1memory_1_1_memory_chunk.html#a597aa1c075db44808f7e14c9ec03e50b',1,'dlaf::memory::MemoryChunk']]], + ['_7empi_5finit_1158',['~mpi_init',['../structdlaf_1_1comm_1_1mpi__init.html#a2413c9dc23983c5790cd0ebb3bb9e057',1,'dlaf::comm::mpi_init']]], + ['_7epanel_1159',['~Panel',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#adab53d11d9904715b775df7c23ba6682',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['_7etile_1160',['~Tile',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a66f6b8ef0f4d9168c12715d0fc1b16dc',1,'dlaf::matrix::Tile< const T, D >']]], + ['_7etype_5fhandler_1161',['~type_handler',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#a8fab81a168aa4f3441deb1a01f4a5171',1,'dlaf::comm::internal::type_handler']]] ]; diff --git a/master/search/functions_2.js b/master/search/functions_2.js index ba838c4297..87f51e0113 100644 --- a/master/search/functions_2.js +++ b/master/search/functions_2.js @@ -1,29 +1,29 @@ var searchData= [ - ['call_894',['call',['../structdlaf_1_1factorization_1_1internal_1_1_q_r___tfactor.html#ac73f315af163e45f509e230f362d1310',1,'dlaf::factorization::internal::QR_Tfactor::call(matrix::Panel< Coord::Col, T, device > &hh_panel, matrix::ReadOnlyTileSender< T, Device::CPU > taus, matrix::ReadWriteTileSender< T, device > t, common::Pipeline< comm::Communicator > &mpi_col_task_chain)'],['../structdlaf_1_1factorization_1_1internal_1_1_q_r___tfactor.html#a1d9391570e947628f8c23668f944f7d4',1,'dlaf::factorization::internal::QR_Tfactor::call(matrix::Panel< Coord::Col, T, device > &panel_view, matrix::ReadOnlyTileSender< T, Device::CPU > taus, matrix::ReadWriteTileSender< T, device > t)']]], - ['ceildiv_895',['ceilDiv',['../util__math_8h.html#a65aa2478fed7af8bdb404930d7a90fb3',1,'dlaf::util']]], - ['cholesky_5ffactorization_896',['cholesky_factorization',['../factorization_2cholesky_8h.html#adaa1f64029b23ea42e9ba15219c1d06d',1,'dlaf::cholesky_factorization(blas::Uplo uplo, Matrix< T, device > &mat_a)'],['../factorization_2cholesky_8h.html#a7eb54a489fc89c0e4027b4017ae8bccb',1,'dlaf::cholesky_factorization(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, device > &mat_a)']]], - ['clone_897',['clone',['../classdlaf_1_1comm_1_1_communicator.html#a436eca0d1c23635a6dcd209f1a1c37df',1,'dlaf::comm::Communicator']]], - ['colcommunicator_898',['colCommunicator',['../classdlaf_1_1comm_1_1_communicator_grid.html#af6821b23aeb96284b9e217a02c5115e5',1,'dlaf::comm::CommunicatorGrid']]], - ['colmajorlayout_899',['colMajorLayout',['../layout__info_8h.html#ae46d78a3ef61da55b5c5d70329cc0d11',1,'dlaf::matrix::colMajorLayout(const matrix::Distribution &distribution, SizeType ld)'],['../layout__info_8h.html#adf298ab87e69a013e5f06856ab7e7902',1,'dlaf::matrix::colMajorLayout(const LocalElementSize &size, const TileElementSize &block_size, SizeType ld)']]], - ['cols_900',['cols',['../structdlaf_1_1matrix_1_1_sub_panel_view.html#aa36196de77e52108028c96e7d94e988d',1,'dlaf::matrix::SubPanelView']]], - ['commgridsize_901',['commGridSize',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a1f81375953df07b80ddb5cae672319bd',1,'dlaf::matrix::internal::MatrixBase']]], - ['communicator_902',['Communicator',['../classdlaf_1_1comm_1_1_communicator.html#a891a7bf00a52071373bfc38aae8f83aa',1,'dlaf::comm::Communicator::Communicator()'],['../classdlaf_1_1comm_1_1_communicator.html#afa39beca08a343e1b8587b98d63870a0',1,'dlaf::comm::Communicator::Communicator(MPI_Comm mpi_communicator)']]], - ['communicatorgrid_903',['CommunicatorGrid',['../classdlaf_1_1comm_1_1_communicator_grid.html#aa17d9edca4165db00ede2fa650463aca',1,'dlaf::comm::CommunicatorGrid::CommunicatorGrid(Communicator comm, IndexT_MPI rows, IndexT_MPI cols, common::Ordering ordering)'],['../classdlaf_1_1comm_1_1_communicator_grid.html#ab8d976dcbcf87aa12cde5433fdcbe8a7',1,'dlaf::comm::CommunicatorGrid::CommunicatorGrid(Communicator comm, const std::array< IndexT_MPI, 2 > &size, common::Ordering ordering)']]], - ['computecoords_904',['computeCoords',['../index2d_8h.html#ab6f5ed39b526ad9ae94ed6394a35832b',1,'dlaf::common']]], - ['computecoordscolmajor_905',['computeCoordsColMajor',['../index2d_8h.html#afa922ad7c9bdb475884943a4cb233744',1,'dlaf::common']]], - ['computecoordsrowmajor_906',['computeCoordsRowMajor',['../index2d_8h.html#ac9c99027fa12a875fa12d878393fefff',1,'dlaf::common']]], - ['computelinearindex_907',['computeLinearIndex',['../index2d_8h.html#a15f2674deab8ea5e84471b18b8ffba94',1,'dlaf::common']]], - ['computelinearindexcolmajor_908',['computeLinearIndexColMajor',['../index2d_8h.html#a7e8f91611ddcaf36316ee316666e4d07',1,'dlaf::common']]], - ['computelinearindexrowmajor_909',['computeLinearIndexRowMajor',['../index2d_8h.html#ad3fcc947c550d2315d1afca1241b29b9',1,'dlaf::common']]], - ['computetfactor_910',['computeTFactor',['../qr_8h.html#a4654c00202b44c6c9365d1a03eff9e99',1,'dlaf::factorization::internal']]], - ['conj_911',['conj',['../types_8h.html#a669723b711f94043da9793d2b24d51d9',1,'dlaf::conj(const std::complex< T > number)'],['../types_8h.html#aa28e454906f2ff49398f76a2be8789a4',1,'dlaf::conj(const T number)']]], - ['copy_912',['copy',['../copy__tile_8h.html#a6b3c08cc454ab1e1f36e53b59c667c2f',1,'dlaf::matrix::internal::copy()'],['../data_8h.html#a7f6919f56260399a905af9e869afba10',1,'dlaf::common::copy()'],['../copy_8h.html#abc90df94f398c001b29a9d62a5714043',1,'dlaf::matrix::copy(LocalTileSize sz, LocalTileIndex idx_source_begin, Matrix< const T, Source > &source, LocalTileIndex idx_dest_begin, Matrix< T, Destination > &dest)'],['../copy_8h.html#a4e9f34de930792a328db5561dc67a788',1,'dlaf::matrix::copy(Matrix< const T, Source > &src, Matrix< T, Destination > &dst, comm::CommunicatorGrid grid)']]], - ['copysourcetotarget_913',['copySourceToTarget',['../classdlaf_1_1matrix_1_1_matrix_mirror.html#af6a0069ca18c893cd63044f09df006a8',1,'dlaf::matrix::MatrixMirror::copySourceToTarget()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html#a928052751a50582ba6d7f793fdc877d3',1,'dlaf::matrix::MatrixMirror< T, SourceTarget, SourceTarget >::copySourceToTarget()']]], - ['copytargettosource_914',['copyTargetToSource',['../classdlaf_1_1matrix_1_1_matrix_mirror.html#abb91b94a9c46d72c9e0f2566bf34728c',1,'dlaf::matrix::MatrixMirror::copyTargetToSource()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html#a05e120862eb3eae604143d67afef22bf',1,'dlaf::matrix::MatrixMirror< T, SourceTarget, SourceTarget >::copyTargetToSource()']]], - ['count_915',['count',['../structdlaf_1_1common_1_1_data_descriptor.html#a936d7432ec4732975764786e9e74cf39',1,'dlaf::common::DataDescriptor::count()'],['../classdlaf_1_1comm_1_1_message.html#a53b9c220b5c7a92bee1a5ad0963014d4',1,'dlaf::comm::Message::count()']]], - ['create_5fdata_916',['create_data',['../data_8h.html#ab547927373241ec4d208e6e62b1b7f80',1,'dlaf::common::create_data()'],['../matrix_2tile_8h.html#a5635e7d6d98ad8b7bcfacfc502e6bdee',1,'dlaf::matrix::create_data()']]], - ['create_5ftemporary_5fbuffer_917',['create_temporary_buffer',['../data__descriptor_8h.html#a7168d5e011929eeafdfebaee7492c9ba',1,'dlaf::common']]], - ['creatematrixfromcolmajor_918',['createMatrixFromColMajor',['../matrix_8h.html#a0edf764f5d64e80355ffe9a5c8eb31e7',1,'dlaf::matrix::createMatrixFromColMajor(const LocalElementSize &size, const TileElementSize &block_size, SizeType ld, T *ptr)'],['../matrix_8h.html#aace8acce04f452c07b86ea6d04b33366',1,'dlaf::matrix::createMatrixFromColMajor(const GlobalElementSize &size, const TileElementSize &block_size, SizeType ld, const comm::CommunicatorGrid &comm, const comm::Index2D &source_rank_index, T *ptr)'],['../matrix_8h.html#a6191cb29721235980256d98eeea8d722',1,'dlaf::matrix::createMatrixFromColMajor(const GlobalElementSize &size, const TileElementSize &block_size, SizeType ld, const comm::CommunicatorGrid &comm, T *ptr)']]], - ['creatematrixfromtile_919',['createMatrixFromTile',['../matrix_8h.html#abae8f550140d87bbe74dfb9bc35c5226',1,'dlaf::matrix::createMatrixFromTile(const LocalElementSize &size, const TileElementSize &block_size, T *ptr)'],['../matrix_8h.html#a5b237a24c0c9c1d9ca958e56684973ae',1,'dlaf::matrix::createMatrixFromTile(const LocalElementSize &size, const TileElementSize &block_size, SizeType ld_tile, SizeType tiles_per_col, T *ptr)'],['../matrix_8h.html#a56931003af5239d82bb1ba403af878e4',1,'dlaf::matrix::createMatrixFromTile(const GlobalElementSize &size, const TileElementSize &block_size, const comm::CommunicatorGrid &comm, const comm::Index2D &source_rank_index, T *ptr)'],['../matrix_8h.html#a26c92f6737011495d6b3764725c4949a',1,'dlaf::matrix::createMatrixFromTile(const GlobalElementSize &size, const TileElementSize &block_size, const comm::CommunicatorGrid &comm, T *ptr)'],['../matrix_8h.html#a6bbd903412fe86fb4e7ad4b9b52a2102',1,'dlaf::matrix::createMatrixFromTile(const GlobalElementSize &size, const TileElementSize &block_size, SizeType ld_tile, SizeType tiles_per_col, const comm::CommunicatorGrid &comm, const comm::Index2D &source_rank_index, T *ptr)'],['../matrix_8h.html#a71205e9a339140e0f9844c929d963d85',1,'dlaf::matrix::createMatrixFromTile(const GlobalElementSize &size, const TileElementSize &block_size, SizeType ld_tile, SizeType tiles_per_col, const comm::CommunicatorGrid &comm, T *ptr)']]] + ['call_895',['call',['../structdlaf_1_1factorization_1_1internal_1_1_q_r___tfactor.html#ac73f315af163e45f509e230f362d1310',1,'dlaf::factorization::internal::QR_Tfactor::call(matrix::Panel< Coord::Col, T, device > &hh_panel, matrix::ReadOnlyTileSender< T, Device::CPU > taus, matrix::ReadWriteTileSender< T, device > t, common::Pipeline< comm::Communicator > &mpi_col_task_chain)'],['../structdlaf_1_1factorization_1_1internal_1_1_q_r___tfactor.html#a1d9391570e947628f8c23668f944f7d4',1,'dlaf::factorization::internal::QR_Tfactor::call(matrix::Panel< Coord::Col, T, device > &panel_view, matrix::ReadOnlyTileSender< T, Device::CPU > taus, matrix::ReadWriteTileSender< T, device > t)']]], + ['ceildiv_896',['ceilDiv',['../util__math_8h.html#a65aa2478fed7af8bdb404930d7a90fb3',1,'dlaf::util']]], + ['cholesky_5ffactorization_897',['cholesky_factorization',['../factorization_2cholesky_8h.html#adaa1f64029b23ea42e9ba15219c1d06d',1,'dlaf::cholesky_factorization(blas::Uplo uplo, Matrix< T, device > &mat_a)'],['../factorization_2cholesky_8h.html#a7eb54a489fc89c0e4027b4017ae8bccb',1,'dlaf::cholesky_factorization(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, device > &mat_a)']]], + ['clone_898',['clone',['../classdlaf_1_1comm_1_1_communicator.html#a436eca0d1c23635a6dcd209f1a1c37df',1,'dlaf::comm::Communicator']]], + ['colcommunicator_899',['colCommunicator',['../classdlaf_1_1comm_1_1_communicator_grid.html#af6821b23aeb96284b9e217a02c5115e5',1,'dlaf::comm::CommunicatorGrid']]], + ['colmajorlayout_900',['colMajorLayout',['../layout__info_8h.html#ae46d78a3ef61da55b5c5d70329cc0d11',1,'dlaf::matrix::colMajorLayout(const matrix::Distribution &distribution, SizeType ld)'],['../layout__info_8h.html#adf298ab87e69a013e5f06856ab7e7902',1,'dlaf::matrix::colMajorLayout(const LocalElementSize &size, const TileElementSize &block_size, SizeType ld)']]], + ['cols_901',['cols',['../structdlaf_1_1matrix_1_1_sub_panel_view.html#aa36196de77e52108028c96e7d94e988d',1,'dlaf::matrix::SubPanelView']]], + ['commgridsize_902',['commGridSize',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a1f81375953df07b80ddb5cae672319bd',1,'dlaf::matrix::internal::MatrixBase']]], + ['communicator_903',['Communicator',['../classdlaf_1_1comm_1_1_communicator.html#a891a7bf00a52071373bfc38aae8f83aa',1,'dlaf::comm::Communicator::Communicator()'],['../classdlaf_1_1comm_1_1_communicator.html#afa39beca08a343e1b8587b98d63870a0',1,'dlaf::comm::Communicator::Communicator(MPI_Comm mpi_communicator)']]], + ['communicatorgrid_904',['CommunicatorGrid',['../classdlaf_1_1comm_1_1_communicator_grid.html#aa17d9edca4165db00ede2fa650463aca',1,'dlaf::comm::CommunicatorGrid::CommunicatorGrid(Communicator comm, IndexT_MPI rows, IndexT_MPI cols, common::Ordering ordering)'],['../classdlaf_1_1comm_1_1_communicator_grid.html#ab8d976dcbcf87aa12cde5433fdcbe8a7',1,'dlaf::comm::CommunicatorGrid::CommunicatorGrid(Communicator comm, const std::array< IndexT_MPI, 2 > &size, common::Ordering ordering)']]], + ['computecoords_905',['computeCoords',['../index2d_8h.html#ab6f5ed39b526ad9ae94ed6394a35832b',1,'dlaf::common']]], + ['computecoordscolmajor_906',['computeCoordsColMajor',['../index2d_8h.html#afa922ad7c9bdb475884943a4cb233744',1,'dlaf::common']]], + ['computecoordsrowmajor_907',['computeCoordsRowMajor',['../index2d_8h.html#ac9c99027fa12a875fa12d878393fefff',1,'dlaf::common']]], + ['computelinearindex_908',['computeLinearIndex',['../index2d_8h.html#a15f2674deab8ea5e84471b18b8ffba94',1,'dlaf::common']]], + ['computelinearindexcolmajor_909',['computeLinearIndexColMajor',['../index2d_8h.html#a7e8f91611ddcaf36316ee316666e4d07',1,'dlaf::common']]], + ['computelinearindexrowmajor_910',['computeLinearIndexRowMajor',['../index2d_8h.html#ad3fcc947c550d2315d1afca1241b29b9',1,'dlaf::common']]], + ['computetfactor_911',['computeTFactor',['../qr_8h.html#a4654c00202b44c6c9365d1a03eff9e99',1,'dlaf::factorization::internal']]], + ['conj_912',['conj',['../types_8h.html#a669723b711f94043da9793d2b24d51d9',1,'dlaf::conj(const std::complex< T > number)'],['../types_8h.html#aa28e454906f2ff49398f76a2be8789a4',1,'dlaf::conj(const T number)']]], + ['copy_913',['copy',['../copy__tile_8h.html#a6b3c08cc454ab1e1f36e53b59c667c2f',1,'dlaf::matrix::internal::copy()'],['../data_8h.html#a7f6919f56260399a905af9e869afba10',1,'dlaf::common::copy()'],['../copy_8h.html#abc90df94f398c001b29a9d62a5714043',1,'dlaf::matrix::copy(LocalTileSize sz, LocalTileIndex idx_source_begin, Matrix< const T, Source > &source, LocalTileIndex idx_dest_begin, Matrix< T, Destination > &dest)'],['../copy_8h.html#a4e9f34de930792a328db5561dc67a788',1,'dlaf::matrix::copy(Matrix< const T, Source > &src, Matrix< T, Destination > &dst, comm::CommunicatorGrid grid)']]], + ['copysourcetotarget_914',['copySourceToTarget',['../classdlaf_1_1matrix_1_1_matrix_mirror.html#af6a0069ca18c893cd63044f09df006a8',1,'dlaf::matrix::MatrixMirror::copySourceToTarget()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html#a928052751a50582ba6d7f793fdc877d3',1,'dlaf::matrix::MatrixMirror< T, SourceTarget, SourceTarget >::copySourceToTarget()']]], + ['copytargettosource_915',['copyTargetToSource',['../classdlaf_1_1matrix_1_1_matrix_mirror.html#abb91b94a9c46d72c9e0f2566bf34728c',1,'dlaf::matrix::MatrixMirror::copyTargetToSource()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html#a05e120862eb3eae604143d67afef22bf',1,'dlaf::matrix::MatrixMirror< T, SourceTarget, SourceTarget >::copyTargetToSource()']]], + ['count_916',['count',['../structdlaf_1_1common_1_1_data_descriptor.html#a936d7432ec4732975764786e9e74cf39',1,'dlaf::common::DataDescriptor::count()'],['../classdlaf_1_1comm_1_1_message.html#a53b9c220b5c7a92bee1a5ad0963014d4',1,'dlaf::comm::Message::count()']]], + ['create_5fdata_917',['create_data',['../data_8h.html#ab547927373241ec4d208e6e62b1b7f80',1,'dlaf::common::create_data()'],['../matrix_2tile_8h.html#a5635e7d6d98ad8b7bcfacfc502e6bdee',1,'dlaf::matrix::create_data()']]], + ['create_5ftemporary_5fbuffer_918',['create_temporary_buffer',['../data__descriptor_8h.html#a7168d5e011929eeafdfebaee7492c9ba',1,'dlaf::common']]], + ['creatematrixfromcolmajor_919',['createMatrixFromColMajor',['../matrix_8h.html#a0edf764f5d64e80355ffe9a5c8eb31e7',1,'dlaf::matrix::createMatrixFromColMajor(const LocalElementSize &size, const TileElementSize &block_size, SizeType ld, T *ptr)'],['../matrix_8h.html#aace8acce04f452c07b86ea6d04b33366',1,'dlaf::matrix::createMatrixFromColMajor(const GlobalElementSize &size, const TileElementSize &block_size, SizeType ld, const comm::CommunicatorGrid &comm, const comm::Index2D &source_rank_index, T *ptr)'],['../matrix_8h.html#a6191cb29721235980256d98eeea8d722',1,'dlaf::matrix::createMatrixFromColMajor(const GlobalElementSize &size, const TileElementSize &block_size, SizeType ld, const comm::CommunicatorGrid &comm, T *ptr)']]], + ['creatematrixfromtile_920',['createMatrixFromTile',['../matrix_8h.html#abae8f550140d87bbe74dfb9bc35c5226',1,'dlaf::matrix::createMatrixFromTile(const LocalElementSize &size, const TileElementSize &block_size, T *ptr)'],['../matrix_8h.html#a5b237a24c0c9c1d9ca958e56684973ae',1,'dlaf::matrix::createMatrixFromTile(const LocalElementSize &size, const TileElementSize &block_size, SizeType ld_tile, SizeType tiles_per_col, T *ptr)'],['../matrix_8h.html#a56931003af5239d82bb1ba403af878e4',1,'dlaf::matrix::createMatrixFromTile(const GlobalElementSize &size, const TileElementSize &block_size, const comm::CommunicatorGrid &comm, const comm::Index2D &source_rank_index, T *ptr)'],['../matrix_8h.html#a26c92f6737011495d6b3764725c4949a',1,'dlaf::matrix::createMatrixFromTile(const GlobalElementSize &size, const TileElementSize &block_size, const comm::CommunicatorGrid &comm, T *ptr)'],['../matrix_8h.html#a6bbd903412fe86fb4e7ad4b9b52a2102',1,'dlaf::matrix::createMatrixFromTile(const GlobalElementSize &size, const TileElementSize &block_size, SizeType ld_tile, SizeType tiles_per_col, const comm::CommunicatorGrid &comm, const comm::Index2D &source_rank_index, T *ptr)'],['../matrix_8h.html#a71205e9a339140e0f9844c929d963d85',1,'dlaf::matrix::createMatrixFromTile(const GlobalElementSize &size, const TileElementSize &block_size, SizeType ld_tile, SizeType tiles_per_col, const comm::CommunicatorGrid &comm, T *ptr)']]] ]; diff --git a/master/search/functions_3.js b/master/search/functions_3.js index bb7a5c3bd9..55183e1ec0 100644 --- a/master/search/functions_3.js +++ b/master/search/functions_3.js @@ -1,37 +1,37 @@ var searchData= [ - ['data_920',['data',['../classdlaf_1_1comm_1_1_message.html#a3684d7d2edac45401785fa9e8561eb73',1,'dlaf::comm::Message::data()'],['../structdlaf_1_1common_1_1_data_descriptor.html#a6f93fef2051c96e6b0100bcb50c280e2',1,'dlaf::common::DataDescriptor::data()']]], - ['data_5fblocksize_921',['data_blocksize',['../data_8h.html#aee766fd59c4a4d3c428082b37b54ea81',1,'dlaf::common']]], - ['data_5fcount_922',['data_count',['../data_8h.html#a4b0d72a2fdf94917b5641c25c86bcf18',1,'dlaf::common']]], - ['data_5fiscontiguous_923',['data_iscontiguous',['../data_8h.html#aee9f8825e02ce8fb557f93bd4d4facef',1,'dlaf::common']]], - ['data_5fnblocks_924',['data_nblocks',['../data_8h.html#a2f5f60205cc53a1a1bce17012cc36368',1,'dlaf::common']]], - ['data_5fpointer_925',['data_pointer',['../data_8h.html#ab4238a013332af8dc361a581d4250205',1,'dlaf::common']]], - ['data_5fstride_926',['data_stride',['../data_8h.html#a18f232284c687293001d172fd19ed3fe',1,'dlaf::common']]], - ['datadescriptor_927',['DataDescriptor',['../structdlaf_1_1common_1_1_data_descriptor_3_01_t_0f_n_0e_4.html#acef674017777de4a735258a476e95e47',1,'dlaf::common::DataDescriptor< T[N]>::DataDescriptor()'],['../structdlaf_1_1common_1_1_data_descriptor.html#acb58ba4559ea0a6022a45bb781dccc6c',1,'dlaf::common::DataDescriptor::DataDescriptor(const Data &data)'],['../structdlaf_1_1common_1_1_data_descriptor.html#acd73354fd77df45c9b70ab034fc1cd61',1,'dlaf::common::DataDescriptor::DataDescriptor(T *ptr, SizeType num_blocks, SizeType blocksize, SizeType stride) noexcept'],['../structdlaf_1_1common_1_1_data_descriptor.html#a8c969a23a32e1cf2ae19a7811ae394e4',1,'dlaf::common::DataDescriptor::DataDescriptor(T *ptr, SizeType n) noexcept'],['../structdlaf_1_1common_1_1_data_descriptor.html#a87ca3689fd590f74e636317987af17bd',1,'dlaf::common::DataDescriptor::DataDescriptor()']]], - ['distancetoadjacenttile_928',['distanceToAdjacentTile',['../classdlaf_1_1matrix_1_1_distribution.html#aa0b67d70b8b3e6f74c53d1062546b8ed',1,'dlaf::matrix::Distribution']]], - ['distribution_929',['Distribution',['../classdlaf_1_1matrix_1_1_distribution.html#aacf1f8d3d02d9c70bf0bffe0725b5d92',1,'dlaf::matrix::Distribution::Distribution() noexcept'],['../classdlaf_1_1matrix_1_1_distribution.html#a146465cb553b8a9d9f32bf63ff7e7375',1,'dlaf::matrix::Distribution::Distribution(const LocalElementSize &size, const TileElementSize &block_size, const GlobalElementIndex &element_offset={0, 0})'],['../classdlaf_1_1matrix_1_1_distribution.html#a97b363d57f32add582ce1774a6b9a147',1,'dlaf::matrix::Distribution::Distribution(const GlobalElementSize &size, const TileElementSize &block_size, const comm::Size2D &grid_size, const comm::Index2D &rank_index, const comm::Index2D &source_rank_index, const GlobalElementIndex &element_offset={0, 0})'],['../classdlaf_1_1matrix_1_1_distribution.html#a47b322556c713fd38223538f50f58e14',1,'dlaf::matrix::Distribution::Distribution(const GlobalElementSize &size, const TileElementSize &block_size, const comm::Size2D &grid_size, const comm::Index2D &rank_index, const comm::Index2D &source_rank_index, const GlobalTileIndex &tile_offset, const GlobalElementIndex &element_offset={0, 0})'],['../classdlaf_1_1matrix_1_1_distribution.html#a51c38487398212457417f784dd3d2594',1,'dlaf::matrix::Distribution::Distribution(const GlobalElementSize &size, const TileElementSize &block_size, const TileElementSize &tile_size, const comm::Size2D &grid_size, const comm::Index2D &rank_index, const comm::Index2D &source_rank_index, const GlobalElementIndex &element_offset={0, 0})'],['../classdlaf_1_1matrix_1_1_distribution.html#a012f931d7acdf168a42445bcbbce5dd3',1,'dlaf::matrix::Distribution::Distribution(const GlobalElementSize &size, const TileElementSize &block_size, const TileElementSize &tile_size, const comm::Size2D &grid_size, const comm::Index2D &rank_index, const comm::Index2D &source_rank_index, const GlobalTileIndex &tile_offset, const GlobalElementIndex &element_offset={0, 0})'],['../classdlaf_1_1matrix_1_1_distribution.html#ac72129a4040378f9343d7bc85a1dad4f',1,'dlaf::matrix::Distribution::Distribution(Distribution dist, const SubDistributionSpec &spec)']]], - ['distribution_930',['distribution',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a28967ff509064a6e04cfc8b2d35af402',1,'dlaf::matrix::internal::MatrixBase']]], - ['dlaf_5fcholesky_5ffactorization_5fc_931',['dlaf_cholesky_factorization_c',['../c_2factorization_2cholesky_8h.html#a1e35404b12ed25907525f4f58be6463f',1,'cholesky.h']]], - ['dlaf_5fcholesky_5ffactorization_5fd_932',['dlaf_cholesky_factorization_d',['../c_2factorization_2cholesky_8h.html#aa29a0d75b12faeadd68c5432143aad1a',1,'cholesky.h']]], - ['dlaf_5fcholesky_5ffactorization_5fs_933',['dlaf_cholesky_factorization_s',['../c_2factorization_2cholesky_8h.html#aff6f871b3bf83254b5bbcdfb990de56a',1,'cholesky.h']]], - ['dlaf_5fcholesky_5ffactorization_5fz_934',['dlaf_cholesky_factorization_z',['../c_2factorization_2cholesky_8h.html#ad4a80eda7784eb53e1ed0d99c5c7be88',1,'cholesky.h']]], - ['dlaf_5fcreate_5fgrid_935',['dlaf_create_grid',['../grid_8h.html#a4bc5344e5093885a8432f2b171951735',1,'grid.h']]], - ['dlaf_5fcreate_5fgrid_5ffrom_5fblacs_936',['dlaf_create_grid_from_blacs',['../grid_8h.html#a85b4aafd30f041281cc91cfdde47f15f',1,'grid.h']]], - ['dlaf_5ffinalize_937',['dlaf_finalize',['../dlaf__c_2init_8h.html#a3ca18dc430dc6c9f7108b25666ba30bb',1,'init.h']]], - ['dlaf_5ffree_5fgrid_938',['dlaf_free_grid',['../grid_8h.html#a6a066da549032ab775a18ffb7da5a5ab',1,'grid.h']]], - ['dlaf_5fhermitian_5feigensolver_5fc_939',['dlaf_hermitian_eigensolver_c',['../dlaf__c_2eigensolver_2eigensolver_8h.html#adc39d53fa323e08493b6bc16fcc094df',1,'eigensolver.h']]], - ['dlaf_5fhermitian_5feigensolver_5fz_940',['dlaf_hermitian_eigensolver_z',['../dlaf__c_2eigensolver_2eigensolver_8h.html#ac9af7ba12004a43e027ee91f84a75b9e',1,'eigensolver.h']]], - ['dlaf_5finitialize_941',['dlaf_initialize',['../dlaf__c_2init_8h.html#a1c1b981050a382065b3608502e4a6867',1,'init.h']]], - ['dlaf_5fmake_5fsender_5falgorithm_5foverloads_942',['DLAF_MAKE_SENDER_ALGORITHM_OVERLOADS',['../copy__tile_8h.html#a57758eefb97e5d9fef7405d84c90d867',1,'dlaf::matrix']]], - ['dlaf_5fpcheevd_943',['dlaf_pcheevd',['../dlaf__c_2eigensolver_2eigensolver_8h.html#a3f13ec0939cae16ca684c7f41b3a797b',1,'eigensolver.h']]], - ['dlaf_5fpcpotrf_944',['dlaf_pcpotrf',['../c_2factorization_2cholesky_8h.html#a6a54cae8d8f0161407d1ff43788b4a64',1,'cholesky.h']]], - ['dlaf_5fpdpotrf_945',['dlaf_pdpotrf',['../c_2factorization_2cholesky_8h.html#ac6642dca4df10264e53055bcc5a7f7ae',1,'cholesky.h']]], - ['dlaf_5fpdsyevd_946',['dlaf_pdsyevd',['../dlaf__c_2eigensolver_2eigensolver_8h.html#a46bdc3114c633b8b7dda518ac97ae9c1',1,'eigensolver.h']]], - ['dlaf_5fpspotrf_947',['dlaf_pspotrf',['../c_2factorization_2cholesky_8h.html#ab0ab539ef0d009123a3680edf07bf156',1,'cholesky.h']]], - ['dlaf_5fpssyevd_948',['dlaf_pssyevd',['../dlaf__c_2eigensolver_2eigensolver_8h.html#afb6ba74dd462f605c5253d4ef5e7feb6',1,'eigensolver.h']]], - ['dlaf_5fpzheevd_949',['dlaf_pzheevd',['../dlaf__c_2eigensolver_2eigensolver_8h.html#a304f81b6b8fea3c8abe1f7efc2113fc9',1,'eigensolver.h']]], - ['dlaf_5fpzpotrf_950',['dlaf_pzpotrf',['../c_2factorization_2cholesky_8h.html#a5fc091e6accefc0838d33a931f8f7d96',1,'cholesky.h']]], - ['dlaf_5fsymmetric_5feigensolver_5fd_951',['dlaf_symmetric_eigensolver_d',['../dlaf__c_2eigensolver_2eigensolver_8h.html#a8143d25b8d4b01fbf7a09856696ba2cb',1,'eigensolver.h']]], - ['dlaf_5fsymmetric_5feigensolver_5fs_952',['dlaf_symmetric_eigensolver_s',['../dlaf__c_2eigensolver_2eigensolver_8h.html#aa5ee7731ae5d742b4338a1adacee9acf',1,'eigensolver.h']]], - ['done_953',['done',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#aaac68e6ec599e12aac6e7e4bd32570a8',1,'dlaf::matrix::Matrix< const T, D >::done(const LocalTileIndex &index) noexcept'],['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#ade093c346a4df7e85c94b71fd86eaec2',1,'dlaf::matrix::Matrix< const T, D >::done(const GlobalTileIndex &index) noexcept']]] + ['data_921',['data',['../classdlaf_1_1comm_1_1_message.html#a3684d7d2edac45401785fa9e8561eb73',1,'dlaf::comm::Message::data()'],['../structdlaf_1_1common_1_1_data_descriptor.html#a6f93fef2051c96e6b0100bcb50c280e2',1,'dlaf::common::DataDescriptor::data()']]], + ['data_5fblocksize_922',['data_blocksize',['../data_8h.html#aee766fd59c4a4d3c428082b37b54ea81',1,'dlaf::common']]], + ['data_5fcount_923',['data_count',['../data_8h.html#a4b0d72a2fdf94917b5641c25c86bcf18',1,'dlaf::common']]], + ['data_5fiscontiguous_924',['data_iscontiguous',['../data_8h.html#aee9f8825e02ce8fb557f93bd4d4facef',1,'dlaf::common']]], + ['data_5fnblocks_925',['data_nblocks',['../data_8h.html#a2f5f60205cc53a1a1bce17012cc36368',1,'dlaf::common']]], + ['data_5fpointer_926',['data_pointer',['../data_8h.html#ab4238a013332af8dc361a581d4250205',1,'dlaf::common']]], + ['data_5fstride_927',['data_stride',['../data_8h.html#a18f232284c687293001d172fd19ed3fe',1,'dlaf::common']]], + ['datadescriptor_928',['DataDescriptor',['../structdlaf_1_1common_1_1_data_descriptor_3_01_t_0f_n_0e_4.html#acef674017777de4a735258a476e95e47',1,'dlaf::common::DataDescriptor< T[N]>::DataDescriptor()'],['../structdlaf_1_1common_1_1_data_descriptor.html#acb58ba4559ea0a6022a45bb781dccc6c',1,'dlaf::common::DataDescriptor::DataDescriptor(const Data &data)'],['../structdlaf_1_1common_1_1_data_descriptor.html#acd73354fd77df45c9b70ab034fc1cd61',1,'dlaf::common::DataDescriptor::DataDescriptor(T *ptr, SizeType num_blocks, SizeType blocksize, SizeType stride) noexcept'],['../structdlaf_1_1common_1_1_data_descriptor.html#a8c969a23a32e1cf2ae19a7811ae394e4',1,'dlaf::common::DataDescriptor::DataDescriptor(T *ptr, SizeType n) noexcept'],['../structdlaf_1_1common_1_1_data_descriptor.html#a87ca3689fd590f74e636317987af17bd',1,'dlaf::common::DataDescriptor::DataDescriptor()']]], + ['distancetoadjacenttile_929',['distanceToAdjacentTile',['../classdlaf_1_1matrix_1_1_distribution.html#aa0b67d70b8b3e6f74c53d1062546b8ed',1,'dlaf::matrix::Distribution']]], + ['distribution_930',['Distribution',['../classdlaf_1_1matrix_1_1_distribution.html#aacf1f8d3d02d9c70bf0bffe0725b5d92',1,'dlaf::matrix::Distribution::Distribution() noexcept'],['../classdlaf_1_1matrix_1_1_distribution.html#a146465cb553b8a9d9f32bf63ff7e7375',1,'dlaf::matrix::Distribution::Distribution(const LocalElementSize &size, const TileElementSize &block_size, const GlobalElementIndex &element_offset={0, 0})'],['../classdlaf_1_1matrix_1_1_distribution.html#a97b363d57f32add582ce1774a6b9a147',1,'dlaf::matrix::Distribution::Distribution(const GlobalElementSize &size, const TileElementSize &block_size, const comm::Size2D &grid_size, const comm::Index2D &rank_index, const comm::Index2D &source_rank_index, const GlobalElementIndex &element_offset={0, 0})'],['../classdlaf_1_1matrix_1_1_distribution.html#a47b322556c713fd38223538f50f58e14',1,'dlaf::matrix::Distribution::Distribution(const GlobalElementSize &size, const TileElementSize &block_size, const comm::Size2D &grid_size, const comm::Index2D &rank_index, const comm::Index2D &source_rank_index, const GlobalTileIndex &tile_offset, const GlobalElementIndex &element_offset={0, 0})'],['../classdlaf_1_1matrix_1_1_distribution.html#a51c38487398212457417f784dd3d2594',1,'dlaf::matrix::Distribution::Distribution(const GlobalElementSize &size, const TileElementSize &block_size, const TileElementSize &tile_size, const comm::Size2D &grid_size, const comm::Index2D &rank_index, const comm::Index2D &source_rank_index, const GlobalElementIndex &element_offset={0, 0})'],['../classdlaf_1_1matrix_1_1_distribution.html#a012f931d7acdf168a42445bcbbce5dd3',1,'dlaf::matrix::Distribution::Distribution(const GlobalElementSize &size, const TileElementSize &block_size, const TileElementSize &tile_size, const comm::Size2D &grid_size, const comm::Index2D &rank_index, const comm::Index2D &source_rank_index, const GlobalTileIndex &tile_offset, const GlobalElementIndex &element_offset={0, 0})'],['../classdlaf_1_1matrix_1_1_distribution.html#ac72129a4040378f9343d7bc85a1dad4f',1,'dlaf::matrix::Distribution::Distribution(Distribution dist, const SubDistributionSpec &spec)']]], + ['distribution_931',['distribution',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a28967ff509064a6e04cfc8b2d35af402',1,'dlaf::matrix::internal::MatrixBase']]], + ['dlaf_5fcholesky_5ffactorization_5fc_932',['dlaf_cholesky_factorization_c',['../c_2factorization_2cholesky_8h.html#a1e35404b12ed25907525f4f58be6463f',1,'cholesky.h']]], + ['dlaf_5fcholesky_5ffactorization_5fd_933',['dlaf_cholesky_factorization_d',['../c_2factorization_2cholesky_8h.html#aa29a0d75b12faeadd68c5432143aad1a',1,'cholesky.h']]], + ['dlaf_5fcholesky_5ffactorization_5fs_934',['dlaf_cholesky_factorization_s',['../c_2factorization_2cholesky_8h.html#aff6f871b3bf83254b5bbcdfb990de56a',1,'cholesky.h']]], + ['dlaf_5fcholesky_5ffactorization_5fz_935',['dlaf_cholesky_factorization_z',['../c_2factorization_2cholesky_8h.html#ad4a80eda7784eb53e1ed0d99c5c7be88',1,'cholesky.h']]], + ['dlaf_5fcreate_5fgrid_936',['dlaf_create_grid',['../grid_8h.html#a4bc5344e5093885a8432f2b171951735',1,'grid.h']]], + ['dlaf_5fcreate_5fgrid_5ffrom_5fblacs_937',['dlaf_create_grid_from_blacs',['../grid_8h.html#a85b4aafd30f041281cc91cfdde47f15f',1,'grid.h']]], + ['dlaf_5ffinalize_938',['dlaf_finalize',['../dlaf__c_2init_8h.html#a3ca18dc430dc6c9f7108b25666ba30bb',1,'init.h']]], + ['dlaf_5ffree_5fgrid_939',['dlaf_free_grid',['../grid_8h.html#a6a066da549032ab775a18ffb7da5a5ab',1,'grid.h']]], + ['dlaf_5fhermitian_5feigensolver_5fc_940',['dlaf_hermitian_eigensolver_c',['../dlaf__c_2eigensolver_2eigensolver_8h.html#adc39d53fa323e08493b6bc16fcc094df',1,'eigensolver.h']]], + ['dlaf_5fhermitian_5feigensolver_5fz_941',['dlaf_hermitian_eigensolver_z',['../dlaf__c_2eigensolver_2eigensolver_8h.html#ac9af7ba12004a43e027ee91f84a75b9e',1,'eigensolver.h']]], + ['dlaf_5finitialize_942',['dlaf_initialize',['../dlaf__c_2init_8h.html#a1c1b981050a382065b3608502e4a6867',1,'init.h']]], + ['dlaf_5fmake_5fsender_5falgorithm_5foverloads_943',['DLAF_MAKE_SENDER_ALGORITHM_OVERLOADS',['../copy__tile_8h.html#a57758eefb97e5d9fef7405d84c90d867',1,'dlaf::matrix']]], + ['dlaf_5fpcheevd_944',['dlaf_pcheevd',['../dlaf__c_2eigensolver_2eigensolver_8h.html#a3f13ec0939cae16ca684c7f41b3a797b',1,'eigensolver.h']]], + ['dlaf_5fpcpotrf_945',['dlaf_pcpotrf',['../c_2factorization_2cholesky_8h.html#a6a54cae8d8f0161407d1ff43788b4a64',1,'cholesky.h']]], + ['dlaf_5fpdpotrf_946',['dlaf_pdpotrf',['../c_2factorization_2cholesky_8h.html#ac6642dca4df10264e53055bcc5a7f7ae',1,'cholesky.h']]], + ['dlaf_5fpdsyevd_947',['dlaf_pdsyevd',['../dlaf__c_2eigensolver_2eigensolver_8h.html#a46bdc3114c633b8b7dda518ac97ae9c1',1,'eigensolver.h']]], + ['dlaf_5fpspotrf_948',['dlaf_pspotrf',['../c_2factorization_2cholesky_8h.html#ab0ab539ef0d009123a3680edf07bf156',1,'cholesky.h']]], + ['dlaf_5fpssyevd_949',['dlaf_pssyevd',['../dlaf__c_2eigensolver_2eigensolver_8h.html#afb6ba74dd462f605c5253d4ef5e7feb6',1,'eigensolver.h']]], + ['dlaf_5fpzheevd_950',['dlaf_pzheevd',['../dlaf__c_2eigensolver_2eigensolver_8h.html#a304f81b6b8fea3c8abe1f7efc2113fc9',1,'eigensolver.h']]], + ['dlaf_5fpzpotrf_951',['dlaf_pzpotrf',['../c_2factorization_2cholesky_8h.html#a5fc091e6accefc0838d33a931f8f7d96',1,'cholesky.h']]], + ['dlaf_5fsymmetric_5feigensolver_5fd_952',['dlaf_symmetric_eigensolver_d',['../dlaf__c_2eigensolver_2eigensolver_8h.html#a8143d25b8d4b01fbf7a09856696ba2cb',1,'eigensolver.h']]], + ['dlaf_5fsymmetric_5feigensolver_5fs_953',['dlaf_symmetric_eigensolver_s',['../dlaf__c_2eigensolver_2eigensolver_8h.html#aa5ee7731ae5d742b4338a1adacee9acf',1,'eigensolver.h']]], + ['done_954',['done',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#aaac68e6ec599e12aac6e7e4bd32570a8',1,'dlaf::matrix::Matrix< const T, D >::done(const LocalTileIndex &index) noexcept'],['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#ade093c346a4df7e85c94b71fd86eaec2',1,'dlaf::matrix::Matrix< const T, D >::done(const GlobalTileIndex &index) noexcept']]] ]; diff --git a/master/search/functions_4.js b/master/search/functions_4.js index 0d4dd6b5d4..c3e460f1c4 100644 --- a/master/search/functions_4.js +++ b/master/search/functions_4.js @@ -1,8 +1,8 @@ var searchData= [ - ['elementfromtileandtileelement_954',['elementFromTileAndTileElement',['../util__distribution_8h.html#a9eab8f0da313765c25ddd2eec12665e0',1,'dlaf::util::matrix']]], - ['equal_5fblocksize_955',['equal_blocksize',['../util__matrix_8h.html#a0bb54ace6dfcb245ec387c1af75e63fe',1,'dlaf::matrix']]], - ['equal_5fdistributions_956',['equal_distributions',['../util__matrix_8h.html#a8af8a409c1af4f1c7cdbed9b4f6b24a2',1,'dlaf::matrix']]], - ['equal_5fprocess_5fgrid_957',['equal_process_grid',['../util__matrix_8h.html#a7a41b22af7fe104052668cc02d5a624c',1,'dlaf::matrix']]], - ['equal_5fsize_958',['equal_size',['../util__matrix_8h.html#ada06af4450b10ed70a5830c0d8db0302',1,'dlaf::matrix']]] + ['elementfromtileandtileelement_955',['elementFromTileAndTileElement',['../util__distribution_8h.html#a9eab8f0da313765c25ddd2eec12665e0',1,'dlaf::util::matrix']]], + ['equal_5fblocksize_956',['equal_blocksize',['../util__matrix_8h.html#a0bb54ace6dfcb245ec387c1af75e63fe',1,'dlaf::matrix']]], + ['equal_5fdistributions_957',['equal_distributions',['../util__matrix_8h.html#a8af8a409c1af4f1c7cdbed9b4f6b24a2',1,'dlaf::matrix']]], + ['equal_5fprocess_5fgrid_958',['equal_process_grid',['../util__matrix_8h.html#a7a41b22af7fe104052668cc02d5a624c',1,'dlaf::matrix']]], + ['equal_5fsize_959',['equal_size',['../util__matrix_8h.html#ada06af4450b10ed70a5830c0d8db0302',1,'dlaf::matrix']]] ]; diff --git a/master/search/functions_5.js b/master/search/functions_5.js index 87beb40085..a3aca407e7 100644 --- a/master/search/functions_5.js +++ b/master/search/functions_5.js @@ -1,6 +1,6 @@ var searchData= [ - ['finalize_959',['finalize',['../dlaf_2init_8h.html#abf5448f6d8cff5d741a7680123a7082c',1,'dlaf']]], - ['fullcommunicator_960',['fullCommunicator',['../classdlaf_1_1comm_1_1_communicator_grid.html#a1cb5842312d3e88e298819ea192d286d',1,'dlaf::comm::CommunicatorGrid']]], - ['fullindex_961',['fullIndex',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a709e5ba882750052d23a5a8eb1eff21a',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]] + ['finalize_960',['finalize',['../dlaf_2init_8h.html#abf5448f6d8cff5d741a7680123a7082c',1,'dlaf']]], + ['fullcommunicator_961',['fullCommunicator',['../classdlaf_1_1comm_1_1_communicator_grid.html#a1cb5842312d3e88e298819ea192d286d',1,'dlaf::comm::CommunicatorGrid']]], + ['fullindex_962',['fullIndex',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a709e5ba882750052d23a5a8eb1eff21a',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]] ]; diff --git a/master/search/functions_6.js b/master/search/functions_6.js index afd6fa0006..c44dbb245d 100644 --- a/master/search/functions_6.js +++ b/master/search/functions_6.js @@ -1,22 +1,22 @@ var searchData= [ - ['gemm_962',['gemm',['../blas_2tile_8h.html#a8e495a0a86ddf2f997ca8a7c33d106a2',1,'dlaf::tile::gemm(const dlaf::internal::Policy< B > &p)'],['../blas_2tile_8h.html#afed112b0e26de470da2469d43866918d',1,'dlaf::tile::gemm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a1de961c6e1c01ee6a5f0039ecf51b162',1,'dlaf::tile::gemm(const blas::Op op_a, const blas::Op op_b, const T alpha, const Tile< const T, D > &a, const Tile< const T, D > &b, const T beta, const Tile< T, D > &c)']]], - ['generalized_5fto_5fstandard_963',['generalized_to_standard',['../gen__to__std_8h.html#a9729c59fec6c17d9242dcbcee85a1079',1,'dlaf::eigensolver::internal::generalized_to_standard(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, device > &mat_a, Matrix< T, device > &mat_b)'],['../gen__to__std_8h.html#a163cfb5342dd23266e4d824850825af6',1,'dlaf::eigensolver::internal::generalized_to_standard(blas::Uplo uplo, Matrix< T, device > &mat_a, Matrix< T, device > &mat_b)']]], - ['generalsubmatrix_964',['generalSubMatrix',['../multiplication_2general_8h.html#a177b6617b7f042d3e9d316a6233261bb',1,'dlaf::multiplication::internal::generalSubMatrix(const SizeType a, const SizeType b, const blas::Op opA, const blas::Op opB, const T alpha, Matrix< const T, D > &mat_a, Matrix< const T, D > &mat_b, const T beta, Matrix< T, D > &mat_c)'],['../multiplication_2general_8h.html#af41fafb5c5852615a5c47b0f4986b56b',1,'dlaf::multiplication::internal::generalSubMatrix([[maybe_unused]] comm::CommunicatorGrid grid, common::Pipeline< comm::Communicator > &row_task_chain, common::Pipeline< comm::Communicator > &col_task_chain, const SizeType a, const SizeType b, const T alpha, Matrix< const T, D > &mat_a, Matrix< const T, D > &mat_b, const T beta, Matrix< T, D > &mat_c)']]], - ['generic_5finteger_5fop_965',['generic_integer_op',['../util__math_8h.html#a4a1c1045d16c92d7fef9c553ae8e6c90',1,'dlaf::util::internal']]], - ['get_966',['get',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_source_target_00_01_source_target_01_4.html#a8b053672d5ecf63c2af3a3c23677278b',1,'dlaf::matrix::MatrixMirror< const T, SourceTarget, SourceTarget >::get()'],['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a23701a66458fad55204f90b84674a8e2',1,'dlaf::common::internal::basic_coords::get()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html#ad2cba1bf3133441bc31d960d2681cf11',1,'dlaf::matrix::MatrixMirror< T, SourceTarget, SourceTarget >::get()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html#aa0d470acb7c2f97a7192c06fceef7b32',1,'dlaf::matrix::MatrixMirror< const T, Target, Source >::get()'],['../classdlaf_1_1matrix_1_1_matrix_mirror.html#ad5eaeb945174c2c237a672dd4191582a',1,'dlaf::matrix::MatrixMirror::get()']]], - ['getheight_967',['getHeight',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#ad59bcb70b44cf2a4a61119d8ce4eb5db',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['getoptionsdescription_968',['getOptionsDescription',['../dlaf_2init_8h.html#a6f4711b407727e4b9317d252b451bd89',1,'dlaf']]], - ['getsource_969',['getSource',['../classdlaf_1_1matrix_1_1_matrix_mirror.html#a2fb277eb0664e0e6ed0e8a011416c7c7',1,'dlaf::matrix::MatrixMirror::getSource()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_source_target_00_01_source_target_01_4.html#af6ab705620e03736d36433f0846470fc',1,'dlaf::matrix::MatrixMirror< const T, SourceTarget, SourceTarget >::getSource()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html#a424e6b85bb0167015efbb7522a31d7fa',1,'dlaf::matrix::MatrixMirror< const T, Target, Source >::getSource()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html#a348f9f6d9af5df67ef6179e4f600850e',1,'dlaf::matrix::MatrixMirror< T, SourceTarget, SourceTarget >::getSource()']]], - ['getwidth_970',['getWidth',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#aa34a2e93ba64d958df32428f3928ccba',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['globalelementfromglobaltileandtileelement_971',['globalElementFromGlobalTileAndTileElement',['../classdlaf_1_1matrix_1_1_distribution.html#aed7a91383a0146b02008c6d6bfed2850',1,'dlaf::matrix::Distribution']]], - ['globalelementfromlocaltileandtileelement_972',['globalElementFromLocalTileAndTileElement',['../classdlaf_1_1matrix_1_1_distribution.html#a36c1a5962e433c773a924d8b5bdda594',1,'dlaf::matrix::Distribution']]], - ['globalelementindex_973',['globalElementIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a20234ff229ec8872625293b28c7d47f5',1,'dlaf::matrix::Distribution']]], - ['globaltileelementdistance_974',['globalTileElementDistance',['../classdlaf_1_1matrix_1_1_distribution.html#a9f57d9074212c024d39f0e971bc9e5db',1,'dlaf::matrix::Distribution']]], - ['globaltilefromglobalelement_975',['globalTileFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#ae63d662d123b38f1150b553b2cdb259d',1,'dlaf::matrix::Distribution']]], - ['globaltilefromlocaltile_976',['globalTileFromLocalTile',['../util__distribution_8h.html#a3fa80781a6b118e00015b9751e2f6ead',1,'dlaf::util::matrix::globalTileFromLocalTile()'],['../classdlaf_1_1matrix_1_1_distribution.html#add4b487f6603fb6099dce376ee2e8c3c',1,'dlaf::matrix::Distribution::globalTileFromLocalTile(SizeType local_tile) const noexcept']]], - ['globaltileindex_977',['globalTileIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a7a0027799c7c187d8f7135a1242ca3f5',1,'dlaf::matrix::Distribution::globalTileIndex(const LocalTileIndex &local_tile) const noexcept'],['../classdlaf_1_1matrix_1_1_distribution.html#ae49ef916d77bf8de7e8e4710a1034299',1,'dlaf::matrix::Distribution::globalTileIndex(const GlobalElementIndex &global_element) const noexcept']]], - ['globaltileindexfromsubdistribution_978',['globalTileIndexFromSubDistribution',['../classdlaf_1_1matrix_1_1_distribution.html#a57c5eb606080d00e05f11a22d3566b2d',1,'dlaf::matrix::Distribution']]], - ['globaltilelinearindex_979',['globalTileLinearIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a0b174a696d5fe710ecb2bc081081c137',1,'dlaf::matrix::Distribution']]], - ['grid_5fordering_980',['grid_ordering',['../grid_8h.html#a07cc954483cec9ce0eba51887b999ddc',1,'grid.h']]] + ['gemm_963',['gemm',['../blas_2tile_8h.html#a8e495a0a86ddf2f997ca8a7c33d106a2',1,'dlaf::tile::gemm(const dlaf::internal::Policy< B > &p)'],['../blas_2tile_8h.html#afed112b0e26de470da2469d43866918d',1,'dlaf::tile::gemm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a1de961c6e1c01ee6a5f0039ecf51b162',1,'dlaf::tile::gemm(const blas::Op op_a, const blas::Op op_b, const T alpha, const Tile< const T, D > &a, const Tile< const T, D > &b, const T beta, const Tile< T, D > &c)']]], + ['generalized_5fto_5fstandard_964',['generalized_to_standard',['../gen__to__std_8h.html#a9729c59fec6c17d9242dcbcee85a1079',1,'dlaf::eigensolver::internal::generalized_to_standard(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, device > &mat_a, Matrix< T, device > &mat_b)'],['../gen__to__std_8h.html#a163cfb5342dd23266e4d824850825af6',1,'dlaf::eigensolver::internal::generalized_to_standard(blas::Uplo uplo, Matrix< T, device > &mat_a, Matrix< T, device > &mat_b)']]], + ['generalsubmatrix_965',['generalSubMatrix',['../multiplication_2general_8h.html#a177b6617b7f042d3e9d316a6233261bb',1,'dlaf::multiplication::internal::generalSubMatrix(const SizeType a, const SizeType b, const blas::Op opA, const blas::Op opB, const T alpha, Matrix< const T, D > &mat_a, Matrix< const T, D > &mat_b, const T beta, Matrix< T, D > &mat_c)'],['../multiplication_2general_8h.html#af41fafb5c5852615a5c47b0f4986b56b',1,'dlaf::multiplication::internal::generalSubMatrix([[maybe_unused]] comm::CommunicatorGrid grid, common::Pipeline< comm::Communicator > &row_task_chain, common::Pipeline< comm::Communicator > &col_task_chain, const SizeType a, const SizeType b, const T alpha, Matrix< const T, D > &mat_a, Matrix< const T, D > &mat_b, const T beta, Matrix< T, D > &mat_c)']]], + ['generic_5finteger_5fop_966',['generic_integer_op',['../util__math_8h.html#a4a1c1045d16c92d7fef9c553ae8e6c90',1,'dlaf::util::internal']]], + ['get_967',['get',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_source_target_00_01_source_target_01_4.html#a8b053672d5ecf63c2af3a3c23677278b',1,'dlaf::matrix::MatrixMirror< const T, SourceTarget, SourceTarget >::get()'],['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a23701a66458fad55204f90b84674a8e2',1,'dlaf::common::internal::basic_coords::get()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html#ad2cba1bf3133441bc31d960d2681cf11',1,'dlaf::matrix::MatrixMirror< T, SourceTarget, SourceTarget >::get()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html#aa0d470acb7c2f97a7192c06fceef7b32',1,'dlaf::matrix::MatrixMirror< const T, Target, Source >::get()'],['../classdlaf_1_1matrix_1_1_matrix_mirror.html#ad5eaeb945174c2c237a672dd4191582a',1,'dlaf::matrix::MatrixMirror::get()']]], + ['getheight_968',['getHeight',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#ad59bcb70b44cf2a4a61119d8ce4eb5db',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['getoptionsdescription_969',['getOptionsDescription',['../dlaf_2init_8h.html#a6f4711b407727e4b9317d252b451bd89',1,'dlaf']]], + ['getsource_970',['getSource',['../classdlaf_1_1matrix_1_1_matrix_mirror.html#a2fb277eb0664e0e6ed0e8a011416c7c7',1,'dlaf::matrix::MatrixMirror::getSource()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_source_target_00_01_source_target_01_4.html#af6ab705620e03736d36433f0846470fc',1,'dlaf::matrix::MatrixMirror< const T, SourceTarget, SourceTarget >::getSource()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html#a424e6b85bb0167015efbb7522a31d7fa',1,'dlaf::matrix::MatrixMirror< const T, Target, Source >::getSource()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html#a348f9f6d9af5df67ef6179e4f600850e',1,'dlaf::matrix::MatrixMirror< T, SourceTarget, SourceTarget >::getSource()']]], + ['getwidth_971',['getWidth',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#aa34a2e93ba64d958df32428f3928ccba',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['globalelementfromglobaltileandtileelement_972',['globalElementFromGlobalTileAndTileElement',['../classdlaf_1_1matrix_1_1_distribution.html#aed7a91383a0146b02008c6d6bfed2850',1,'dlaf::matrix::Distribution']]], + ['globalelementfromlocaltileandtileelement_973',['globalElementFromLocalTileAndTileElement',['../classdlaf_1_1matrix_1_1_distribution.html#a36c1a5962e433c773a924d8b5bdda594',1,'dlaf::matrix::Distribution']]], + ['globalelementindex_974',['globalElementIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a20234ff229ec8872625293b28c7d47f5',1,'dlaf::matrix::Distribution']]], + ['globaltileelementdistance_975',['globalTileElementDistance',['../classdlaf_1_1matrix_1_1_distribution.html#a9f57d9074212c024d39f0e971bc9e5db',1,'dlaf::matrix::Distribution']]], + ['globaltilefromglobalelement_976',['globalTileFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#ae63d662d123b38f1150b553b2cdb259d',1,'dlaf::matrix::Distribution']]], + ['globaltilefromlocaltile_977',['globalTileFromLocalTile',['../util__distribution_8h.html#a3fa80781a6b118e00015b9751e2f6ead',1,'dlaf::util::matrix::globalTileFromLocalTile()'],['../classdlaf_1_1matrix_1_1_distribution.html#add4b487f6603fb6099dce376ee2e8c3c',1,'dlaf::matrix::Distribution::globalTileFromLocalTile(SizeType local_tile) const noexcept']]], + ['globaltileindex_978',['globalTileIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a7a0027799c7c187d8f7135a1242ca3f5',1,'dlaf::matrix::Distribution::globalTileIndex(const LocalTileIndex &local_tile) const noexcept'],['../classdlaf_1_1matrix_1_1_distribution.html#ae49ef916d77bf8de7e8e4710a1034299',1,'dlaf::matrix::Distribution::globalTileIndex(const GlobalElementIndex &global_element) const noexcept']]], + ['globaltileindexfromsubdistribution_979',['globalTileIndexFromSubDistribution',['../classdlaf_1_1matrix_1_1_distribution.html#a57c5eb606080d00e05f11a22d3566b2d',1,'dlaf::matrix::Distribution']]], + ['globaltilelinearindex_980',['globalTileLinearIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a0b174a696d5fe710ecb2bc081081c137',1,'dlaf::matrix::Distribution']]], + ['grid_5fordering_981',['grid_ordering',['../grid_8h.html#a07cc954483cec9ce0eba51887b999ddc',1,'grid.h']]] ]; diff --git a/master/search/functions_7.js b/master/search/functions_7.js index cf2bcd2521..492d80ab10 100644 --- a/master/search/functions_7.js +++ b/master/search/functions_7.js @@ -1,10 +1,10 @@ var searchData= [ - ['hegst_981',['hegst',['../lapack_2tile_8h.html#aaf274e91e36453e7994dd1f2a2813681',1,'dlaf::tile']]], - ['hemm_982',['hemm',['../blas_2tile_8h.html#aeec422be0ef5abea8ab6f1a8ae40c8ef',1,'dlaf::tile::hemm(const blas::Side side, const blas::Uplo uplo, const T alpha, const Tile< const T, D > &a, const Tile< const T, D > &b, const T beta, const Tile< T, D > &c)'],['../blas_2tile_8h.html#ab7031513f6c7338a1f3cea71784d0e9a',1,'dlaf::tile::hemm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a8887bb899e49f4ea3acce81474f5965d',1,'dlaf::tile::hemm(const dlaf::internal::Policy< B > &p)']]], - ['her2k_983',['her2k',['../blas_2tile_8h.html#a36642d0aeb16e71f10fd289985f4a03f',1,'dlaf::tile::her2k(const blas::Uplo uplo, const blas::Op op, const T alpha, const Tile< const T, D > &a, const Tile< const T, D > &b, const BaseType< T > beta, const Tile< T, D > &c)'],['../blas_2tile_8h.html#aafcb69907e7154cb12e0e3121534310a',1,'dlaf::tile::her2k(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a45e96a215d6f3a7f64ccf05d108087e7',1,'dlaf::tile::her2k(const dlaf::internal::Policy< B > &p)']]], - ['herk_984',['herk',['../blas_2tile_8h.html#a72ab20a0ba5ba199c1ec18f8a31ee2eb',1,'dlaf::tile::herk(const blas::Uplo uplo, const blas::Op op, const BaseType< T > alpha, const Tile< const T, D > &a, const BaseType< T > beta, const Tile< T, D > &c)'],['../blas_2tile_8h.html#a8a4f39f0b26f02bc094e531add909e6e',1,'dlaf::tile::herk(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#aa8fd52359e36023fb6418834d4b27fcd',1,'dlaf::tile::herk(const dlaf::internal::Policy< B > &p)']]], - ['hermitian_5feigensolver_985',['hermitian_eigensolver',['../dlaf_2eigensolver_2eigensolver_8h.html#a490040bc7cc4e69ef5f9267341e5fca9',1,'dlaf::hermitian_eigensolver(blas::Uplo uplo, Matrix< T, D > &mat, Matrix< BaseType< T >, D > &eigenvalues, Matrix< T, D > &eigenvectors)'],['../dlaf_2eigensolver_2eigensolver_8h.html#a94d726a6cfade3aa79a171aa1a0fe458',1,'dlaf::hermitian_eigensolver(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, D > &mat)'],['../dlaf_2eigensolver_2eigensolver_8h.html#a55f46916df81905b65037034a586da4d',1,'dlaf::hermitian_eigensolver(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, D > &mat, Matrix< BaseType< T >, D > &eigenvalues, Matrix< T, D > &eigenvectors)'],['../dlaf_2eigensolver_2eigensolver_8h.html#aa9f2f4d0cec789e49116b1260cf29a25',1,'dlaf::hermitian_eigensolver(blas::Uplo uplo, Matrix< T, D > &mat)']]], - ['hermitian_5fgeneralized_5feigensolver_986',['hermitian_generalized_eigensolver',['../gen__eigensolver_8h.html#a1cf1ebdb188b31eccb063f82fcb579ae',1,'dlaf::hermitian_generalized_eigensolver(blas::Uplo uplo, Matrix< T, D > &mat_a, Matrix< T, D > &mat_b, Matrix< BaseType< T >, D > &eigenvalues, Matrix< T, D > &eigenvectors)'],['../gen__eigensolver_8h.html#a1f5487240ae96219923911698f2afdd6',1,'dlaf::hermitian_generalized_eigensolver(blas::Uplo uplo, Matrix< T, D > &mat_a, Matrix< T, D > &mat_b)'],['../gen__eigensolver_8h.html#ae296c5af89b97bd69bced4f42a9a9ec3',1,'dlaf::hermitian_generalized_eigensolver(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, D > &mat_a, Matrix< T, D > &mat_b, Matrix< BaseType< T >, D > &eigenvalues, Matrix< T, D > &eigenvectors)'],['../gen__eigensolver_8h.html#a49dc23319fd1539323a3c39b2d1a80e4',1,'dlaf::hermitian_generalized_eigensolver(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, D > &mat_a, Matrix< T, D > &mat_b)']]], - ['hermitian_5fmultiplication_987',['hermitian_multiplication',['../hermitian_8h.html#ab6234e4eda7adaa1469c1c09fd59cc33',1,'dlaf::hermitian_multiplication(blas::Side side, blas::Uplo uplo, const T alpha, Matrix< const T, D > &mat_a, Matrix< const T, D > &mat_b, const T beta, Matrix< T, D > &mat_c)'],['../hermitian_8h.html#ad652788e7c1989506e984896766fa2cb',1,'dlaf::hermitian_multiplication(comm::CommunicatorGrid grid, blas::Side side, blas::Uplo uplo, const T alpha, Matrix< const T, D > &mat_a, Matrix< const T, D > &mat_b, const T beta, Matrix< T, D > &mat_c)']]] + ['hegst_982',['hegst',['../lapack_2tile_8h.html#aaf274e91e36453e7994dd1f2a2813681',1,'dlaf::tile']]], + ['hemm_983',['hemm',['../blas_2tile_8h.html#aeec422be0ef5abea8ab6f1a8ae40c8ef',1,'dlaf::tile::hemm(const blas::Side side, const blas::Uplo uplo, const T alpha, const Tile< const T, D > &a, const Tile< const T, D > &b, const T beta, const Tile< T, D > &c)'],['../blas_2tile_8h.html#ab7031513f6c7338a1f3cea71784d0e9a',1,'dlaf::tile::hemm(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a8887bb899e49f4ea3acce81474f5965d',1,'dlaf::tile::hemm(const dlaf::internal::Policy< B > &p)']]], + ['her2k_984',['her2k',['../blas_2tile_8h.html#a36642d0aeb16e71f10fd289985f4a03f',1,'dlaf::tile::her2k(const blas::Uplo uplo, const blas::Op op, const T alpha, const Tile< const T, D > &a, const Tile< const T, D > &b, const BaseType< T > beta, const Tile< T, D > &c)'],['../blas_2tile_8h.html#aafcb69907e7154cb12e0e3121534310a',1,'dlaf::tile::her2k(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#a45e96a215d6f3a7f64ccf05d108087e7',1,'dlaf::tile::her2k(const dlaf::internal::Policy< B > &p)']]], + ['herk_985',['herk',['../blas_2tile_8h.html#a72ab20a0ba5ba199c1ec18f8a31ee2eb',1,'dlaf::tile::herk(const blas::Uplo uplo, const blas::Op op, const BaseType< T > alpha, const Tile< const T, D > &a, const BaseType< T > beta, const Tile< T, D > &c)'],['../blas_2tile_8h.html#a8a4f39f0b26f02bc094e531add909e6e',1,'dlaf::tile::herk(const dlaf::internal::Policy< B > &p, Sender &&s)'],['../blas_2tile_8h.html#aa8fd52359e36023fb6418834d4b27fcd',1,'dlaf::tile::herk(const dlaf::internal::Policy< B > &p)']]], + ['hermitian_5feigensolver_986',['hermitian_eigensolver',['../dlaf_2eigensolver_2eigensolver_8h.html#a490040bc7cc4e69ef5f9267341e5fca9',1,'dlaf::hermitian_eigensolver(blas::Uplo uplo, Matrix< T, D > &mat, Matrix< BaseType< T >, D > &eigenvalues, Matrix< T, D > &eigenvectors)'],['../dlaf_2eigensolver_2eigensolver_8h.html#a94d726a6cfade3aa79a171aa1a0fe458',1,'dlaf::hermitian_eigensolver(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, D > &mat)'],['../dlaf_2eigensolver_2eigensolver_8h.html#a55f46916df81905b65037034a586da4d',1,'dlaf::hermitian_eigensolver(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, D > &mat, Matrix< BaseType< T >, D > &eigenvalues, Matrix< T, D > &eigenvectors)'],['../dlaf_2eigensolver_2eigensolver_8h.html#aa9f2f4d0cec789e49116b1260cf29a25',1,'dlaf::hermitian_eigensolver(blas::Uplo uplo, Matrix< T, D > &mat)']]], + ['hermitian_5fgeneralized_5feigensolver_987',['hermitian_generalized_eigensolver',['../gen__eigensolver_8h.html#a1cf1ebdb188b31eccb063f82fcb579ae',1,'dlaf::hermitian_generalized_eigensolver(blas::Uplo uplo, Matrix< T, D > &mat_a, Matrix< T, D > &mat_b, Matrix< BaseType< T >, D > &eigenvalues, Matrix< T, D > &eigenvectors)'],['../gen__eigensolver_8h.html#a1f5487240ae96219923911698f2afdd6',1,'dlaf::hermitian_generalized_eigensolver(blas::Uplo uplo, Matrix< T, D > &mat_a, Matrix< T, D > &mat_b)'],['../gen__eigensolver_8h.html#ae296c5af89b97bd69bced4f42a9a9ec3',1,'dlaf::hermitian_generalized_eigensolver(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, D > &mat_a, Matrix< T, D > &mat_b, Matrix< BaseType< T >, D > &eigenvalues, Matrix< T, D > &eigenvectors)'],['../gen__eigensolver_8h.html#a49dc23319fd1539323a3c39b2d1a80e4',1,'dlaf::hermitian_generalized_eigensolver(comm::CommunicatorGrid grid, blas::Uplo uplo, Matrix< T, D > &mat_a, Matrix< T, D > &mat_b)']]], + ['hermitian_5fmultiplication_988',['hermitian_multiplication',['../hermitian_8h.html#ab6234e4eda7adaa1469c1c09fd59cc33',1,'dlaf::hermitian_multiplication(blas::Side side, blas::Uplo uplo, const T alpha, Matrix< const T, D > &mat_a, Matrix< const T, D > &mat_b, const T beta, Matrix< T, D > &mat_c)'],['../hermitian_8h.html#ad652788e7c1989506e984896766fa2cb',1,'dlaf::hermitian_multiplication(comm::CommunicatorGrid grid, blas::Side side, blas::Uplo uplo, const T alpha, Matrix< const T, D > &mat_a, Matrix< const T, D > &mat_b, const T beta, Matrix< T, D > &mat_c)']]] ]; diff --git a/master/search/functions_8.js b/master/search/functions_8.js index b56a90aa25..27aae4cbad 100644 --- a/master/search/functions_8.js +++ b/master/search/functions_8.js @@ -1,14 +1,14 @@ var searchData= [ - ['index2d_988',['Index2D',['../classdlaf_1_1common_1_1_index2_d.html#a940432586f1b501b8dda46355999335d',1,'dlaf::common::Index2D::Index2D() noexcept'],['../classdlaf_1_1common_1_1_index2_d.html#ae959b1b0c405d3480f9d4960946b5b2e',1,'dlaf::common::Index2D::Index2D(const std::array< IndexT, 2 > &coords) noexcept']]], - ['initialize_989',['initialize',['../dlaf_2init_8h.html#a100757e13ff576c8a93dd7aed3ca7ec4',1,'dlaf::initialize(const pika::program_options::variables_map &vm, const configuration &user_cfg={})'],['../dlaf_2init_8h.html#a94175c61baedbcc0bf6bd53e0f57380f',1,'dlaf::initialize(int argc, const char *const argv[], const configuration &user_cfg={})']]], - ['initresourcepartitionerhandler_990',['initResourcePartitionerHandler',['../dlaf_2init_8h.html#a3685b1a9ef2da35287ae3b03ea3b62e6',1,'dlaf']]], - ['is_5fcontiguous_991',['is_contiguous',['../structdlaf_1_1common_1_1_data_descriptor.html#ad73cebe7217dd9f3ad68190dc09bce9e',1,'dlaf::common::DataDescriptor']]], - ['isempty_992',['isEmpty',['../classdlaf_1_1common_1_1_size2_d.html#afe5870841ddc785db5d4c81cc22aeb93',1,'dlaf::common::Size2D']]], - ['isexternal_993',['isExternal',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#aa77cf35507fc6a6291e9197996034db8',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['isin_994',['isIn',['../classdlaf_1_1common_1_1_index2_d.html#a5f174cc234af20d79923b31d7fa90b19',1,'dlaf::common::Index2D']]], - ['isinoron_995',['isInOrOn',['../classdlaf_1_1common_1_1_index2_d.html#ab230f7ada23f15ffd3b3d0a3921f1685',1,'dlaf::common::Index2D']]], - ['isvalid_996',['isValid',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a380f1ac07da35bc014bcbfff908eb0a9',1,'dlaf::common::internal::basic_coords']]], - ['iterate_5frange2d_997',['iterate_range2d',['../range2d_8h.html#adcdcf40345b7f03cf52e871a2420057b',1,'dlaf::common']]], - ['iteratorlocal_998',['iteratorLocal',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a79626e0d68d508aca69d1114cedc38a7',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >::iteratorLocal()'],['../structdlaf_1_1matrix_1_1internal_1_1_view.html#a7c25686d3fb7e47b627af360592168ad',1,'dlaf::matrix::internal::View::iteratorLocal()']]] + ['index2d_989',['Index2D',['../classdlaf_1_1common_1_1_index2_d.html#a940432586f1b501b8dda46355999335d',1,'dlaf::common::Index2D::Index2D() noexcept'],['../classdlaf_1_1common_1_1_index2_d.html#ae959b1b0c405d3480f9d4960946b5b2e',1,'dlaf::common::Index2D::Index2D(const std::array< IndexT, 2 > &coords) noexcept']]], + ['initialize_990',['initialize',['../dlaf_2init_8h.html#a100757e13ff576c8a93dd7aed3ca7ec4',1,'dlaf::initialize(const pika::program_options::variables_map &vm, const configuration &user_cfg={})'],['../dlaf_2init_8h.html#a94175c61baedbcc0bf6bd53e0f57380f',1,'dlaf::initialize(int argc, const char *const argv[], const configuration &user_cfg={})']]], + ['initresourcepartitionerhandler_991',['initResourcePartitionerHandler',['../dlaf_2init_8h.html#a3685b1a9ef2da35287ae3b03ea3b62e6',1,'dlaf']]], + ['is_5fcontiguous_992',['is_contiguous',['../structdlaf_1_1common_1_1_data_descriptor.html#ad73cebe7217dd9f3ad68190dc09bce9e',1,'dlaf::common::DataDescriptor']]], + ['isempty_993',['isEmpty',['../classdlaf_1_1common_1_1_size2_d.html#afe5870841ddc785db5d4c81cc22aeb93',1,'dlaf::common::Size2D']]], + ['isexternal_994',['isExternal',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#aa77cf35507fc6a6291e9197996034db8',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['isin_995',['isIn',['../classdlaf_1_1common_1_1_index2_d.html#a5f174cc234af20d79923b31d7fa90b19',1,'dlaf::common::Index2D']]], + ['isinoron_996',['isInOrOn',['../classdlaf_1_1common_1_1_index2_d.html#ab230f7ada23f15ffd3b3d0a3921f1685',1,'dlaf::common::Index2D']]], + ['isvalid_997',['isValid',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a380f1ac07da35bc014bcbfff908eb0a9',1,'dlaf::common::internal::basic_coords']]], + ['iterate_5frange2d_998',['iterate_range2d',['../range2d_8h.html#adcdcf40345b7f03cf52e871a2420057b',1,'dlaf::common']]], + ['iteratorlocal_999',['iteratorLocal',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a79626e0d68d508aca69d1114cedc38a7',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >::iteratorLocal()'],['../structdlaf_1_1matrix_1_1internal_1_1_view.html#a7c25686d3fb7e47b627af360592168ad',1,'dlaf::matrix::internal::View::iteratorLocal()']]] ]; diff --git a/master/search/functions_9.js b/master/search/functions_9.js index 350d7261de..bed2f87c64 100644 --- a/master/search/functions_9.js +++ b/master/search/functions_9.js @@ -1,18 +1,18 @@ var searchData= [ - ['lacpy_999',['lacpy',['../util__lapack_8h.html#a2a62e0ec6768b42ae19efff5ea5e4331',1,'lapack::lacpy()'],['../lapack_2tile_8h.html#a1bbf24144aebc55d9d50bb3b53ae38f7',1,'dlaf::tile::lacpy(TileElementSize region, TileElementIndex in_idx, const Tile< const T, Device::CPU > &in, TileElementIndex out_idx, const Tile< T, Device::CPU > &out)'],['../lapack_2tile_8h.html#adba78fac5535c410d8bd2e6c53ff8c7d',1,'dlaf::tile::lacpy(const Tile< const T, Device::CPU > &a, const Tile< T, Device::CPU > &b)']]], - ['lange_1000',['lange',['../lapack_2tile_8h.html#a839d86dad6ce772207964d76b3ad07fa',1,'dlaf::tile']]], - ['lantr_1001',['lantr',['../lapack_2tile_8h.html#a22be986552edcbdc4a3785a72620d0ca',1,'dlaf::tile']]], - ['laset_1002',['laset',['../lapack_2tile_8h.html#a19439efac55cc846b684ed2c6f78eb33',1,'dlaf::tile::laset()'],['../util__lapack_8h.html#a653b4d466d700c7d6d3befb51c8ca9d8',1,'lapack::laset()']]], - ['layoutinfo_1003',['LayoutInfo',['../classdlaf_1_1matrix_1_1_layout_info.html#a8c41196b99f84410426dfdd62609b982',1,'dlaf::matrix::LayoutInfo']]], - ['ld_1004',['ld',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a44282c10a5112a78c95c557538f13a74',1,'dlaf::matrix::Tile< const T, D >']]], - ['linearindex_1005',['linearIndex',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a1d863b84e40d0567f731413ff788a1a6',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['local_5fmatrix_1006',['local_matrix',['../util__matrix_8h.html#a801d4c1863ecd48a5758741b63781921',1,'dlaf::matrix']]], - ['localelementdistancefromglobaltile_1007',['localElementDistanceFromGlobalTile',['../classdlaf_1_1matrix_1_1_distribution.html#a532cc910ad683b4bf2154e5b01540e61',1,'dlaf::matrix::Distribution::localElementDistanceFromGlobalTile(GlobalTileIndex begin, GlobalTileIndex end) const noexcept'],['../classdlaf_1_1matrix_1_1_distribution.html#ac0eef1aae43a7fc895cd280cac21eaa7',1,'dlaf::matrix::Distribution::localElementDistanceFromGlobalTile(SizeType i_begin, SizeType i_end) const noexcept']]], - ['localelementdistancefromlocaltile_1008',['localElementDistanceFromLocalTile',['../classdlaf_1_1matrix_1_1_distribution.html#ab590472ea7c2132b30b725954f8ea3c0',1,'dlaf::matrix::Distribution::localElementDistanceFromLocalTile(LocalTileIndex begin, LocalTileIndex end) const noexcept'],['../classdlaf_1_1matrix_1_1_distribution.html#a757d638249f12dd13ffbaa95a9aba21a',1,'dlaf::matrix::Distribution::localElementDistanceFromLocalTile(SizeType i_loc_begin, SizeType i_loc_end) const noexcept']]], - ['localnrtiles_1009',['localNrTiles',['../classdlaf_1_1matrix_1_1_distribution.html#a6e8c79e3f901845182c4e7e32de5eb34',1,'dlaf::matrix::Distribution']]], - ['localtilefromglobalelement_1010',['localTileFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#ae812ba2b5ba6b753d733abb48acc5d72',1,'dlaf::matrix::Distribution']]], - ['localtilefromglobaltile_1011',['localTileFromGlobalTile',['../util__distribution_8h.html#a235a8d1c90d534e32f93f2ce0e364700',1,'dlaf::util::matrix::localTileFromGlobalTile()'],['../classdlaf_1_1matrix_1_1_distribution.html#abdc93bce29920c2dff64235391cf3811',1,'dlaf::matrix::Distribution::localTileFromGlobalTile(SizeType global_tile) const noexcept']]], - ['localtileindex_1012',['localTileIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a77f2413076c87fee45f6afb6e6e1baae',1,'dlaf::matrix::Distribution']]], - ['localtilelinearindex_1013',['localTileLinearIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a22259431b76866f2f6acfe1a47ab3ace',1,'dlaf::matrix::Distribution']]] + ['lacpy_1000',['lacpy',['../util__lapack_8h.html#a2a62e0ec6768b42ae19efff5ea5e4331',1,'lapack::lacpy()'],['../lapack_2tile_8h.html#a1bbf24144aebc55d9d50bb3b53ae38f7',1,'dlaf::tile::lacpy(TileElementSize region, TileElementIndex in_idx, const Tile< const T, Device::CPU > &in, TileElementIndex out_idx, const Tile< T, Device::CPU > &out)'],['../lapack_2tile_8h.html#adba78fac5535c410d8bd2e6c53ff8c7d',1,'dlaf::tile::lacpy(const Tile< const T, Device::CPU > &a, const Tile< T, Device::CPU > &b)']]], + ['lange_1001',['lange',['../lapack_2tile_8h.html#a839d86dad6ce772207964d76b3ad07fa',1,'dlaf::tile']]], + ['lantr_1002',['lantr',['../lapack_2tile_8h.html#a22be986552edcbdc4a3785a72620d0ca',1,'dlaf::tile']]], + ['laset_1003',['laset',['../lapack_2tile_8h.html#a19439efac55cc846b684ed2c6f78eb33',1,'dlaf::tile::laset()'],['../util__lapack_8h.html#a653b4d466d700c7d6d3befb51c8ca9d8',1,'lapack::laset()']]], + ['layoutinfo_1004',['LayoutInfo',['../classdlaf_1_1matrix_1_1_layout_info.html#a8c41196b99f84410426dfdd62609b982',1,'dlaf::matrix::LayoutInfo']]], + ['ld_1005',['ld',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a44282c10a5112a78c95c557538f13a74',1,'dlaf::matrix::Tile< const T, D >']]], + ['linearindex_1006',['linearIndex',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a1d863b84e40d0567f731413ff788a1a6',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['local_5fmatrix_1007',['local_matrix',['../util__matrix_8h.html#a801d4c1863ecd48a5758741b63781921',1,'dlaf::matrix']]], + ['localelementdistancefromglobaltile_1008',['localElementDistanceFromGlobalTile',['../classdlaf_1_1matrix_1_1_distribution.html#a532cc910ad683b4bf2154e5b01540e61',1,'dlaf::matrix::Distribution::localElementDistanceFromGlobalTile(GlobalTileIndex begin, GlobalTileIndex end) const noexcept'],['../classdlaf_1_1matrix_1_1_distribution.html#ac0eef1aae43a7fc895cd280cac21eaa7',1,'dlaf::matrix::Distribution::localElementDistanceFromGlobalTile(SizeType i_begin, SizeType i_end) const noexcept']]], + ['localelementdistancefromlocaltile_1009',['localElementDistanceFromLocalTile',['../classdlaf_1_1matrix_1_1_distribution.html#ab590472ea7c2132b30b725954f8ea3c0',1,'dlaf::matrix::Distribution::localElementDistanceFromLocalTile(LocalTileIndex begin, LocalTileIndex end) const noexcept'],['../classdlaf_1_1matrix_1_1_distribution.html#a757d638249f12dd13ffbaa95a9aba21a',1,'dlaf::matrix::Distribution::localElementDistanceFromLocalTile(SizeType i_loc_begin, SizeType i_loc_end) const noexcept']]], + ['localnrtiles_1010',['localNrTiles',['../classdlaf_1_1matrix_1_1_distribution.html#a6e8c79e3f901845182c4e7e32de5eb34',1,'dlaf::matrix::Distribution']]], + ['localtilefromglobalelement_1011',['localTileFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#ae812ba2b5ba6b753d733abb48acc5d72',1,'dlaf::matrix::Distribution']]], + ['localtilefromglobaltile_1012',['localTileFromGlobalTile',['../util__distribution_8h.html#a235a8d1c90d534e32f93f2ce0e364700',1,'dlaf::util::matrix::localTileFromGlobalTile()'],['../classdlaf_1_1matrix_1_1_distribution.html#abdc93bce29920c2dff64235391cf3811',1,'dlaf::matrix::Distribution::localTileFromGlobalTile(SizeType global_tile) const noexcept']]], + ['localtileindex_1013',['localTileIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a77f2413076c87fee45f6afb6e6e1baae',1,'dlaf::matrix::Distribution']]], + ['localtilelinearindex_1014',['localTileLinearIndex',['../classdlaf_1_1matrix_1_1_distribution.html#a22259431b76866f2f6acfe1a47ab3ace',1,'dlaf::matrix::Distribution']]] ]; diff --git a/master/search/functions_a.js b/master/search/functions_a.js index efc1635e50..ea36fadaa1 100644 --- a/master/search/functions_a.js +++ b/master/search/functions_a.js @@ -1,23 +1,23 @@ var searchData= [ - ['make_5fcommunicator_5fmanaged_1014',['make_communicator_managed',['../communicator_8h.html#a8b7bf4fa5dfb408439c9c93ce3ebb216',1,'dlaf::comm']]], - ['make_5fcontiguous_1015',['make_contiguous',['../data__descriptor_8h.html#a96a67d2223bad7ea28fcca7041877560',1,'dlaf::common']]], - ['make_5fdata_1016',['make_data',['../data_8h.html#ae8a4cf6d87f0a72e5daad8a35478f051',1,'dlaf::common::make_data(Data &&data) noexcept'],['../data_8h.html#aa3aa1962f3a8382cbf457db22c8ca48f',1,'dlaf::common::make_data(T &&data, Ts &&... args) noexcept']]], - ['make_5fdlaf_5fdescriptor_1017',['make_dlaf_descriptor',['../utils_8h.html#ade8e704e69a6507df42e0b1f70555b2b',1,'utils.h']]], - ['make_5fmessage_1018',['make_message',['../message_8h.html#a256282d96e42c4ff2e6353ae28263422',1,'dlaf::comm']]], - ['matrix_1019',['Matrix',['../classdlaf_1_1matrix_1_1_matrix.html#a65b04ca6f55cf213c52cda2f3a532023',1,'dlaf::matrix::Matrix::Matrix(const GlobalElementSize &size, const TileElementSize &block_size, const comm::CommunicatorGrid &comm)'],['../classdlaf_1_1matrix_1_1_matrix.html#aa0614a38addeb9aaf83d268f1092b779',1,'dlaf::matrix::Matrix::Matrix(const LocalElementSize &size, const TileElementSize &block_size)'],['../classdlaf_1_1matrix_1_1_matrix.html#a5d2827ca2dbad4d6e6482e4c1e963472',1,'dlaf::matrix::Matrix::Matrix(Distribution distribution, const LayoutInfo &layout, ElementType *ptr) noexcept'],['../classdlaf_1_1matrix_1_1_matrix.html#ad5f429b579c79194b453206f24d7de49',1,'dlaf::matrix::Matrix::Matrix(const LayoutInfo &layout, ElementType *ptr)'],['../classdlaf_1_1matrix_1_1_matrix.html#a1f0c98f29fa14cccef9f5378f6ee20b1',1,'dlaf::matrix::Matrix::Matrix(Distribution distribution, const LayoutInfo &layout) noexcept'],['../classdlaf_1_1matrix_1_1_matrix.html#a73b38df3414aa5272abd3b6e87d67e37',1,'dlaf::matrix::Matrix::Matrix(Distribution distribution)']]], - ['matrixmirror_1020',['MatrixMirror',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html#ac9dfb2578a5c94b8cf6bf0d5b3186979',1,'dlaf::matrix::MatrixMirror< const T, Target, Source >::MatrixMirror()'],['../classdlaf_1_1matrix_1_1_matrix_mirror.html#a355ab06273bb75ba0fb40119829d2aa0',1,'dlaf::matrix::MatrixMirror::MatrixMirror()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html#a66b7ac6e591f693cd7bb8119955055fc',1,'dlaf::matrix::MatrixMirror< T, SourceTarget, SourceTarget >::MatrixMirror()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_source_target_00_01_source_target_01_4.html#ab4b4d7a17b5f0ae45d301ef415f41b29',1,'dlaf::matrix::MatrixMirror< const T, SourceTarget, SourceTarget >::MatrixMirror()']]], - ['matrixref_1021',['MatrixRef',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref_3_01const_01_t_00_01_d_01_4.html#a446ac09c4dff817804b8baa7fa76d31d',1,'dlaf::matrix::internal::MatrixRef< const T, D >::MatrixRef()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref.html#a036cd13b6ff871d083213870daabe028',1,'dlaf::matrix::internal::MatrixRef::MatrixRef()']]], - ['max_5fnorm_1022',['max_norm',['../norm_8h.html#abf429e381ebd046e1d217d233dcdc81e',1,'dlaf::auxiliary']]], - ['memorychunk_1023',['MemoryChunk',['../classdlaf_1_1memory_1_1_memory_chunk.html#a4059fde641a91f8cac05721fb54c749b',1,'dlaf::memory::MemoryChunk::MemoryChunk()'],['../classdlaf_1_1memory_1_1_memory_chunk.html#a53cffddd0ddfd2e1e0db839157a58913',1,'dlaf::memory::MemoryChunk::MemoryChunk(SizeType size)'],['../classdlaf_1_1memory_1_1_memory_chunk.html#a8855d0d0e0c35c83394ce82cd14ea36d',1,'dlaf::memory::MemoryChunk::MemoryChunk(T *ptr, SizeType size)'],['../classdlaf_1_1memory_1_1_memory_chunk.html#ab7a334b89c214fe25ffde4bf0fd4e802',1,'dlaf::memory::MemoryChunk::MemoryChunk(MemoryChunk &&rhs) noexcept']]], - ['memoryview_1024',['MemoryView',['../classdlaf_1_1memory_1_1_memory_view.html#a76c5e9d28626abb2991dd6ad1ce460c7',1,'dlaf::memory::MemoryView::MemoryView(const MemoryView &memory_view, SizeType offset, SizeType size)'],['../classdlaf_1_1memory_1_1_memory_view.html#a0835f719277ae4f7b97c68d097a07071',1,'dlaf::memory::MemoryView::MemoryView(T *ptr, SizeType size)'],['../classdlaf_1_1memory_1_1_memory_view.html#a0650b61938741469c7583d671240619d',1,'dlaf::memory::MemoryView::MemoryView(SizeType size)'],['../classdlaf_1_1memory_1_1_memory_view.html#aa0752bb38aa279bd6260e2d440b8ca7d',1,'dlaf::memory::MemoryView::MemoryView()']]], - ['message_1025',['Message',['../classdlaf_1_1comm_1_1_message.html#aa0a15382490f3f628d14f734aeddf285',1,'dlaf::comm::Message']]], - ['minmemsize_1026',['minMemSize',['../classdlaf_1_1matrix_1_1_layout_info.html#ad51fa263d160dce4f4db2943720d2506',1,'dlaf::matrix::LayoutInfo']]], - ['mintilememsize_1027',['minTileMemSize',['../classdlaf_1_1matrix_1_1_layout_info.html#aa13f1acc6c4df1d0e0c11204d3c81ba0',1,'dlaf::matrix::LayoutInfo::minTileMemSize(const TileElementSize &tile_size) const noexcept'],['../classdlaf_1_1matrix_1_1_layout_info.html#a90af3a4b4a456d3107dec3eb4c207c29',1,'dlaf::matrix::LayoutInfo::minTileMemSize(const LocalTileIndex &index) const noexcept']]], - ['mpi_5fcall_1028',['mpi_call',['../communication_2error_8h.html#aa640fad0edb091d239f68708fbe00103',1,'dlaf::internal']]], - ['mpi_5finit_1029',['mpi_init',['../structdlaf_1_1comm_1_1mpi__init.html#a415e55c02e205e6f782ff7000755c842',1,'dlaf::comm::mpi_init']]], - ['mpi_5ftype_1030',['mpi_type',['../classdlaf_1_1comm_1_1_message.html#ac9fa892f3513f9b60ad178d1f788f0af',1,'dlaf::comm::Message']]], - ['mul_1031',['mul',['../util__math_8h.html#a77a106250e33d119c5415546f6b74544',1,'dlaf::util::size_t::mul()'],['../util__math_8h.html#a090c5b89334c2c21574610d8f0881b67',1,'dlaf::util::ptrdiff_t::mul()']]], - ['multipliable_1032',['multipliable',['../util__matrix_8h.html#a14086310f58c9ace5ceb41e040277c86',1,'dlaf::matrix']]], - ['multipliable_5fsizes_1033',['multipliable_sizes',['../util__matrix_8h.html#a93b53e9c0e942a5caa96a24242864400',1,'dlaf::matrix']]] + ['make_5fcommunicator_5fmanaged_1015',['make_communicator_managed',['../communicator_8h.html#a8b7bf4fa5dfb408439c9c93ce3ebb216',1,'dlaf::comm']]], + ['make_5fcontiguous_1016',['make_contiguous',['../data__descriptor_8h.html#a96a67d2223bad7ea28fcca7041877560',1,'dlaf::common']]], + ['make_5fdata_1017',['make_data',['../data_8h.html#ae8a4cf6d87f0a72e5daad8a35478f051',1,'dlaf::common::make_data(Data &&data) noexcept'],['../data_8h.html#aa3aa1962f3a8382cbf457db22c8ca48f',1,'dlaf::common::make_data(T &&data, Ts &&... args) noexcept']]], + ['make_5fdlaf_5fdescriptor_1018',['make_dlaf_descriptor',['../utils_8h.html#ade8e704e69a6507df42e0b1f70555b2b',1,'utils.h']]], + ['make_5fmessage_1019',['make_message',['../message_8h.html#a256282d96e42c4ff2e6353ae28263422',1,'dlaf::comm']]], + ['matrix_1020',['Matrix',['../classdlaf_1_1matrix_1_1_matrix.html#a65b04ca6f55cf213c52cda2f3a532023',1,'dlaf::matrix::Matrix::Matrix(const GlobalElementSize &size, const TileElementSize &block_size, const comm::CommunicatorGrid &comm)'],['../classdlaf_1_1matrix_1_1_matrix.html#aa0614a38addeb9aaf83d268f1092b779',1,'dlaf::matrix::Matrix::Matrix(const LocalElementSize &size, const TileElementSize &block_size)'],['../classdlaf_1_1matrix_1_1_matrix.html#a5d2827ca2dbad4d6e6482e4c1e963472',1,'dlaf::matrix::Matrix::Matrix(Distribution distribution, const LayoutInfo &layout, ElementType *ptr) noexcept'],['../classdlaf_1_1matrix_1_1_matrix.html#ad5f429b579c79194b453206f24d7de49',1,'dlaf::matrix::Matrix::Matrix(const LayoutInfo &layout, ElementType *ptr)'],['../classdlaf_1_1matrix_1_1_matrix.html#a1f0c98f29fa14cccef9f5378f6ee20b1',1,'dlaf::matrix::Matrix::Matrix(Distribution distribution, const LayoutInfo &layout) noexcept'],['../classdlaf_1_1matrix_1_1_matrix.html#a73b38df3414aa5272abd3b6e87d67e37',1,'dlaf::matrix::Matrix::Matrix(Distribution distribution)']]], + ['matrixmirror_1021',['MatrixMirror',['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_target_00_01_source_01_4.html#ac9dfb2578a5c94b8cf6bf0d5b3186979',1,'dlaf::matrix::MatrixMirror< const T, Target, Source >::MatrixMirror()'],['../classdlaf_1_1matrix_1_1_matrix_mirror.html#a355ab06273bb75ba0fb40119829d2aa0',1,'dlaf::matrix::MatrixMirror::MatrixMirror()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01_t_00_01_source_target_00_01_source_target_01_4.html#a66b7ac6e591f693cd7bb8119955055fc',1,'dlaf::matrix::MatrixMirror< T, SourceTarget, SourceTarget >::MatrixMirror()'],['../classdlaf_1_1matrix_1_1_matrix_mirror_3_01const_01_t_00_01_source_target_00_01_source_target_01_4.html#ab4b4d7a17b5f0ae45d301ef415f41b29',1,'dlaf::matrix::MatrixMirror< const T, SourceTarget, SourceTarget >::MatrixMirror()']]], + ['matrixref_1022',['MatrixRef',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref_3_01const_01_t_00_01_d_01_4.html#a446ac09c4dff817804b8baa7fa76d31d',1,'dlaf::matrix::internal::MatrixRef< const T, D >::MatrixRef()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref.html#a036cd13b6ff871d083213870daabe028',1,'dlaf::matrix::internal::MatrixRef::MatrixRef()']]], + ['max_5fnorm_1023',['max_norm',['../norm_8h.html#abf429e381ebd046e1d217d233dcdc81e',1,'dlaf::auxiliary']]], + ['memorychunk_1024',['MemoryChunk',['../classdlaf_1_1memory_1_1_memory_chunk.html#a4059fde641a91f8cac05721fb54c749b',1,'dlaf::memory::MemoryChunk::MemoryChunk()'],['../classdlaf_1_1memory_1_1_memory_chunk.html#a53cffddd0ddfd2e1e0db839157a58913',1,'dlaf::memory::MemoryChunk::MemoryChunk(SizeType size)'],['../classdlaf_1_1memory_1_1_memory_chunk.html#a8855d0d0e0c35c83394ce82cd14ea36d',1,'dlaf::memory::MemoryChunk::MemoryChunk(T *ptr, SizeType size)'],['../classdlaf_1_1memory_1_1_memory_chunk.html#ab7a334b89c214fe25ffde4bf0fd4e802',1,'dlaf::memory::MemoryChunk::MemoryChunk(MemoryChunk &&rhs) noexcept']]], + ['memoryview_1025',['MemoryView',['../classdlaf_1_1memory_1_1_memory_view.html#a76c5e9d28626abb2991dd6ad1ce460c7',1,'dlaf::memory::MemoryView::MemoryView(const MemoryView &memory_view, SizeType offset, SizeType size)'],['../classdlaf_1_1memory_1_1_memory_view.html#a0835f719277ae4f7b97c68d097a07071',1,'dlaf::memory::MemoryView::MemoryView(T *ptr, SizeType size)'],['../classdlaf_1_1memory_1_1_memory_view.html#a0650b61938741469c7583d671240619d',1,'dlaf::memory::MemoryView::MemoryView(SizeType size)'],['../classdlaf_1_1memory_1_1_memory_view.html#aa0752bb38aa279bd6260e2d440b8ca7d',1,'dlaf::memory::MemoryView::MemoryView()']]], + ['message_1026',['Message',['../classdlaf_1_1comm_1_1_message.html#aa0a15382490f3f628d14f734aeddf285',1,'dlaf::comm::Message']]], + ['minmemsize_1027',['minMemSize',['../classdlaf_1_1matrix_1_1_layout_info.html#ad51fa263d160dce4f4db2943720d2506',1,'dlaf::matrix::LayoutInfo']]], + ['mintilememsize_1028',['minTileMemSize',['../classdlaf_1_1matrix_1_1_layout_info.html#aa13f1acc6c4df1d0e0c11204d3c81ba0',1,'dlaf::matrix::LayoutInfo::minTileMemSize(const TileElementSize &tile_size) const noexcept'],['../classdlaf_1_1matrix_1_1_layout_info.html#a90af3a4b4a456d3107dec3eb4c207c29',1,'dlaf::matrix::LayoutInfo::minTileMemSize(const LocalTileIndex &index) const noexcept']]], + ['mpi_5fcall_1029',['mpi_call',['../communication_2error_8h.html#aa640fad0edb091d239f68708fbe00103',1,'dlaf::internal']]], + ['mpi_5finit_1030',['mpi_init',['../structdlaf_1_1comm_1_1mpi__init.html#a415e55c02e205e6f782ff7000755c842',1,'dlaf::comm::mpi_init']]], + ['mpi_5ftype_1031',['mpi_type',['../classdlaf_1_1comm_1_1_message.html#ac9fa892f3513f9b60ad178d1f788f0af',1,'dlaf::comm::Message']]], + ['mul_1032',['mul',['../util__math_8h.html#a77a106250e33d119c5415546f6b74544',1,'dlaf::util::size_t::mul()'],['../util__math_8h.html#a090c5b89334c2c21574610d8f0881b67',1,'dlaf::util::ptrdiff_t::mul()']]], + ['multipliable_1033',['multipliable',['../util__matrix_8h.html#a14086310f58c9ace5ceb41e040277c86',1,'dlaf::matrix']]], + ['multipliable_5fsizes_1034',['multipliable_sizes',['../util__matrix_8h.html#a93b53e9c0e942a5caa96a24242864400',1,'dlaf::matrix']]] ]; diff --git a/master/search/functions_b.js b/master/search/functions_b.js index 903dfdc2f4..7f892ed4fd 100644 --- a/master/search/functions_b.js +++ b/master/search/functions_b.js @@ -1,7 +1,7 @@ var searchData= [ - ['nblocks_1034',['nblocks',['../structdlaf_1_1common_1_1_data_descriptor.html#a583161cb3c61e3af88fe66552a123866',1,'dlaf::common::DataDescriptor']]], - ['nextlocaltilefromglobalelement_1035',['nextLocalTileFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#a559caf9af0f658507a6a8fe949e09a93',1,'dlaf::matrix::Distribution']]], - ['nextlocaltilefromglobaltile_1036',['nextLocalTileFromGlobalTile',['../classdlaf_1_1matrix_1_1_distribution.html#afcd76386ddd1319978242aaf54412825',1,'dlaf::matrix::Distribution::nextLocalTileFromGlobalTile()'],['../util__distribution_8h.html#ad6d38066f4c7c00e41fc2d8830efb77f',1,'dlaf::util::matrix::nextLocalTileFromGlobalTile()']]], - ['nrtiles_1037',['nrTiles',['../classdlaf_1_1matrix_1_1_distribution.html#acc85a62e6350bcac93a8e442d4603516',1,'dlaf::matrix::Distribution::nrTiles()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a068e58f7f6c2956f92e69fd7c8d8f68d',1,'dlaf::matrix::internal::MatrixBase::nrTiles()']]] + ['nblocks_1035',['nblocks',['../structdlaf_1_1common_1_1_data_descriptor.html#a583161cb3c61e3af88fe66552a123866',1,'dlaf::common::DataDescriptor']]], + ['nextlocaltilefromglobalelement_1036',['nextLocalTileFromGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#a559caf9af0f658507a6a8fe949e09a93',1,'dlaf::matrix::Distribution']]], + ['nextlocaltilefromglobaltile_1037',['nextLocalTileFromGlobalTile',['../classdlaf_1_1matrix_1_1_distribution.html#afcd76386ddd1319978242aaf54412825',1,'dlaf::matrix::Distribution::nextLocalTileFromGlobalTile()'],['../util__distribution_8h.html#ad6d38066f4c7c00e41fc2d8830efb77f',1,'dlaf::util::matrix::nextLocalTileFromGlobalTile()']]], + ['nrtiles_1038',['nrTiles',['../classdlaf_1_1matrix_1_1_distribution.html#acc85a62e6350bcac93a8e442d4603516',1,'dlaf::matrix::Distribution::nrTiles()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a068e58f7f6c2956f92e69fd7c8d8f68d',1,'dlaf::matrix::internal::MatrixBase::nrTiles()']]] ]; diff --git a/master/search/functions_c.js b/master/search/functions_c.js index ea570eba4c..bb0109111b 100644 --- a/master/search/functions_c.js +++ b/master/search/functions_c.js @@ -1,16 +1,16 @@ var searchData= [ - ['offset_1038',['offset',['../structdlaf_1_1matrix_1_1internal_1_1_view.html#a7229ff87452798d32b7195fe684fff7a',1,'dlaf::matrix::internal::View']]], - ['offsetelement_1039',['offsetElement',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a398b31442f71b68e39a3ecbb2762203e',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >::offsetElement()'],['../structdlaf_1_1matrix_1_1internal_1_1_view.html#a7164cccc46c63cc96661288809a37f5f',1,'dlaf::matrix::internal::View::offsetElement()']]], - ['operator_20bool_1040',['operator bool',['../structdlaf_1_1common_1_1_buffer.html#ae57231c34ebf6f79da4d1e6e1c75cf0a',1,'dlaf::common::Buffer::operator bool()'],['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#a8f6d65a5adc84620ed33a7de52bac602',1,'dlaf::comm::internal::type_handler::operator bool()']]], - ['operator_20mpi_5fcomm_1041',['operator MPI_Comm',['../classdlaf_1_1comm_1_1_communicator.html#a5be809bbc2d038669e31a9de501a2070',1,'dlaf::comm::Communicator']]], - ['operator_20mpi_5fdatatype_1042',['operator MPI_Datatype',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#a2247361b0d7dd77039860c0cd21a13e3',1,'dlaf::comm::internal::type_handler']]], - ['operator_21_3d_1043',['operator!=',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#abf2886043fbe929f1e1f0eff5e20935d',1,'dlaf::common::internal::basic_coords::operator!=()'],['../classdlaf_1_1common_1_1_size2_d.html#a1a6822fefe13303612ce0ddf44f260ea',1,'dlaf::common::Size2D::operator!=()'],['../classdlaf_1_1common_1_1_index2_d.html#ae2e28cf6eab4febd97d6c46d23c6096d',1,'dlaf::common::Index2D::operator!=()']]], - ['operator_26_1044',['operator&',['../classdlaf_1_1comm_1_1_communicator.html#ace61947783c442bf684c2f035093acf2',1,'dlaf::comm::Communicator']]], - ['operator_28_29_1045',['operator()',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#ac22706782f9864d6357df2f48f15ee74',1,'dlaf::matrix::Tile< const T, D >::operator()()'],['../classdlaf_1_1memory_1_1_memory_view.html#aad118548f59d6c8021eb4fbe816a1561',1,'dlaf::memory::MemoryView::operator()() const'],['../classdlaf_1_1memory_1_1_memory_view.html#a6f9c8123e686e2f2122ec988ca0b9725',1,'dlaf::memory::MemoryView::operator()(SizeType index) const'],['../classdlaf_1_1memory_1_1_memory_chunk.html#a1720c41c3c3cbad2e198e7cedbfa84de',1,'dlaf::memory::MemoryChunk::operator()()'],['../classdlaf_1_1memory_1_1_memory_chunk.html#ac0325c028366b219597dde97814e9a7a',1,'dlaf::memory::MemoryChunk::operator()(SizeType index)'],['../classdlaf_1_1matrix_1_1_tile.html#a5641fc26b7eb759a31ddc24975393ce7',1,'dlaf::matrix::Tile::operator()()'],['../classdlaf_1_1common_1_1_pipeline.html#a388b1fe53e84dde5b0f026e7b334902d',1,'dlaf::common::Pipeline::operator()()']]], - ['operator_2b_1046',['operator+',['../index2d_8h.html#a2ed7f0c019788f600bc067956646bf75',1,'dlaf::common']]], - ['operator_3c_3c_1047',['operator<<',['../index2d_8h.html#a352cdd70886a2a2ace1abd246951c538',1,'dlaf::common']]], - ['operator_3d_1048',['operator=',['../classdlaf_1_1memory_1_1_memory_chunk.html#a0c03f967f09e963519dae5e235da66e1',1,'dlaf::memory::MemoryChunk']]], - ['operator_3d_3d_1049',['operator==',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a95e16def9c322ee963d123635c2c875b',1,'dlaf::common::internal::basic_coords::operator==()'],['../classdlaf_1_1common_1_1_size2_d.html#a83385feaa5e14b4291c6267bc68fbe51',1,'dlaf::common::Size2D::operator==()'],['../classdlaf_1_1common_1_1_index2_d.html#a4724fdad093b5d189c5f5e0b1ac5e305',1,'dlaf::common::Index2D::operator==()']]], - ['orthogonal_1050',['orthogonal',['../index2d_8h.html#a9b3be798b052f32def2a280a80e2295c',1,'dlaf']]] + ['offset_1039',['offset',['../structdlaf_1_1matrix_1_1internal_1_1_view.html#a7229ff87452798d32b7195fe684fff7a',1,'dlaf::matrix::internal::View']]], + ['offsetelement_1040',['offsetElement',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a398b31442f71b68e39a3ecbb2762203e',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >::offsetElement()'],['../structdlaf_1_1matrix_1_1internal_1_1_view.html#a7164cccc46c63cc96661288809a37f5f',1,'dlaf::matrix::internal::View::offsetElement()']]], + ['operator_20bool_1041',['operator bool',['../structdlaf_1_1common_1_1_buffer.html#ae57231c34ebf6f79da4d1e6e1c75cf0a',1,'dlaf::common::Buffer::operator bool()'],['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#a8f6d65a5adc84620ed33a7de52bac602',1,'dlaf::comm::internal::type_handler::operator bool()']]], + ['operator_20mpi_5fcomm_1042',['operator MPI_Comm',['../classdlaf_1_1comm_1_1_communicator.html#a5be809bbc2d038669e31a9de501a2070',1,'dlaf::comm::Communicator']]], + ['operator_20mpi_5fdatatype_1043',['operator MPI_Datatype',['../structdlaf_1_1comm_1_1internal_1_1type__handler.html#a2247361b0d7dd77039860c0cd21a13e3',1,'dlaf::comm::internal::type_handler']]], + ['operator_21_3d_1044',['operator!=',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#abf2886043fbe929f1e1f0eff5e20935d',1,'dlaf::common::internal::basic_coords::operator!=()'],['../classdlaf_1_1common_1_1_size2_d.html#a1a6822fefe13303612ce0ddf44f260ea',1,'dlaf::common::Size2D::operator!=()'],['../classdlaf_1_1common_1_1_index2_d.html#ae2e28cf6eab4febd97d6c46d23c6096d',1,'dlaf::common::Index2D::operator!=()']]], + ['operator_26_1045',['operator&',['../classdlaf_1_1comm_1_1_communicator.html#ace61947783c442bf684c2f035093acf2',1,'dlaf::comm::Communicator']]], + ['operator_28_29_1046',['operator()',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#ac22706782f9864d6357df2f48f15ee74',1,'dlaf::matrix::Tile< const T, D >::operator()()'],['../classdlaf_1_1memory_1_1_memory_view.html#aad118548f59d6c8021eb4fbe816a1561',1,'dlaf::memory::MemoryView::operator()() const'],['../classdlaf_1_1memory_1_1_memory_view.html#a6f9c8123e686e2f2122ec988ca0b9725',1,'dlaf::memory::MemoryView::operator()(SizeType index) const'],['../classdlaf_1_1memory_1_1_memory_chunk.html#a1720c41c3c3cbad2e198e7cedbfa84de',1,'dlaf::memory::MemoryChunk::operator()()'],['../classdlaf_1_1memory_1_1_memory_chunk.html#ac0325c028366b219597dde97814e9a7a',1,'dlaf::memory::MemoryChunk::operator()(SizeType index)'],['../classdlaf_1_1matrix_1_1_tile.html#a5641fc26b7eb759a31ddc24975393ce7',1,'dlaf::matrix::Tile::operator()()'],['../classdlaf_1_1common_1_1_pipeline.html#a388b1fe53e84dde5b0f026e7b334902d',1,'dlaf::common::Pipeline::operator()()']]], + ['operator_2b_1047',['operator+',['../index2d_8h.html#a2ed7f0c019788f600bc067956646bf75',1,'dlaf::common']]], + ['operator_3c_3c_1048',['operator<<',['../index2d_8h.html#a352cdd70886a2a2ace1abd246951c538',1,'dlaf::common']]], + ['operator_3d_1049',['operator=',['../classdlaf_1_1memory_1_1_memory_chunk.html#a0c03f967f09e963519dae5e235da66e1',1,'dlaf::memory::MemoryChunk']]], + ['operator_3d_3d_1050',['operator==',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a95e16def9c322ee963d123635c2c875b',1,'dlaf::common::internal::basic_coords::operator==()'],['../classdlaf_1_1common_1_1_size2_d.html#a83385feaa5e14b4291c6267bc68fbe51',1,'dlaf::common::Size2D::operator==()'],['../classdlaf_1_1common_1_1_index2_d.html#a4724fdad093b5d189c5f5e0b1ac5e305',1,'dlaf::common::Index2D::operator==()']]], + ['orthogonal_1051',['orthogonal',['../index2d_8h.html#a9b3be798b052f32def2a280a80e2295c',1,'dlaf']]] ]; diff --git a/master/search/functions_d.js b/master/search/functions_d.js index 1a7b7c4221..8fc43ab772 100644 --- a/master/search/functions_d.js +++ b/master/search/functions_d.js @@ -1,11 +1,11 @@ var searchData= [ - ['panel_1051',['Panel',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#ad63a4d555cea1fdf2f6d5745125fe3cb',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['parentdistribution_1052',['parentDistribution',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a66c9a42baab1741e5b562ddac6c716b2',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['permute_1053',['permute',['../permutations_2general_8h.html#af301d1e323dbafdc8503756ccd42edcd',1,'dlaf::permutations::permute(SizeType i_begin, SizeType i_end, Matrix< const SizeType, D > &perms, Matrix< const T, D > &mat_in, Matrix< T, D > &mat_out)'],['../permutations_2general_8h.html#a9dbcd748dd76ddf1b2dfef0d08bba03c',1,'dlaf::permutations::permute(comm::CommunicatorGrid grid, common::Pipeline< comm::Communicator > &sub_task_chain, SizeType i_begin, SizeType i_end, Matrix< const SizeType, D > &perms, Matrix< const T, D > &mat_in, Matrix< T, D > &mat_out)']]], - ['pipeline_1054',['Pipeline',['../classdlaf_1_1common_1_1_pipeline.html#a6379e14f25ed8d98d3b3434ec0d54a62',1,'dlaf::common::Pipeline']]], - ['potrf_1055',['potrf',['../lapack_2tile_8h.html#aab0795227301a9e8e63232028e331fe0',1,'dlaf::tile']]], - ['potrfinfo_1056',['potrfInfo',['../lapack_2tile_8h.html#aa917a1efbd53213821776d7d632ee41c',1,'dlaf::tile']]], - ['print_1057',['print',['../print__csv_8h.html#ace48c87b6c1d3dc59bf005fb943c0629',1,'dlaf::matrix::print(format::csv, const Tile< const T, Device::CPU > &tile, std::ostream &os=std::cout)'],['../print__csv_8h.html#ae6a4db345c18954cc7d83022a1a848d6',1,'dlaf::matrix::print(format::csv, std::string sym, Matrix< const T, Device::CPU > &mat, std::ostream &os=std::cout)'],['../print__gpu_8h.html#aa0268964c774b355f5513ae93a23b258',1,'dlaf::matrix::print(Format format, const Tile< const T, Device::GPU > &tile, std::ostream &os, whip::stream_t stream)'],['../print__numpy_8h.html#ab467c4a97112f7b1d2cffe3acbb41643',1,'dlaf::matrix::print(format::numpy, const Tile< const T, Device::CPU > &tile, std::ostream &os=std::cout)']]], - ['ptr_1058',['ptr',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a018a34c9be26937cbb0c6dbb727c69ce',1,'dlaf::matrix::Tile< const T, D >::ptr() const noexcept'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a7b8f0d5579d0f38743f123046780e860',1,'dlaf::matrix::Tile< const T, D >::ptr(const TileElementIndex &index) const noexcept'],['../classdlaf_1_1matrix_1_1_tile.html#ad14d471389721941e830f73d7ae0716d',1,'dlaf::matrix::Tile::ptr() const noexcept'],['../classdlaf_1_1matrix_1_1_tile.html#a9d16161523f90ce0f432af6e3eacb9f2',1,'dlaf::matrix::Tile::ptr(const TileElementIndex &index) const noexcept']]] + ['panel_1052',['Panel',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#ad63a4d555cea1fdf2f6d5745125fe3cb',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['parentdistribution_1053',['parentDistribution',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a66c9a42baab1741e5b562ddac6c716b2',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['permute_1054',['permute',['../permutations_2general_8h.html#af301d1e323dbafdc8503756ccd42edcd',1,'dlaf::permutations::permute(SizeType i_begin, SizeType i_end, Matrix< const SizeType, D > &perms, Matrix< const T, D > &mat_in, Matrix< T, D > &mat_out)'],['../permutations_2general_8h.html#a9dbcd748dd76ddf1b2dfef0d08bba03c',1,'dlaf::permutations::permute(comm::CommunicatorGrid grid, common::Pipeline< comm::Communicator > &sub_task_chain, SizeType i_begin, SizeType i_end, Matrix< const SizeType, D > &perms, Matrix< const T, D > &mat_in, Matrix< T, D > &mat_out)']]], + ['pipeline_1055',['Pipeline',['../classdlaf_1_1common_1_1_pipeline.html#a6379e14f25ed8d98d3b3434ec0d54a62',1,'dlaf::common::Pipeline']]], + ['potrf_1056',['potrf',['../lapack_2tile_8h.html#aab0795227301a9e8e63232028e331fe0',1,'dlaf::tile']]], + ['potrfinfo_1057',['potrfInfo',['../lapack_2tile_8h.html#aa917a1efbd53213821776d7d632ee41c',1,'dlaf::tile']]], + ['print_1058',['print',['../print__csv_8h.html#ace48c87b6c1d3dc59bf005fb943c0629',1,'dlaf::matrix::print(format::csv, const Tile< const T, Device::CPU > &tile, std::ostream &os=std::cout)'],['../print__csv_8h.html#ae6a4db345c18954cc7d83022a1a848d6',1,'dlaf::matrix::print(format::csv, std::string sym, Matrix< const T, Device::CPU > &mat, std::ostream &os=std::cout)'],['../print__gpu_8h.html#aa0268964c774b355f5513ae93a23b258',1,'dlaf::matrix::print(Format format, const Tile< const T, Device::GPU > &tile, std::ostream &os, whip::stream_t stream)'],['../print__numpy_8h.html#ab467c4a97112f7b1d2cffe3acbb41643',1,'dlaf::matrix::print(format::numpy, const Tile< const T, Device::CPU > &tile, std::ostream &os=std::cout)']]], + ['ptr_1059',['ptr',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a018a34c9be26937cbb0c6dbb727c69ce',1,'dlaf::matrix::Tile< const T, D >::ptr() const noexcept'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a7b8f0d5579d0f38743f123046780e860',1,'dlaf::matrix::Tile< const T, D >::ptr(const TileElementIndex &index) const noexcept'],['../classdlaf_1_1matrix_1_1_tile.html#ad14d471389721941e830f73d7ae0716d',1,'dlaf::matrix::Tile::ptr() const noexcept'],['../classdlaf_1_1matrix_1_1_tile.html#a9d16161523f90ce0f432af6e3eacb9f2',1,'dlaf::matrix::Tile::ptr(const TileElementIndex &index) const noexcept']]] ]; diff --git a/master/search/functions_e.js b/master/search/functions_e.js index ed85ad174b..5b478c4580 100644 --- a/master/search/functions_e.js +++ b/master/search/functions_e.js @@ -1,26 +1,26 @@ var searchData= [ - ['rangeend_1059',['rangeEnd',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a3aa72e4de5ae6c2d87b0643e08311df8',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['rangeendlocal_1060',['rangeEndLocal',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a7aa91d49db2332c93e5b2b2e1aadbecf',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['rangestart_1061',['rangeStart',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a09572f6a6461327f0ed6d0e471174410',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['rangestartlocal_1062',['rangeStartLocal',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#acef133d14867a04758e8914135c5d5f8',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['rank_1063',['rank',['../classdlaf_1_1comm_1_1_communicator.html#a52be17b02755dcbfbdcaa95ba5f9230c',1,'dlaf::comm::Communicator::rank()'],['../classdlaf_1_1comm_1_1_communicator_grid.html#a45574d05dd3cfb3d40d198cdf10b169e',1,'dlaf::comm::CommunicatorGrid::rank() const noexcept']]], - ['rankfullcommunicator_1064',['rankFullCommunicator',['../classdlaf_1_1comm_1_1_communicator_grid.html#ad9a0a0a05723adbe0e57171c7c1e2e93',1,'dlaf::comm::CommunicatorGrid']]], - ['rankglobalelement_1065',['rankGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#a8eac06b3be1805d7261a75809529a910',1,'dlaf::matrix::Distribution']]], - ['rankglobaltile_1066',['rankGlobalTile',['../classdlaf_1_1matrix_1_1_distribution.html#ae3f7cda513d213773cb4d8a0ba22b758',1,'dlaf::matrix::Distribution::rankGlobalTile(const GlobalTileIndex &global_tile) const noexcept'],['../classdlaf_1_1matrix_1_1_distribution.html#a49ff769692620e7f94cf796a65ff6a9e',1,'dlaf::matrix::Distribution::rankGlobalTile(SizeType global_tile) const noexcept'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a622f4764a792986112c89f282e04080f',1,'dlaf::matrix::internal::MatrixBase::rankGlobalTile()'],['../util__distribution_8h.html#ad89b3802ea0ed39625419b53e3f199d1',1,'dlaf::util::matrix::rankGlobalTile()']]], - ['rankindex_1067',['rankIndex',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a685f321909fc853e023bff712c964c2d',1,'dlaf::matrix::internal::MatrixBase']]], - ['read_1068',['read',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#abd8114d7c9ff03a2ff5c8613284135f6',1,'dlaf::matrix::Matrix< const T, D >::read(const LocalTileIndex &index) noexcept'],['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#a8485d802a7f318a845de46e1b4e48118',1,'dlaf::matrix::Matrix< const T, D >::read(const GlobalTileIndex &index)'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref_3_01const_01_t_00_01_d_01_4.html#a9267ad8ffed2505e1b4ebd18d57c0ea9',1,'dlaf::matrix::internal::MatrixRef< const T, D >::read(const LocalTileIndex &index) noexcept'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref_3_01const_01_t_00_01_d_01_4.html#ab3acdff3d92d906707c1b3faa44c0d7a',1,'dlaf::matrix::internal::MatrixRef< const T, D >::read(const GlobalTileIndex &index)'],['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a4631ad4a6fa72e74cf95798c527a48d1',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >::read()'],['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#a99845f6d6b238d3a8d543d20d3adb04d',1,'dlaf::matrix::internal::TilePipeline::read()']]], - ['readwrite_1069',['readwrite',['../structdlaf_1_1matrix_1_1_panel.html#aac41b4dfa833e4a24839fe1d470b835a',1,'dlaf::matrix::Panel::readwrite()'],['../classdlaf_1_1matrix_1_1_matrix.html#af486e66243b57df94b9822bd2553ae38',1,'dlaf::matrix::Matrix::readwrite()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref.html#ac7231b838136c72a1e8f8f95e96b9941',1,'dlaf::matrix::internal::MatrixRef::readwrite()'],['../classdlaf_1_1matrix_1_1_matrix.html#ad11e9036fe317b6328ae71585b19c811',1,'dlaf::matrix::Matrix::readwrite()'],['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#ab0a26ee4322ab4b7a3d250a82d072f68',1,'dlaf::matrix::internal::TilePipeline::readwrite()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref.html#a61863f1fc807c197441ac54d28f2dfef',1,'dlaf::matrix::internal::MatrixRef::readwrite()']]], - ['readwrite_5fwith_5fwrapper_1070',['readwrite_with_wrapper',['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#a17403152214a88994a75395f7bebfe3c',1,'dlaf::matrix::internal::TilePipeline']]], - ['receive_5ffrom_1071',['receive_from',['../basic_8h.html#a13040096b22855cefca83ec02f0c64c0',1,'dlaf::comm::sync::receive_from()'],['../sync_2broadcast_8h.html#a86fb5d23e8299cbd380a4e7d724c1112',1,'dlaf::comm::sync::broadcast::receive_from()']]], - ['reduce_1072',['reduce',['../sync_2reduce_8h.html#a22dfe268f1dcd2f08e2678af288063be',1,'dlaf::comm::sync']]], - ['reduceinplace_1073',['reduceInPlace',['../sync_2reduce_8h.html#a86b20000f6542c605c6b5f2bcc9e625b',1,'dlaf::comm::sync']]], - ['reducerecv_1074',['reduceRecv',['../sync_2reduce_8h.html#a03e9b0551a974dfa12fc9885272a1bee',1,'dlaf::comm::sync']]], - ['reducerecvinplace_1075',['reduceRecvInPlace',['../sync_2reduce_8h.html#a1ce87e8bcfccf05e7edd9d23e1f778f3',1,'dlaf::comm::sync']]], - ['reducesend_1076',['reduceSend',['../sync_2reduce_8h.html#a27df5989f95087d0259a3e381b1539b3',1,'dlaf::comm::sync']]], - ['reduction_5fto_5fband_1077',['reduction_to_band',['../reduction__to__band_8h.html#a5a3228ff1f7fa77896db5c9df2e95184',1,'dlaf::eigensolver::internal::reduction_to_band(comm::CommunicatorGrid grid, Matrix< T, D > &mat_a, const SizeType band_size)'],['../reduction__to__band_8h.html#a9b25dc548d7158468c9428f7155b6aa0',1,'dlaf::eigensolver::internal::reduction_to_band(Matrix< T, D > &mat_a, const SizeType band_size)']]], - ['reset_1078',['reset',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#acb87326419c25da556f027565b96c086',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >::reset()'],['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#a83ffbae7e4944baa1bc4bfbe5dd1100d',1,'dlaf::matrix::internal::TilePipeline::reset()'],['../classdlaf_1_1common_1_1_pipeline.html#a4a9e1a35ffad351b5b4e01b88ef8a447',1,'dlaf::common::Pipeline::reset()']]], - ['retiledsubpipeline_1079',['retiledSubPipeline',['../classdlaf_1_1matrix_1_1_matrix.html#aae1c8b22f9862944a006003f528595ff',1,'dlaf::matrix::Matrix']]], - ['retiledsubpipelineconst_1080',['retiledSubPipelineConst',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#aa10512ea4bde924a55e73bfe07050942',1,'dlaf::matrix::Matrix< const T, D >']]], - ['rowcommunicator_1081',['rowCommunicator',['../classdlaf_1_1comm_1_1_communicator_grid.html#ab13487adb2992d2cc50e06b498582391',1,'dlaf::comm::CommunicatorGrid']]] + ['rangeend_1060',['rangeEnd',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a3aa72e4de5ae6c2d87b0643e08311df8',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['rangeendlocal_1061',['rangeEndLocal',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a7aa91d49db2332c93e5b2b2e1aadbecf',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['rangestart_1062',['rangeStart',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a09572f6a6461327f0ed6d0e471174410',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['rangestartlocal_1063',['rangeStartLocal',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#acef133d14867a04758e8914135c5d5f8',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['rank_1064',['rank',['../classdlaf_1_1comm_1_1_communicator.html#a52be17b02755dcbfbdcaa95ba5f9230c',1,'dlaf::comm::Communicator::rank()'],['../classdlaf_1_1comm_1_1_communicator_grid.html#a45574d05dd3cfb3d40d198cdf10b169e',1,'dlaf::comm::CommunicatorGrid::rank() const noexcept']]], + ['rankfullcommunicator_1065',['rankFullCommunicator',['../classdlaf_1_1comm_1_1_communicator_grid.html#ad9a0a0a05723adbe0e57171c7c1e2e93',1,'dlaf::comm::CommunicatorGrid']]], + ['rankglobalelement_1066',['rankGlobalElement',['../classdlaf_1_1matrix_1_1_distribution.html#a8eac06b3be1805d7261a75809529a910',1,'dlaf::matrix::Distribution']]], + ['rankglobaltile_1067',['rankGlobalTile',['../classdlaf_1_1matrix_1_1_distribution.html#ae3f7cda513d213773cb4d8a0ba22b758',1,'dlaf::matrix::Distribution::rankGlobalTile(const GlobalTileIndex &global_tile) const noexcept'],['../classdlaf_1_1matrix_1_1_distribution.html#a49ff769692620e7f94cf796a65ff6a9e',1,'dlaf::matrix::Distribution::rankGlobalTile(SizeType global_tile) const noexcept'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a622f4764a792986112c89f282e04080f',1,'dlaf::matrix::internal::MatrixBase::rankGlobalTile()'],['../util__distribution_8h.html#ad89b3802ea0ed39625419b53e3f199d1',1,'dlaf::util::matrix::rankGlobalTile()']]], + ['rankindex_1068',['rankIndex',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a685f321909fc853e023bff712c964c2d',1,'dlaf::matrix::internal::MatrixBase']]], + ['read_1069',['read',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#abd8114d7c9ff03a2ff5c8613284135f6',1,'dlaf::matrix::Matrix< const T, D >::read(const LocalTileIndex &index) noexcept'],['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#a8485d802a7f318a845de46e1b4e48118',1,'dlaf::matrix::Matrix< const T, D >::read(const GlobalTileIndex &index)'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref_3_01const_01_t_00_01_d_01_4.html#a9267ad8ffed2505e1b4ebd18d57c0ea9',1,'dlaf::matrix::internal::MatrixRef< const T, D >::read(const LocalTileIndex &index) noexcept'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref_3_01const_01_t_00_01_d_01_4.html#ab3acdff3d92d906707c1b3faa44c0d7a',1,'dlaf::matrix::internal::MatrixRef< const T, D >::read(const GlobalTileIndex &index)'],['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a4631ad4a6fa72e74cf95798c527a48d1',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >::read()'],['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#a99845f6d6b238d3a8d543d20d3adb04d',1,'dlaf::matrix::internal::TilePipeline::read()']]], + ['readwrite_1070',['readwrite',['../structdlaf_1_1matrix_1_1_panel.html#aac41b4dfa833e4a24839fe1d470b835a',1,'dlaf::matrix::Panel::readwrite()'],['../classdlaf_1_1matrix_1_1_matrix.html#af486e66243b57df94b9822bd2553ae38',1,'dlaf::matrix::Matrix::readwrite()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref.html#ac7231b838136c72a1e8f8f95e96b9941',1,'dlaf::matrix::internal::MatrixRef::readwrite()'],['../classdlaf_1_1matrix_1_1_matrix.html#ad11e9036fe317b6328ae71585b19c811',1,'dlaf::matrix::Matrix::readwrite()'],['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#ab0a26ee4322ab4b7a3d250a82d072f68',1,'dlaf::matrix::internal::TilePipeline::readwrite()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_ref.html#a61863f1fc807c197441ac54d28f2dfef',1,'dlaf::matrix::internal::MatrixRef::readwrite()']]], + ['readwrite_5fwith_5fwrapper_1071',['readwrite_with_wrapper',['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#a17403152214a88994a75395f7bebfe3c',1,'dlaf::matrix::internal::TilePipeline']]], + ['receive_5ffrom_1072',['receive_from',['../basic_8h.html#a13040096b22855cefca83ec02f0c64c0',1,'dlaf::comm::sync::receive_from()'],['../sync_2broadcast_8h.html#a86fb5d23e8299cbd380a4e7d724c1112',1,'dlaf::comm::sync::broadcast::receive_from()']]], + ['reduce_1073',['reduce',['../sync_2reduce_8h.html#a22dfe268f1dcd2f08e2678af288063be',1,'dlaf::comm::sync']]], + ['reduceinplace_1074',['reduceInPlace',['../sync_2reduce_8h.html#a86b20000f6542c605c6b5f2bcc9e625b',1,'dlaf::comm::sync']]], + ['reducerecv_1075',['reduceRecv',['../sync_2reduce_8h.html#a03e9b0551a974dfa12fc9885272a1bee',1,'dlaf::comm::sync']]], + ['reducerecvinplace_1076',['reduceRecvInPlace',['../sync_2reduce_8h.html#a1ce87e8bcfccf05e7edd9d23e1f778f3',1,'dlaf::comm::sync']]], + ['reducesend_1077',['reduceSend',['../sync_2reduce_8h.html#a27df5989f95087d0259a3e381b1539b3',1,'dlaf::comm::sync']]], + ['reduction_5fto_5fband_1078',['reduction_to_band',['../reduction__to__band_8h.html#a5a3228ff1f7fa77896db5c9df2e95184',1,'dlaf::eigensolver::internal::reduction_to_band(comm::CommunicatorGrid grid, Matrix< T, D > &mat_a, const SizeType band_size)'],['../reduction__to__band_8h.html#a9b25dc548d7158468c9428f7155b6aa0',1,'dlaf::eigensolver::internal::reduction_to_band(Matrix< T, D > &mat_a, const SizeType band_size)']]], + ['reset_1079',['reset',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#acb87326419c25da556f027565b96c086',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >::reset()'],['../classdlaf_1_1matrix_1_1internal_1_1_tile_pipeline.html#a83ffbae7e4944baa1bc4bfbe5dd1100d',1,'dlaf::matrix::internal::TilePipeline::reset()'],['../classdlaf_1_1common_1_1_pipeline.html#a4a9e1a35ffad351b5b4e01b88ef8a447',1,'dlaf::common::Pipeline::reset()']]], + ['retiledsubpipeline_1080',['retiledSubPipeline',['../classdlaf_1_1matrix_1_1_matrix.html#aae1c8b22f9862944a006003f528595ff',1,'dlaf::matrix::Matrix']]], + ['retiledsubpipelineconst_1081',['retiledSubPipelineConst',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#aa10512ea4bde924a55e73bfe07050942',1,'dlaf::matrix::Matrix< const T, D >']]], + ['rowcommunicator_1082',['rowCommunicator',['../classdlaf_1_1comm_1_1_communicator_grid.html#ab13487adb2992d2cc50e06b498582391',1,'dlaf::comm::CommunicatorGrid']]] ]; diff --git a/master/search/functions_f.js b/master/search/functions_f.js index aef1cfe46c..1938100039 100644 --- a/master/search/functions_f.js +++ b/master/search/functions_f.js @@ -1,44 +1,45 @@ var searchData= [ - ['samesign_1082',['sameSign',['../util__math_8h.html#a0922553e7cd5d09cc857bb33e8a1b91b',1,'dlaf::util']]], - ['scheduleallreduce_1083',['scheduleAllReduce',['../kernels_2all__reduce_8h.html#a8cb64ca1859aef0b95cdcfa8a1f05297',1,'dlaf::comm']]], - ['scheduleallreduceinplace_1084',['scheduleAllReduceInPlace',['../kernels_2all__reduce_8h.html#a689b3d06eea6e5d2c9899521e970ecb0',1,'dlaf::comm']]], - ['scheduleallsump2p_1085',['scheduleAllSumP2P',['../p2p__allsum_8h.html#ac786ec776d72b61529c8a79c5baffff4',1,'dlaf::comm']]], - ['schedulerecvbcast_1086',['scheduleRecvBcast',['../kernels_2broadcast_8h.html#a3645d0cfc3caad43c37c355896a7215f',1,'dlaf::comm']]], - ['schedulereducerecvinplace_1087',['scheduleReduceRecvInPlace',['../kernels_2reduce_8h.html#a89af8ab199d6ba8902cc962122477f00',1,'dlaf::comm']]], - ['schedulereducesend_1088',['scheduleReduceSend',['../kernels_2reduce_8h.html#a60899e3a349b0defe79b1561045a373a',1,'dlaf::comm']]], - ['schedulesendbcast_1089',['scheduleSendBcast',['../kernels_2broadcast_8h.html#a98b583f24caaccdf37f3db1f3b46b457',1,'dlaf::comm']]], - ['select_1090',['select',['../matrix_8h.html#a1abc47c06dc1c46c9bdc2425090a02ab',1,'dlaf::matrix']]], - ['selectgeneric_1091',['selectGeneric',['../matrix_8h.html#ac3737882aaaf23b1f901da6396202ba1',1,'dlaf::matrix::internal']]], - ['selectread_1092',['selectRead',['../matrix_8h.html#a02db5399b6bc7e53a162f5939ed7ca20',1,'dlaf::matrix']]], - ['send_1093',['send',['../sync_2broadcast_8h.html#a313a9dc3d212f70d7af273fa0c681aee',1,'dlaf::comm::sync::broadcast']]], - ['send_5fto_1094',['send_to',['../basic_8h.html#adfd3205605f800afb2208146565a3bd4',1,'dlaf::comm::sync']]], - ['set_1095',['set',['../util__matrix_8h.html#a1f796f1fd4dd705c90ac141d687843b2',1,'dlaf::matrix::util::set(Matrix< T, Device::CPU > &matrix, ElementGetter el_f)'],['../util__matrix_8h.html#af07478cd4a633a1422e160863d3d8510',1,'dlaf::matrix::util::set(Matrix< T, Device::CPU > &matrix, ElementGetter el_f, const blas::Op op)']]], - ['set0_1096',['set0',['../lapack_2tile_8h.html#ab094eeac6052422b50a298b42a947251',1,'dlaf::tile::set0()'],['../util__matrix_8h.html#a6cdf6afc18a6456ed68b3fd1dffa9c39',1,'dlaf::matrix::util::set0(pika::execution::thread_priority priority, LocalTileIndex begin, LocalTileSize sz, Matrix< T, D > &matrix)'],['../util__matrix_8h.html#a79688b3669b67c143114cf2eef3ba69b',1,'dlaf::matrix::util::set0(pika::execution::thread_priority priority, Panel< axis, T, D, storage > &panel)']]], - ['set_5frandom_1097',['set_random',['../util__matrix_8h.html#a8e8c0d0551fbda5968d6c84eb3c70fc0',1,'dlaf::matrix::util']]], - ['set_5frandom_5fhermitian_1098',['set_random_hermitian',['../util__matrix_8h.html#a3f7866203ad62c615d11ca18af4d4476',1,'dlaf::matrix::util']]], - ['set_5frandom_5fhermitian_5fpositive_5fdefinite_1099',['set_random_hermitian_positive_definite',['../util__matrix_8h.html#ae2afbf7cdec8225e544b7b71aa52ee58',1,'dlaf::matrix::util']]], - ['set_5frandom_5fhermitian_5fwith_5foffset_1100',['set_random_hermitian_with_offset',['../util__matrix_8h.html#a2f1823d0004b53105c4d4b7373208133',1,'dlaf::matrix::util::internal']]], - ['setheight_1101',['setHeight',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a5ffd11dcc29ca2731c0cf232cb599d8e',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['setrange_1102',['setRange',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a88f387bed0a5cf8dabd5f6c5b3d2c3b0',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['setrangeend_1103',['setRangeEnd',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a542319871ee2379e84651d7dd91f0749',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['setrangestart_1104',['setRangeStart',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a621d6ffd26cb962792c4087159df2769',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['settile_1105',['setTile',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#aa9c0ce49a7829488736d99011c5ac6c9',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['setupinternalmatrix_1106',['setupInternalMatrix',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a11f5026c35f76adb7c99c725dc969c44',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['setwidth_1107',['setWidth',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a74e5d5d87edfb1d2de8a54cfa812bd04',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['sharereadwritetile_1108',['shareReadWriteTile',['../matrix_2tile_8h.html#aa8e4a64946c725cef06834fb80b75276',1,'dlaf::matrix']]], - ['single_5ftile_5fper_5fblock_1109',['single_tile_per_block',['../util__matrix_8h.html#a4e47364118c7bc9bb3d038ae4ec8a35c',1,'dlaf::matrix']]], - ['size_1110',['size',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#adc5a25970dab7cdea07e2f98328df805',1,'dlaf::matrix::internal::MatrixBase::size()'],['../classdlaf_1_1comm_1_1_communicator.html#a415f5d36c3033320074df329163c3127',1,'dlaf::comm::Communicator::size()'],['../classdlaf_1_1comm_1_1_communicator_grid.html#a9307e8d79bffad58211c317c92c7dc77',1,'dlaf::comm::CommunicatorGrid::size()'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a7ef713ad7d24caccfc0863ab4b8481f2',1,'dlaf::matrix::Tile< const T, D >::size()'],['../classdlaf_1_1memory_1_1_memory_chunk.html#a886c87812f0a8eb9071c70477ac9f042',1,'dlaf::memory::MemoryChunk::size()'],['../classdlaf_1_1memory_1_1_memory_view.html#a5ae9491601035e4f2fd87352916f84c2',1,'dlaf::memory::MemoryView::size()']]], - ['splittile_1111',['splitTile',['../matrix_2tile_8h.html#ae46de76ccc35985387f6820b1db9fb51',1,'dlaf::matrix::splitTile(ReadOnlyTileSender< T, D > tile, const SubTileSpec &spec)'],['../matrix_2tile_8h.html#a7a2383f364417fce38d6e7038cb18bd1',1,'dlaf::matrix::splitTile(ReadOnlyTileSender< T, D > tile, const std::vector< SubTileSpec > &specs)'],['../matrix_2tile_8h.html#ae5697bd5c424a95890978dfdc4739bf6',1,'dlaf::matrix::splitTile(ReadWriteTileSender< T, D > &&tile, const SubTileSpec &spec)']]], - ['splittiledisjoint_1112',['splitTileDisjoint',['../matrix_2tile_8h.html#a4c15e2e57d6336347e6e19d945bd650e',1,'dlaf::matrix']]], - ['square_5fblocksize_1113',['square_blocksize',['../util__matrix_8h.html#a355682eaf279129f2aa06c8e96eaa61b',1,'dlaf::matrix']]], - ['square_5fsize_1114',['square_size',['../util__tile_8h.html#adfd1e0b37d590f9f6b56cdb276688f0f',1,'dlaf::tile::square_size()'],['../util__matrix_8h.html#aae6464887dae32e01668a32e71397cb0',1,'dlaf::matrix::square_size()']]], - ['stedc_1115',['stedc',['../lapack_2tile_8h.html#a68163899b7b15f447fdbb05e475d9cc6',1,'dlaf::tile']]], - ['stride_1116',['stride',['../structdlaf_1_1common_1_1_data_descriptor.html#ab4c4694a381e4cfb44d304cf150743f9',1,'dlaf::common::DataDescriptor']]], - ['submatrixview_1117',['SubMatrixView',['../structdlaf_1_1matrix_1_1_sub_matrix_view.html#a7c7cde76a018f82ab23c749de90fe46d',1,'dlaf::matrix::SubMatrixView']]], - ['subpanelview_1118',['SubPanelView',['../structdlaf_1_1matrix_1_1_sub_panel_view.html#a556b70975f5928ca81f2196d549be232',1,'dlaf::matrix::SubPanelView']]], - ['subpipeline_1119',['subPipeline',['../classdlaf_1_1matrix_1_1_matrix.html#a720bcfeb6db4c2f2d6e144f8570b8e23',1,'dlaf::matrix::Matrix']]], - ['subpipelineconst_1120',['subPipelineConst',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#aa00bb4dd8e50ec14ad04c8d600982d8c',1,'dlaf::matrix::Matrix< const T, D >']]], - ['subtilereference_1121',['subTileReference',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a4adf525073d06baaa47b06886272da41',1,'dlaf::matrix::Tile< const T, D >::subTileReference()'],['../classdlaf_1_1matrix_1_1_tile.html#a670161e49f6a18b5979e9938e4e7e867',1,'dlaf::matrix::Tile::subTileReference()']]], - ['sum_1122',['sum',['../util__math_8h.html#afa826e9affbc0fc9e9dbe24d233a9ffb',1,'dlaf::util::size_t::sum()'],['../util__math_8h.html#ae1dbf257cc807e5bdba5a63087e3a2bc',1,'dlaf::util::ptrdiff_t::sum()']]] + ['samesign_1083',['sameSign',['../util__math_8h.html#a0922553e7cd5d09cc857bb33e8a1b91b',1,'dlaf::util']]], + ['scheduleallreduce_1084',['scheduleAllReduce',['../kernels_2all__reduce_8h.html#a8cb64ca1859aef0b95cdcfa8a1f05297',1,'dlaf::comm']]], + ['scheduleallreduceinplace_1085',['scheduleAllReduceInPlace',['../kernels_2all__reduce_8h.html#a689b3d06eea6e5d2c9899521e970ecb0',1,'dlaf::comm']]], + ['scheduleallsump2p_1086',['scheduleAllSumP2P',['../p2p__allsum_8h.html#ac786ec776d72b61529c8a79c5baffff4',1,'dlaf::comm']]], + ['schedulerecvbcast_1087',['scheduleRecvBcast',['../kernels_2broadcast_8h.html#a3645d0cfc3caad43c37c355896a7215f',1,'dlaf::comm']]], + ['schedulereducerecvinplace_1088',['scheduleReduceRecvInPlace',['../kernels_2reduce_8h.html#a89af8ab199d6ba8902cc962122477f00',1,'dlaf::comm']]], + ['schedulereducesend_1089',['scheduleReduceSend',['../kernels_2reduce_8h.html#a60899e3a349b0defe79b1561045a373a',1,'dlaf::comm']]], + ['schedulesendbcast_1090',['scheduleSendBcast',['../kernels_2broadcast_8h.html#a98b583f24caaccdf37f3db1f3b46b457',1,'dlaf::comm']]], + ['select_1091',['select',['../matrix_8h.html#a1abc47c06dc1c46c9bdc2425090a02ab',1,'dlaf::matrix']]], + ['selectgeneric_1092',['selectGeneric',['../matrix_8h.html#ac3737882aaaf23b1f901da6396202ba1',1,'dlaf::matrix::internal']]], + ['selectread_1093',['selectRead',['../matrix_8h.html#a02db5399b6bc7e53a162f5939ed7ca20',1,'dlaf::matrix']]], + ['send_1094',['send',['../sync_2broadcast_8h.html#a313a9dc3d212f70d7af273fa0c681aee',1,'dlaf::comm::sync::broadcast']]], + ['send_5fto_1095',['send_to',['../basic_8h.html#adfd3205605f800afb2208146565a3bd4',1,'dlaf::comm::sync']]], + ['set_1096',['set',['../util__matrix_8h.html#a1f796f1fd4dd705c90ac141d687843b2',1,'dlaf::matrix::util::set(Matrix< T, Device::CPU > &matrix, ElementGetter el_f)'],['../util__matrix_8h.html#af07478cd4a633a1422e160863d3d8510',1,'dlaf::matrix::util::set(Matrix< T, Device::CPU > &matrix, ElementGetter el_f, const blas::Op op)']]], + ['set0_1097',['set0',['../lapack_2tile_8h.html#ab094eeac6052422b50a298b42a947251',1,'dlaf::tile::set0()'],['../util__matrix_8h.html#a6cdf6afc18a6456ed68b3fd1dffa9c39',1,'dlaf::matrix::util::set0(pika::execution::thread_priority priority, LocalTileIndex begin, LocalTileSize sz, Matrix< T, D > &matrix)'],['../util__matrix_8h.html#a79688b3669b67c143114cf2eef3ba69b',1,'dlaf::matrix::util::set0(pika::execution::thread_priority priority, Panel< axis, T, D, storage > &panel)']]], + ['set_5frandom_1098',['set_random',['../util__matrix_8h.html#a8e8c0d0551fbda5968d6c84eb3c70fc0',1,'dlaf::matrix::util']]], + ['set_5frandom_5fhermitian_1099',['set_random_hermitian',['../util__matrix_8h.html#a3f7866203ad62c615d11ca18af4d4476',1,'dlaf::matrix::util']]], + ['set_5frandom_5fhermitian_5fbanded_1100',['set_random_hermitian_banded',['../util__matrix_8h.html#a33e83c042118c6da34d15ee21202ce79',1,'dlaf::matrix::util']]], + ['set_5frandom_5fhermitian_5fpositive_5fdefinite_1101',['set_random_hermitian_positive_definite',['../util__matrix_8h.html#ae2afbf7cdec8225e544b7b71aa52ee58',1,'dlaf::matrix::util']]], + ['set_5frandom_5fhermitian_5fwith_5foffset_1102',['set_random_hermitian_with_offset',['../util__matrix_8h.html#a5f65c6eb2c9e4c3e830a0e5dcf1ef287',1,'dlaf::matrix::util::internal']]], + ['setheight_1103',['setHeight',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a5ffd11dcc29ca2731c0cf232cb599d8e',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['setrange_1104',['setRange',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a88f387bed0a5cf8dabd5f6c5b3d2c3b0',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['setrangeend_1105',['setRangeEnd',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a542319871ee2379e84651d7dd91f0749',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['setrangestart_1106',['setRangeStart',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a621d6ffd26cb962792c4087159df2769',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['settile_1107',['setTile',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#aa9c0ce49a7829488736d99011c5ac6c9',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['setupinternalmatrix_1108',['setupInternalMatrix',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a11f5026c35f76adb7c99c725dc969c44',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['setwidth_1109',['setWidth',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a74e5d5d87edfb1d2de8a54cfa812bd04',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['sharereadwritetile_1110',['shareReadWriteTile',['../matrix_2tile_8h.html#aa8e4a64946c725cef06834fb80b75276',1,'dlaf::matrix']]], + ['single_5ftile_5fper_5fblock_1111',['single_tile_per_block',['../util__matrix_8h.html#a4e47364118c7bc9bb3d038ae4ec8a35c',1,'dlaf::matrix']]], + ['size_1112',['size',['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#adc5a25970dab7cdea07e2f98328df805',1,'dlaf::matrix::internal::MatrixBase::size()'],['../classdlaf_1_1comm_1_1_communicator.html#a415f5d36c3033320074df329163c3127',1,'dlaf::comm::Communicator::size()'],['../classdlaf_1_1comm_1_1_communicator_grid.html#a9307e8d79bffad58211c317c92c7dc77',1,'dlaf::comm::CommunicatorGrid::size()'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a7ef713ad7d24caccfc0863ab4b8481f2',1,'dlaf::matrix::Tile< const T, D >::size()'],['../classdlaf_1_1memory_1_1_memory_chunk.html#a886c87812f0a8eb9071c70477ac9f042',1,'dlaf::memory::MemoryChunk::size()'],['../classdlaf_1_1memory_1_1_memory_view.html#a5ae9491601035e4f2fd87352916f84c2',1,'dlaf::memory::MemoryView::size()']]], + ['splittile_1113',['splitTile',['../matrix_2tile_8h.html#ae46de76ccc35985387f6820b1db9fb51',1,'dlaf::matrix::splitTile(ReadOnlyTileSender< T, D > tile, const SubTileSpec &spec)'],['../matrix_2tile_8h.html#a7a2383f364417fce38d6e7038cb18bd1',1,'dlaf::matrix::splitTile(ReadOnlyTileSender< T, D > tile, const std::vector< SubTileSpec > &specs)'],['../matrix_2tile_8h.html#ae5697bd5c424a95890978dfdc4739bf6',1,'dlaf::matrix::splitTile(ReadWriteTileSender< T, D > &&tile, const SubTileSpec &spec)']]], + ['splittiledisjoint_1114',['splitTileDisjoint',['../matrix_2tile_8h.html#a4c15e2e57d6336347e6e19d945bd650e',1,'dlaf::matrix']]], + ['square_5fblocksize_1115',['square_blocksize',['../util__matrix_8h.html#a355682eaf279129f2aa06c8e96eaa61b',1,'dlaf::matrix']]], + ['square_5fsize_1116',['square_size',['../util__tile_8h.html#adfd1e0b37d590f9f6b56cdb276688f0f',1,'dlaf::tile::square_size()'],['../util__matrix_8h.html#aae6464887dae32e01668a32e71397cb0',1,'dlaf::matrix::square_size()']]], + ['stedc_1117',['stedc',['../lapack_2tile_8h.html#a68163899b7b15f447fdbb05e475d9cc6',1,'dlaf::tile']]], + ['stride_1118',['stride',['../structdlaf_1_1common_1_1_data_descriptor.html#ab4c4694a381e4cfb44d304cf150743f9',1,'dlaf::common::DataDescriptor']]], + ['submatrixview_1119',['SubMatrixView',['../structdlaf_1_1matrix_1_1_sub_matrix_view.html#a7c7cde76a018f82ab23c749de90fe46d',1,'dlaf::matrix::SubMatrixView']]], + ['subpanelview_1120',['SubPanelView',['../structdlaf_1_1matrix_1_1_sub_panel_view.html#a556b70975f5928ca81f2196d549be232',1,'dlaf::matrix::SubPanelView']]], + ['subpipeline_1121',['subPipeline',['../classdlaf_1_1matrix_1_1_matrix.html#a720bcfeb6db4c2f2d6e144f8570b8e23',1,'dlaf::matrix::Matrix']]], + ['subpipelineconst_1122',['subPipelineConst',['../classdlaf_1_1matrix_1_1_matrix_3_01const_01_t_00_01_d_01_4.html#aa00bb4dd8e50ec14ad04c8d600982d8c',1,'dlaf::matrix::Matrix< const T, D >']]], + ['subtilereference_1123',['subTileReference',['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a4adf525073d06baaa47b06886272da41',1,'dlaf::matrix::Tile< const T, D >::subTileReference()'],['../classdlaf_1_1matrix_1_1_tile.html#a670161e49f6a18b5979e9938e4e7e867',1,'dlaf::matrix::Tile::subTileReference()']]], + ['sum_1124',['sum',['../util__math_8h.html#afa826e9affbc0fc9e9dbe24d233a9ffb',1,'dlaf::util::size_t::sum()'],['../util__math_8h.html#ae1dbf257cc807e5bdba5a63087e3a2bc',1,'dlaf::util::ptrdiff_t::sum()']]] ]; diff --git a/master/search/related_0.js b/master/search/related_0.js index 3263f89a89..a7411143ae 100644 --- a/master/search/related_0.js +++ b/master/search/related_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['isindexinrange_1189',['isIndexInRange',['../classdlaf_1_1common_1_1_iterable_range2_d.html#a833f81c7ed8c08d0e995d9c97e8aa935',1,'dlaf::common::IterableRange2D']]] + ['isindexinrange_1191',['isIndexInRange',['../classdlaf_1_1common_1_1_iterable_range2_d.html#a833f81c7ed8c08d0e995d9c97e8aa935',1,'dlaf::common::IterableRange2D']]] ]; diff --git a/master/search/related_1.js b/master/search/related_1.js index 4350063b6e..cf01d46f23 100644 --- a/master/search/related_1.js +++ b/master/search/related_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['make_5fcommunicator_5fmanaged_1190',['make_communicator_managed',['../classdlaf_1_1comm_1_1_communicator.html#ada042e7529d465519d9fb98e004d6a55',1,'dlaf::comm::Communicator']]] + ['make_5fcommunicator_5fmanaged_1192',['make_communicator_managed',['../classdlaf_1_1comm_1_1_communicator.html#ada042e7529d465519d9fb98e004d6a55',1,'dlaf::comm::Communicator']]] ]; diff --git a/master/search/related_2.js b/master/search/related_2.js index 21ec732b29..cfef7f9eee 100644 --- a/master/search/related_2.js +++ b/master/search/related_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['operator_3c_3c_1191',['operator<<',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a9a65958ab367757d900bd588a405df77',1,'dlaf::common::internal::basic_coords::operator<<()'],['../classdlaf_1_1comm_1_1_communicator_grid.html#ac215ee8142401d06aba72494c8aa8b9f',1,'dlaf::comm::CommunicatorGrid::operator<<()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a054e897882d7ab913c1b63af96e87fec',1,'dlaf::matrix::internal::MatrixBase::operator<<()'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a45b5556596386e6bb46e0dc61b838811',1,'dlaf::matrix::Tile< const T, D >::operator<<()']]] + ['operator_3c_3c_1193',['operator<<',['../classdlaf_1_1common_1_1internal_1_1basic__coords.html#a9a65958ab367757d900bd588a405df77',1,'dlaf::common::internal::basic_coords::operator<<()'],['../classdlaf_1_1comm_1_1_communicator_grid.html#ac215ee8142401d06aba72494c8aa8b9f',1,'dlaf::comm::CommunicatorGrid::operator<<()'],['../classdlaf_1_1matrix_1_1internal_1_1_matrix_base.html#a054e897882d7ab913c1b63af96e87fec',1,'dlaf::matrix::internal::MatrixBase::operator<<()'],['../classdlaf_1_1matrix_1_1_tile_3_01const_01_t_00_01_d_01_4.html#a45b5556596386e6bb46e0dc61b838811',1,'dlaf::matrix::Tile< const T, D >::operator<<()']]] ]; diff --git a/master/search/typedefs_0.js b/master/search/typedefs_0.js index cb9f66f4ee..78dfa714b8 100644 --- a/master/search/typedefs_0.js +++ b/master/search/typedefs_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['dlaf_5fcomplex_5fc_1180',['dlaf_complex_c',['../utils_8h.html#a479c49dd002bc74558f6f83052789274',1,'utils.h']]], - ['dlaf_5fcomplex_5fz_1181',['dlaf_complex_z',['../utils_8h.html#a2632a3b885bc71161ec75e0192e97094',1,'utils.h']]] + ['dlaf_5fcomplex_5fc_1182',['dlaf_complex_c',['../utils_8h.html#a479c49dd002bc74558f6f83052789274',1,'utils.h']]], + ['dlaf_5fcomplex_5fz_1183',['dlaf_complex_z',['../utils_8h.html#a2632a3b885bc71161ec75e0192e97094',1,'utils.h']]] ]; diff --git a/master/search/typedefs_1.js b/master/search/typedefs_1.js index 54cd24ac58..7702a70531 100644 --- a/master/search/typedefs_1.js +++ b/master/search/typedefs_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['enable_5fif_5fconvertible_5ft_1182',['enable_if_convertible_t',['../traits_8h.html#a234bd5c290fe869e9856e7e2d3667baf',1,'dlaf']]], - ['enable_5fif_5fsignature_5ft_1183',['enable_if_signature_t',['../traits_8h.html#ada84be4e014ed8f3d91175b3856104e5',1,'dlaf']]] + ['enable_5fif_5fconvertible_5ft_1184',['enable_if_convertible_t',['../traits_8h.html#a234bd5c290fe869e9856e7e2d3667baf',1,'dlaf']]], + ['enable_5fif_5fsignature_5ft_1185',['enable_if_signature_t',['../traits_8h.html#ada84be4e014ed8f3d91175b3856104e5',1,'dlaf']]] ]; diff --git a/master/search/typedefs_2.js b/master/search/typedefs_2.js index 2bef1703ed..69f1b04688 100644 --- a/master/search/typedefs_2.js +++ b/master/search/typedefs_2.js @@ -1,5 +1,5 @@ var searchData= [ - ['index2d_1184',['Index2D',['../communicator__grid_8h.html#af5204c68f1436b89ad06c653b710432e',1,'dlaf::comm']]], - ['indext_5fmpi_1185',['IndexT_MPI',['../communicator_8h.html#a2b48f62607e5e128dff19ceac22093e9',1,'dlaf::comm']]] + ['index2d_1186',['Index2D',['../communicator__grid_8h.html#af5204c68f1436b89ad06c653b710432e',1,'dlaf::comm']]], + ['indext_5fmpi_1187',['IndexT_MPI',['../communicator_8h.html#a2b48f62607e5e128dff19ceac22093e9',1,'dlaf::comm']]] ]; diff --git a/master/search/typedefs_3.js b/master/search/typedefs_3.js index be681f6656..1167690346 100644 --- a/master/search/typedefs_3.js +++ b/master/search/typedefs_3.js @@ -1,5 +1,5 @@ var searchData= [ - ['size2d_1186',['Size2D',['../communicator__grid_8h.html#a1af44f2ea119a10f873e64cf048ba94a',1,'dlaf::comm']]], - ['submatrixspec_1187',['SubMatrixSpec',['../matrix__ref_8h.html#a4806acd75bd31c5913a7c20b49da1e62',1,'dlaf::matrix::internal']]] + ['size2d_1188',['Size2D',['../communicator__grid_8h.html#a1af44f2ea119a10f873e64cf048ba94a',1,'dlaf::comm']]], + ['submatrixspec_1189',['SubMatrixSpec',['../matrix__ref_8h.html#a4806acd75bd31c5913a7c20b49da1e62',1,'dlaf::matrix::internal']]] ]; diff --git a/master/search/variables_0.js b/master/search/variables_0.js index 6d86c30afa..fee0e664e5 100644 --- a/master/search/variables_0.js +++ b/master/search/variables_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['bias_5f_1160',['bias_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a2915562160f1b12d3f9e0f49b339988a',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]] + ['bias_5f_1162',['bias_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a2915562160f1b12d3f9e0f49b339988a',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]] ]; diff --git a/master/search/variables_1.js b/master/search/variables_1.js index 026834e837..923a924dd5 100644 --- a/master/search/variables_1.js +++ b/master/search/variables_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['classic_5ftype_5f_1161',['classic_type_',['../classdlaf_1_1comm_1_1_message.html#a49412018d3ffdfdbd87690f59fb54a14',1,'dlaf::comm::Message']]], - ['custom_5ftype_5f_1162',['custom_type_',['../classdlaf_1_1comm_1_1_message.html#a0172d85a148bcb16f9661a76834fe384',1,'dlaf::comm::Message']]] + ['classic_5ftype_5f_1163',['classic_type_',['../classdlaf_1_1comm_1_1_message.html#a49412018d3ffdfdbd87690f59fb54a14',1,'dlaf::comm::Message']]], + ['custom_5ftype_5f_1164',['custom_type_',['../classdlaf_1_1comm_1_1_message.html#a0172d85a148bcb16f9661a76834fe384',1,'dlaf::comm::Message']]] ]; diff --git a/master/search/variables_2.js b/master/search/variables_2.js index 807eaee2d4..485e793a31 100644 --- a/master/search/variables_2.js +++ b/master/search/variables_2.js @@ -1,6 +1,6 @@ var searchData= [ - ['data_5f_1163',['data_',['../classdlaf_1_1comm_1_1_message.html#a93caa3c42cfc16e9a27c65c37fa42c72',1,'dlaf::comm::Message::data_()'],['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a0aadac7bac5b0878d00305d21666c342',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >::data_()']]], - ['dim_5f_1164',['dim_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a11827cae3d4fbece622dc9dc2d0a5014',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['dist_5fmatrix_5f_1165',['dist_matrix_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#ab991456b59d36ac84dd9277edefc42ac',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]] + ['data_5f_1165',['data_',['../classdlaf_1_1comm_1_1_message.html#a93caa3c42cfc16e9a27c65c37fa42c72',1,'dlaf::comm::Message::data_()'],['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a0aadac7bac5b0878d00305d21666c342',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >::data_()']]], + ['dim_5f_1166',['dim_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a11827cae3d4fbece622dc9dc2d0a5014',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['dist_5fmatrix_5f_1167',['dist_matrix_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#ab991456b59d36ac84dd9277edefc42ac',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]] ]; diff --git a/master/search/variables_3.js b/master/search/variables_3.js index 76d970eb8a..d75f9459ab 100644 --- a/master/search/variables_3.js +++ b/master/search/variables_3.js @@ -1,5 +1,5 @@ var searchData= [ - ['end_5f_1166',['end_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a6d52e171776a86d6a42b2e0cc7a26e7b',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['external_5f_1167',['external_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a785fd3e6c916a2ae30efb17f3449c230',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]] + ['end_5f_1168',['end_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a6d52e171776a86d6a42b2e0cc7a26e7b',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['external_5f_1169',['external_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a785fd3e6c916a2ae30efb17f3449c230',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]] ]; diff --git a/master/search/variables_4.js b/master/search/variables_4.js index 2a3dfa2595..5ad0317687 100644 --- a/master/search/variables_4.js +++ b/master/search/variables_4.js @@ -1,6 +1,6 @@ var searchData= [ - ['i_1168',['i',['../struct_d_l_a_f__descriptor.html#a35753e2a24f31d479019b186e71f919d',1,'DLAF_descriptor']]], - ['internal_5f_1169',['internal_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#adf84f8c3806212547305082bf21ac006',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['isrc_1170',['isrc',['../struct_d_l_a_f__descriptor.html#aaf3ffdca2bf377353f1248f2339d9249',1,'DLAF_descriptor']]] + ['i_1170',['i',['../struct_d_l_a_f__descriptor.html#a35753e2a24f31d479019b186e71f919d',1,'DLAF_descriptor']]], + ['internal_5f_1171',['internal_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#adf84f8c3806212547305082bf21ac006',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['isrc_1172',['isrc',['../struct_d_l_a_f__descriptor.html#aaf3ffdca2bf377353f1248f2339d9249',1,'DLAF_descriptor']]] ]; diff --git a/master/search/variables_5.js b/master/search/variables_5.js index 967744636e..2c95c10529 100644 --- a/master/search/variables_5.js +++ b/master/search/variables_5.js @@ -1,5 +1,5 @@ var searchData= [ - ['j_1171',['j',['../struct_d_l_a_f__descriptor.html#ad83b86ea0c6cad9304e36866243ce8a7',1,'DLAF_descriptor']]], - ['jsrc_1172',['jsrc',['../struct_d_l_a_f__descriptor.html#a63124d265688490f0d87e9f7ce754bdc',1,'DLAF_descriptor']]] + ['j_1173',['j',['../struct_d_l_a_f__descriptor.html#ad83b86ea0c6cad9304e36866243ce8a7',1,'DLAF_descriptor']]], + ['jsrc_1174',['jsrc',['../struct_d_l_a_f__descriptor.html#a63124d265688490f0d87e9f7ce754bdc',1,'DLAF_descriptor']]] ]; diff --git a/master/search/variables_6.js b/master/search/variables_6.js index 3f1539804c..bceb0bc409 100644 --- a/master/search/variables_6.js +++ b/master/search/variables_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['ld_1173',['ld',['../struct_d_l_a_f__descriptor.html#a323ad31facefd124f573fe5a23388ac5',1,'DLAF_descriptor']]] + ['ld_1175',['ld',['../struct_d_l_a_f__descriptor.html#a323ad31facefd124f573fe5a23388ac5',1,'DLAF_descriptor']]] ]; diff --git a/master/search/variables_7.js b/master/search/variables_7.js index 1e9aa8756f..902ae9725f 100644 --- a/master/search/variables_7.js +++ b/master/search/variables_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['m_1174',['m',['../struct_d_l_a_f__descriptor.html#a662ff55ddd73a8f07fa474221fe120fe',1,'DLAF_descriptor']]], - ['mb_1175',['mb',['../struct_d_l_a_f__descriptor.html#ad57b91c440fcdc67cf2ee27c99a1409f',1,'DLAF_descriptor']]] + ['m_1176',['m',['../struct_d_l_a_f__descriptor.html#a662ff55ddd73a8f07fa474221fe120fe',1,'DLAF_descriptor']]], + ['mb_1177',['mb',['../struct_d_l_a_f__descriptor.html#ad57b91c440fcdc67cf2ee27c99a1409f',1,'DLAF_descriptor']]] ]; diff --git a/master/search/variables_8.js b/master/search/variables_8.js index afc688263d..98f5471b64 100644 --- a/master/search/variables_8.js +++ b/master/search/variables_8.js @@ -1,5 +1,5 @@ var searchData= [ - ['n_1176',['n',['../struct_d_l_a_f__descriptor.html#ad2c386c95272a2a492dfa7e04b14fcd8',1,'DLAF_descriptor']]], - ['nb_1177',['nb',['../struct_d_l_a_f__descriptor.html#aa7e6f8e576e4e498b677617399297195',1,'DLAF_descriptor']]] + ['n_1178',['n',['../struct_d_l_a_f__descriptor.html#ad2c386c95272a2a492dfa7e04b14fcd8',1,'DLAF_descriptor']]], + ['nb_1179',['nb',['../struct_d_l_a_f__descriptor.html#aa7e6f8e576e4e498b677617399297195',1,'DLAF_descriptor']]] ]; diff --git a/master/search/variables_9.js b/master/search/variables_9.js index d1bb9d4549..b9a19aa33c 100644 --- a/master/search/variables_9.js +++ b/master/search/variables_9.js @@ -1,5 +1,5 @@ var searchData= [ - ['start_5f_1178',['start_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#ac49583acc02b6ba394d9b4e3b7450e53',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], - ['start_5foffset_5f_1179',['start_offset_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a8603ffce77527952a466a9630d98cd5c',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]] + ['start_5f_1180',['start_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#ac49583acc02b6ba394d9b4e3b7450e53',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]], + ['start_5foffset_5f_1181',['start_offset_',['../structdlaf_1_1matrix_1_1_panel_3_01axis_00_01const_01_t_00_01_d_00_01_store_transposed_1_1_no_01_4.html#a8603ffce77527952a466a9630d98cd5c',1,'dlaf::matrix::Panel< axis, const T, D, StoreTransposed::No >']]] ]; diff --git a/master/util__matrix_8h.html b/master/util__matrix_8h.html index 383ed5b331..f8b307e236 100644 --- a/master/util__matrix_8h.html +++ b/master/util__matrix_8h.html @@ -177,16 +177,19 @@ template<class T > void dlaf::matrix::util::internal::set_diagonal_tile (const Tile< T, Device::CPU > &tile, internal::getter_random< T > &random_value, SizeType offset_value)   - + template<class T > -void dlaf::matrix::util::internal::set_lower_and_upper_tile (const Tile< T, Device::CPU > &tile, internal::getter_random< T > &random_value, TileElementSize full_tile_size, GlobalTileIndex tile_wrt_global) -  -template<class T > -void dlaf::matrix::util::internal::set_random_hermitian_with_offset (Matrix< T, Device::CPU > &matrix, const SizeType offset_value) -  +void dlaf::matrix::util::internal::set_lower_and_upper_tile (const Tile< T, Device::CPU > &tile, internal::getter_random< T > &random_value, TileElementSize full_tile_size, GlobalTileIndex tile_wrt_global, dlaf::matrix::Distribution dist, std::optional< SizeType > band_size=std::nullopt) +  +template<class T > +void dlaf::matrix::util::internal::set_random_hermitian_with_offset (Matrix< T, Device::CPU > &matrix, const SizeType offset_value, std::optional< SizeType > band_size=std::nullopt) +  template<class T > void dlaf::matrix::util::set_random_hermitian (Matrix< T, Device::CPU > &matrix)   +template<class T > +void dlaf::matrix::util::set_random_hermitian_banded (Matrix< T, Device::CPU > &matrix, const SizeType band_size) +  template<class T > void dlaf::matrix::util::set_random_hermitian_positive_definite (Matrix< T, Device::CPU > &matrix)   @@ -393,6 +396,56 @@

+

◆ set_random_hermitian_banded()

+ +
+
+
+template<class T >
+ + + + + + + + + + + + + + + + + + +
void dlaf::matrix::util::set_random_hermitian_banded (Matrix< T, Device::CPU > & matrix,
const SizeType band_size 
)
+
+

Set a banded matrix with random values assuring it will be hermitian

+

Values will be random numbers in:

    +
  • real: [-1, 1]
  • +
  • complex: a circle of radius 1 centered at origin
  • +
+

Each tile creates its own random generator engine with a unique seed which is computed as a function of the tile global index. This means that the elements of a specific tile, no matter how the matrix is distributed, will be set with the same set of values.

+
Precondition
+
Parameters
+ + +
matrixis a square matrix,
+
+
+
Precondition
+
Parameters
+ + +
matrixhas a square blocksize.
+
+
+
@@ -436,8 +489,8 @@

-

◆ set_random_hermitian_with_offset()

+ +

◆ set_random_hermitian_with_offset()

@@ -454,7 +507,13 @@

const SizeType  - offset_value  + offset_value, + + + + + std::optional< SizeType >  + band_size = std::nullopt  diff --git a/master/util__matrix_8h_source.html b/master/util__matrix_8h_source.html index d60f243f31..a84d588966 100644 --- a/master/util__matrix_8h_source.html +++ b/master/util__matrix_8h_source.html @@ -307,87 +307,110 @@
281 
282 template <class T>
283 void set_lower_and_upper_tile(const Tile<T, Device::CPU>& tile, internal::getter_random<T>& random_value,
-
284  TileElementSize full_tile_size, GlobalTileIndex tile_wrt_global) {
-
285  // LOWER or UPPER (except DIAGONAL)
-
286  // random values are requested in the same order for both original and transposed
-
287  for (SizeType j = 0; j < full_tile_size.cols(); ++j) {
-
288  for (SizeType i = 0; i < full_tile_size.rows(); ++i) {
-
289  auto value = random_value();
+
284  TileElementSize full_tile_size, GlobalTileIndex tile_wrt_global,
+ +
286  std::optional<SizeType> band_size = std::nullopt) {
+
287  auto is_off_band = [](GlobalElementIndex ij, std::optional<SizeType> band_size) {
+
288  return band_size ? ij.col() < ij.row() - *band_size || ij.col() > ij.row() + *band_size : false;
+
289  };
290 
-
291  // but they are set row-wise in the original tile and col-wise in the
-
292  // transposed one
-
293  if (tile_wrt_global.row() > tile_wrt_global.col()) { // LOWER
-
294  TileElementIndex index{i, j};
-
295  if (index.isIn(tile.size()))
-
296  tile(index) = value;
-
297  }
-
298  else { // UPPER
-
299  TileElementIndex index{j, i};
-
300  if (index.isIn(tile.size()))
-
301  tile(index) = dlaf::conj(value);
-
302  }
-
303  }
-
304  }
-
305 }
-
306 
-
323 template <class T>
-
324 void set_random_hermitian_with_offset(Matrix<T, Device::CPU>& matrix, const SizeType offset_value) {
-
325  // note:
-
326  // By assuming square blocksizes, it is easier to locate elements. In fact:
-
327  // - Elements on the diagonal are stored in the diagonal of the diagonal tiles
-
328  // - Tiles under the diagonal store elements of the lower triangular matrix
-
329  // - Tiles over the diagonal store elements of the upper triangular matrix
-
330 
-
331  const Distribution& dist = matrix.distribution();
-
332 
-
333  DLAF_ASSERT(square_size(matrix), matrix);
-
334  DLAF_ASSERT(square_blocksize(matrix), matrix);
-
335 
-
336  auto full_tile_size = matrix.blockSize();
-
337 
-
338  for (auto tile_wrt_local : iterate_range2d(dist.localNrTiles())) {
-
339  GlobalTileIndex tile_wrt_global = dist.globalTileIndex(tile_wrt_local);
-
340 
-
341  auto tl_index = dist.globalElementIndex(tile_wrt_global, {0, 0});
-
342 
-
343  // compute the same seed for original and "transposed" tiles, so transposed ones will know the
-
344  // values of the original one without the need of accessing real values (nor communication in case
-
345  // of distributed matrices)
-
346  SizeType seed;
-
347  if (tile_wrt_global.row() >= tile_wrt_global.col()) // LOWER or DIAGONAL
-
348  seed = tl_index.col() + tl_index.row() * matrix.size().cols();
-
349  else
-
350  seed = tl_index.row() + tl_index.col() * matrix.size().rows();
-
351 
-
352  using TileType = typename std::decay_t<decltype(matrix)>::TileType;
-
353  auto set_hp_f = [=](const TileType& tile) {
-
354  internal::getter_random<T> random_value(seed);
-
355  if (tile_wrt_global.row() == tile_wrt_global.col())
-
356  internal::set_diagonal_tile(tile, random_value, offset_value);
-
357  else
-
358  internal::set_lower_and_upper_tile(tile, random_value, full_tile_size, tile_wrt_global);
-
359  };
-
360 
-
361  dlaf::internal::transformDetach(dlaf::internal::Policy<Backend::MC>(), std::move(set_hp_f),
-
362  matrix.readwrite(tile_wrt_local));
-
363  }
-
364 }
-
365 
-
366 }
-
367 
-
381 template <class T>
- -
383  internal::set_random_hermitian_with_offset(matrix, 0);
+
291  // LOWER or UPPER (except DIAGONAL)
+
292  // random values are requested in the same order for both original and transposed
+
293  for (SizeType j = 0; j < full_tile_size.cols(); ++j) {
+
294  for (SizeType i = 0; i < full_tile_size.rows(); ++i) {
+
295  auto value = random_value();
+
296 
+
297  // but they are set row-wise in the original tile and col-wise in the
+
298  // transposed one
+
299  if (tile_wrt_global.row() > tile_wrt_global.col()) { // LOWER
+
300  TileElementIndex index{i, j};
+
301  if (index.isIn(tile.size())) {
+
302  auto ij = dist.globalElementIndex(tile_wrt_global, index);
+
303  if (is_off_band(ij, band_size))
+
304  tile(index) = T(0);
+
305  else
+
306  tile(index) = value;
+
307  }
+
308  }
+
309  else { // UPPER
+
310  TileElementIndex index{j, i};
+
311  if (index.isIn(tile.size())) {
+
312  auto ij = dist.globalElementIndex(tile_wrt_global, index);
+
313  if (is_off_band(ij, band_size))
+
314  tile(index) = T(0);
+
315  else
+
316  tile(index) = dlaf::conj(value);
+
317  }
+
318  }
+
319  }
+
320  }
+
321 }
+
322 
+
339 template <class T>
+
340 void set_random_hermitian_with_offset(Matrix<T, Device::CPU>& matrix, const SizeType offset_value,
+
341  std::optional<SizeType> band_size = std::nullopt) {
+
342  // note:
+
343  // By assuming square blocksizes, it is easier to locate elements. In fact:
+
344  // - Elements on the diagonal are stored in the diagonal of the diagonal tiles
+
345  // - Tiles under the diagonal store elements of the lower triangular matrix
+
346  // - Tiles over the diagonal store elements of the upper triangular matrix
+
347 
+
348  const Distribution& dist = matrix.distribution();
+
349 
+
350  DLAF_ASSERT(square_size(matrix), matrix);
+
351  DLAF_ASSERT(square_blocksize(matrix), matrix);
+
352 
+
353  auto full_tile_size = matrix.blockSize();
+
354 
+
355  for (auto tile_wrt_local : iterate_range2d(dist.localNrTiles())) {
+
356  GlobalTileIndex tile_wrt_global = dist.globalTileIndex(tile_wrt_local);
+
357 
+
358  auto tl_index = dist.globalElementIndex(tile_wrt_global, {0, 0});
+
359 
+
360  // compute the same seed for original and "transposed" tiles, so transposed ones will know the
+
361  // values of the original one without the need of accessing real values (nor communication in case
+
362  // of distributed matrices)
+
363  SizeType seed;
+
364  if (tile_wrt_global.row() >= tile_wrt_global.col()) // LOWER or DIAGONAL
+
365  seed = tl_index.col() + tl_index.row() * matrix.size().cols();
+
366  else
+
367  seed = tl_index.row() + tl_index.col() * matrix.size().rows();
+
368 
+
369  using TileType = typename std::decay_t<decltype(matrix)>::TileType;
+
370  auto set_hp_f = [=](const TileType& tile) {
+
371  internal::getter_random<T> random_value(seed);
+
372  if (tile_wrt_global.row() == tile_wrt_global.col())
+
373  internal::set_diagonal_tile(tile, random_value, offset_value);
+
374  else
+
375  internal::set_lower_and_upper_tile(tile, random_value, full_tile_size, tile_wrt_global, dist,
+
376  band_size);
+
377  };
+
378 
+
379  dlaf::internal::transformDetach(dlaf::internal::Policy<Backend::MC>(), std::move(set_hp_f),
+
380  matrix.readwrite(tile_wrt_local));
+
381  }
+
382 }
+
383 
384 }
385 
-
402 template <class T>
- -
404  internal::set_random_hermitian_with_offset(matrix, 2 * matrix.size().rows());
-
405 }
-
406 
-
407 }
-
408 }
-
409 }
+
399 template <class T>
+ +
401  internal::set_random_hermitian_with_offset(matrix, 0);
+
402 }
+
403 
+
417 template <class T>
+
418 void set_random_hermitian_banded(Matrix<T, Device::CPU>& matrix, const SizeType band_size) {
+
419  internal::set_random_hermitian_with_offset(matrix, 0, band_size);
+
420 }
+
421 
+
438 template <class T>
+ +
440  internal::set_random_hermitian_with_offset(matrix, 2 * matrix.size().rows());
+
441 }
+
442 
+
443 }
+
444 }
+
445 }
Definition: communicator_grid.h:42
@@ -414,10 +437,11 @@
bool equal_blocksize(const Matrix< const T, D1 > &lhs, Matrix< const T, D2 > &rhs) noexcept
Returns true if matrices have equal blocksizes.
Definition: util_matrix.h:66
bool multipliable(const Matrix< const T, D > &a, const Matrix< const T, D > &b, const Matrix< const T, D > &c, const blas::Op opA, const blas::Op opB) noexcept
Returns true if matrices a, b and c have matrix multipliable sizes and block sizes.
Definition: util_matrix.h:102
void set(Matrix< T, Device::CPU > &matrix, ElementGetter el_f)
Definition: util_matrix.h:184
-
void set_random_hermitian_with_offset(Matrix< T, Device::CPU > &matrix, const SizeType offset_value)
Definition: util_matrix.h:324
+
void set_random_hermitian_banded(Matrix< T, Device::CPU > &matrix, const SizeType band_size)
Definition: util_matrix.h:418
bool square_blocksize(const MatrixLike &m) noexcept
Returns true if the matrix block size is square.
Definition: util_matrix.h:48
-
void set_random_hermitian(Matrix< T, Device::CPU > &matrix)
Definition: util_matrix.h:382
+
void set_random_hermitian(Matrix< T, Device::CPU > &matrix)
Definition: util_matrix.h:400
bool single_tile_per_block(const MatrixLike &m) noexcept
Returns true if the matrix has a single tile per block.
Definition: util_matrix.h:54
+
void set_random_hermitian_with_offset(Matrix< T, Device::CPU > &matrix, const SizeType offset_value, std::optional< SizeType > band_size=std::nullopt)
Definition: util_matrix.h:340
bool equal_process_grid(const Matrix< const T, D > &m, const comm::CommunicatorGrid &g) noexcept
Returns true if the matrix is distributed on the communication grid.
Definition: util_matrix.h:78
bool local_matrix(const Matrix< const T, D > &m) noexcept
Returns true if the matrix is local to a process.
Definition: util_matrix.h:72
bool equal_distributions(const Matrix< const T, D1 > &lhs, const Matrix< const T, D2 > &rhs) noexcept
Returns true if the matrices are distributed the same way.
Definition: util_matrix.h:84
@@ -425,7 +449,7 @@
bool multipliable_sizes(common::Size2D< IndexT, Tag > a, common::Size2D< IndexT, Tag > b, common::Size2D< IndexT, Tag > c, const blas::Op opA, const blas::Op opB) noexcept
Returns true if the sizes are compatible for matrix multiplication.
Definition: util_matrix.h:90
bool square_size(const MatrixLike &m) noexcept
Returns true if the matrix is square.
Definition: util_matrix.h:42
bool equal_size(const MatrixLikeA &lhs, const MatrixLikeB &rhs) noexcept
Returns true if matrices have equal sizes.
Definition: util_matrix.h:60
-
void set_random_hermitian_positive_definite(Matrix< T, Device::CPU > &matrix)
Definition: util_matrix.h:403
+
void set_random_hermitian_positive_definite(Matrix< T, Device::CPU > &matrix)
Definition: util_matrix.h:439