Morpheus 1.0.0
Dynamic matrix type and algorithms for sparse matrices
Loading...
Searching...
No Matches
Morpheus_Core.hpp
1
24#ifndef MORPHEUS_CORE_HPP
25#define MORPHEUS_CORE_HPP
26
27#include <Morpheus_Macros.hpp>
28
29#include <Kokkos_Core.hpp>
30
31// Containers
32#include <Morpheus_CooMatrix.hpp>
33#include <Morpheus_CsrMatrix.hpp>
34#include <Morpheus_DenseMatrix.hpp>
35#include <Morpheus_DenseVector.hpp>
36#include <Morpheus_DiaMatrix.hpp>
37#include <Morpheus_DynamicMatrix.hpp>
38
39// Algorithms
40#include <Morpheus_Convert.hpp>
41#include <Morpheus_Copy.hpp>
42#include <Morpheus_Dot.hpp>
43#include <Morpheus_MatrixOperations.hpp>
44#include <Morpheus_Multiply.hpp>
45#include <Morpheus_Print.hpp>
46#include <Morpheus_Reduction.hpp>
47#include <Morpheus_Scan.hpp>
48#include <Morpheus_Sort.hpp>
49#include <Morpheus_WAXPBY.hpp>
50
51// Functionality
52#include <Morpheus_Spaces.hpp>
53#include <Morpheus_MirrorContainers.hpp>
54#include <Morpheus_TypeTraits.hpp>
55#include <Morpheus_SpaceTraits.hpp>
56#include <Morpheus_FormatTraits.hpp>
57
58// I/O
59#include <Morpheus_MatrixMarket.hpp>
60
61// Other
62#include <Morpheus_TypeTraits.hpp>
63#include <Morpheus_Metaprogramming.hpp>
64#include <Morpheus_ContainerFactory.hpp>
65
67namespace Morpheus {
68
69struct InitArguments : public Kokkos::InitArguments {
70 using base = Kokkos::InitArguments;
71 int dynamic_format;
72
73 InitArguments(int dyn_fmt = 0, int nt = -1, int nn = -1, int dv = -1,
74 bool dw = false, bool ti = false)
75 : base(nt, nn, dv, dw, ti), dynamic_format(dyn_fmt) {}
76};
77
78void initialize(int& argc, char* argv[], bool banner = true);
79void initialize(int& argc, char* argv[], InitArguments& args,
80 bool banner = true);
81void print_configuration(std::ostream& out, const bool detail = true);
82void initialize(InitArguments args = InitArguments(), bool banner = true);
83void finalize();
84
85} // namespace Morpheus
86
87#endif // MORPHEUS_CORE_HPP
Generic Morpheus interfaces.
Definition: dummy.cpp:24
Definition: Morpheus_Core.hpp:69