<T>LAPACK 0.1.1
C++ Template Linear Algebra PACKage
Loading...
Searching...
No Matches
potf2.hpp
Go to the documentation of this file.
1
3//
4// Copyright (c) 2021-2023, University of Colorado Denver. All rights reserved.
5//
6// This file is part of <T>LAPACK.
7// <T>LAPACK is free software: you can redistribute it and/or modify it under
8// the terms of the BSD 3-Clause license. See the accompanying LICENSE file.
9
10#ifndef TLAPACK_STARPU_POTF2_HH
11#define TLAPACK_STARPU_POTF2_HH
12
17
18namespace tlapack {
19
21template <class uplo_t, class T>
23{
24 using starpu::idx_t;
25
26 // Constants
27 const idx_t n = A.nrows();
28 const idx_t nx = A.get_nx();
29 const idx_t ny = A.get_ny();
30
31 // Quick return
32 if (nx < 1 || ny < 1 || n < 1) return 0;
33
34 // Use blocked algorithm if matrix contains more than one tile
35 if (nx > 1 || ny > 1) {
37 potrf_opts.nb = min(min(A.nblockrows(), A.nblockcols()), n - 1);
39 }
40
41 // Insert task to factorize A
42 starpu::insert_task_potrf<uplo_t, T>(uplo, A.tile(0, 0));
43
44 // Return info
45 return 0;
46}
47
48} // namespace tlapack
49
50#endif // TLAPACK_POTF2_HH
Class for representing a matrix in StarPU that is split into tiles.
Definition Matrix.hpp:133
int potrf_blocked(uplo_t uplo, matrix_t &A, const BlockedCholeskyOpts &opts)
Computes the Cholesky factorization of a Hermitian positive definite matrix A using a blocked algorit...
Definition potrf_blocked.hpp:66
int potf2(uplo_t uplo, matrix_t &A)
Computes the Cholesky factorization of a Hermitian positive definite matrix A using a level-2 algorit...
Definition potf2.hpp:58
Computes the Cholesky factorization of a Hermitian positive definite matrix A using a blocked algorit...
typename traits::real_type_traits< Types..., int >::type real_type
The common real type of the list of types.
Definition scalar_type_traits.hpp:113
Definition potrf_blocked.hpp:22
size_t nb
Block size.
Definition potrf_blocked.hpp:25
Task insertion functions.