Reference documentation for deal.II version 9.0.0
source
lac
vector_memory.cc
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (C) 2007 - 2018 by the deal.II authors
4
//
5
// This file is part of the deal.II library.
6
//
7
// The deal.II library is free software; you can use it, redistribute
8
// it, and/or modify it under the terms of the GNU Lesser General
9
// Public License as published by the Free Software Foundation; either
10
// version 2.1 of the License, or (at your option) any later version.
11
// The full text of the license can be found in the file LICENSE at
12
// the top level of the deal.II distribution.
13
//
14
// ---------------------------------------------------------------------
15
16
#include <deal.II/lac/vector.h>
17
#include <deal.II/lac/block_vector.h>
18
#include <deal.II/lac/cuda_vector.h>
19
#include <deal.II/lac/la_vector.h>
20
#include <deal.II/lac/la_parallel_vector.h>
21
#include <deal.II/lac/la_parallel_block_vector.h>
22
#include <deal.II/lac/petsc_parallel_vector.h>
23
#include <deal.II/lac/petsc_parallel_block_vector.h>
24
#include <deal.II/lac/trilinos_vector.h>
25
#include <deal.II/lac/trilinos_parallel_block_vector.h>
26
27
#include <deal.II/lac/vector_memory.templates.h>
28
29
30
DEAL_II_NAMESPACE_OPEN
31
32
#include "vector_memory.inst"
33
34
#ifdef DEAL_II_WITH_CUDA
35
template
class
VectorMemory<LinearAlgebra::CUDAWrappers::Vector<float>
>;
36
template
class
VectorMemory<LinearAlgebra::CUDAWrappers::Vector<double>
>;
37
template
class
GrowingVectorMemory<LinearAlgebra::CUDAWrappers::Vector<float>
>;
38
template
class
GrowingVectorMemory<LinearAlgebra::CUDAWrappers::Vector<double>
>;
39
#endif
40
41
namespace
internal
42
{
43
namespace
GrowingVectorMemoryImplementation
44
{
45
void
release_all_unused_memory()
46
{
47
#include "vector_memory_release.inst"
48
49
#ifdef DEAL_II_WITH_CUDA
50
::GrowingVectorMemory<::LinearAlgebra::CUDAWrappers::Vector<float>
>::release_unused_memory();
51
::GrowingVectorMemory<::LinearAlgebra::CUDAWrappers::Vector<double>
>::release_unused_memory();
52
#endif
53
}
54
}
55
}
56
57
DEAL_II_NAMESPACE_CLOSE
internal
Definition:
aligned_vector.h:327
VectorMemory
Definition:
pointer_matrix.h:26
GrowingVectorMemory
Definition:
vector_memory.h:311
Generated by
1.8.14