TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
cusolver_interface.hpp
Go to the documentation of this file.
1// Copyright (c) 2022--present, The Simons Foundation
2// This file is part of TRIQS/nda and is licensed under the Apache License, Version 2.0.
3// SPDX-License-Identifier: Apache-2.0
4// See LICENSE in the root of this distribution for details.
5
10
11#pragma once
12
13#ifndef NDA_HAVE_CUDA
14#error "CUDA support is not enabled in this build of nda. Please configure and install nda with -DCUDASupport=ON"
15#endif
16
17#include "../../blas/tools.hpp"
18
19namespace nda::lapack::device {
20
21 void gesvd(char jobu, char jobvt, int m, int n, double *a, int lda, double *s, double *u, int ldu, double *vt, int ldvt, double *work, int lwork,
22 double *rwork, int &info);
23 void gesvd(char jobu, char jobvt, int m, int n, dcomplex *a, int lda, double *s, dcomplex *u, int ldu, dcomplex *vt, int ldvt, dcomplex *work,
24 int lwork, double *rwork, int &info);
25
26 void getrf(int m, int n, double *a, int lda, int *ipiv, int &info);
27 void getrf(int m, int n, dcomplex *a, int lda, int *ipiv, int &info);
28
29 void getrs(char op, int n, int nrhs, double const *a, int lda, int const *ipiv, double *b, int ldb, int &info);
30 void getrs(char op, int n, int nrhs, dcomplex const *a, int lda, int const *ipiv, dcomplex *b, int ldb, int &info);
31
32} // namespace nda::lapack::device
std::complex< double > dcomplex
Alias for std::complex<double> type.
Definition tools.hpp:28
Provides various traits and utilities for the BLAS interface.