DFT-EFE
 
Loading...
Searching...
No Matches
LinAlgOpContext.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (c) 2021. *
3 * The Regents of the University of Michigan and DFT-EFE developers. *
4 * *
5 * This file is part of the DFT-EFE code. *
6 * *
7 * DFT-EFE is free software: you can redistribute it and/or modify *
8 * it under the terms of the Lesser GNU General Public License as *
9 * published by the Free Software Foundation, either version 3 of *
10 * the License, or (at your option) any later version. *
11 * *
12 * DFT-EFE is distributed in the hope that it will be useful, but *
13 * WITHOUT ANY WARRANTY; without even the implied warranty *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
15 * See the Lesser GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU Lesser General Public *
18 * License at the top level of DFT-EFE distribution. If not, see *
19 * <https://www.gnu.org/licenses/>. *
20 ******************************************************************************/
21
22/*
23 * @author Ian C. Lin, Sambit Das
24 */
25
26#ifndef dftefeLinAlgOpContext_h
27#define dftefeLinAlgOpContext_h
28
30#include <memory>
32namespace dftefe
33{
34 namespace linearAlgebra
35 {
36 template <utils::MemorySpace memorySpace>
38 {
39 public:
41 std::shared_ptr<blasLapack::BlasQueue<memorySpace>> blasQueue,
42 std::shared_ptr<blasLapack::LapackQueue<memorySpace>> lapackQueue);
43
44 void
46 std::shared_ptr<blasLapack::BlasQueue<memorySpace>> blasQueue);
47
48 void
50 std::shared_ptr<blasLapack::LapackQueue<memorySpace>> lapackQueue);
51
53 getBlasQueue() const;
54
56 getLapackQueue() const;
57
58 private:
59 std::shared_ptr<blasLapack::BlasQueue<memorySpace>> d_blasQueue;
60 std::shared_ptr<blasLapack::LapackQueue<memorySpace>> d_lapackQueue;
61
62 }; // end of LinAlgOpContext
63 } // end of namespace linearAlgebra
64} // end of namespace dftefe
66#endif // end of dftefeLinAlgOpContext_h
Definition: LinAlgOpContext.h:38
blasLapack::BlasQueue< memorySpace > & getBlasQueue() const
Definition: LinAlgOpContext.t.cpp:48
void setLapackQueue(std::shared_ptr< blasLapack::LapackQueue< memorySpace > > lapackQueue)
Definition: LinAlgOpContext.t.cpp:55
std::shared_ptr< blasLapack::BlasQueue< memorySpace > > d_blasQueue
Definition: LinAlgOpContext.h:59
std::shared_ptr< blasLapack::LapackQueue< memorySpace > > d_lapackQueue
Definition: LinAlgOpContext.h:60
blasLapack::LapackQueue< memorySpace > & getLapackQueue() const
Definition: LinAlgOpContext.t.cpp:63
void setBlasQueue(std::shared_ptr< blasLapack::BlasQueue< memorySpace > > blasQueue)
Definition: LinAlgOpContext.t.cpp:40
typename BlasQueueTypedef< memorySpace >::TYPE BlasQueue
Definition: BlasLapackTypedef.h:97
typename LapackQueueTypedef< memorySpace >::LAPACKTYPE LapackQueue
Definition: BlasLapackTypedef.h:125
dealii includes
Definition: AtomFieldDataSpherical.cpp:31