Reference documentation for deal.II version 9.1.0-pre
Main Page
Tutorial
Code gallery
Modules
Namespaces
Classes
Related Pages
Files
dealii.org
File List
File Members
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.md at
12
// the top level directory of deal.II.
13
//
14
// ---------------------------------------------------------------------
15
16
#include <deal.II/lac/block_vector.h>
17
#include <deal.II/lac/cuda_vector.h>
18
#include <deal.II/lac/la_parallel_block_vector.h>
19
#include <deal.II/lac/la_parallel_vector.h>
20
#include <deal.II/lac/la_vector.h>
21
#include <deal.II/lac/petsc_block_vector.h>
22
#include <deal.II/lac/petsc_vector.h>
23
#include <deal.II/lac/trilinos_parallel_block_vector.h>
24
#include <deal.II/lac/trilinos_vector.h>
25
#include <deal.II/lac/vector.h>
26
#include <deal.II/lac/vector_memory.templates.h>
27
28
29
DEAL_II_NAMESPACE_OPEN
30
31
#include "vector_memory.inst"
32
33
#ifdef DEAL_II_WITH_CUDA
34
template
class
VectorMemory<LinearAlgebra::CUDAWrappers::Vector<float>
>;
35
template
class
VectorMemory<LinearAlgebra::CUDAWrappers::Vector<double>
>;
36
template
class
GrowingVectorMemory<LinearAlgebra::CUDAWrappers::Vector<float>
>;
37
template
class
GrowingVectorMemory<LinearAlgebra::CUDAWrappers::Vector<double>
>;
38
#endif
39
40
namespace
internal
41
{
42
namespace
GrowingVectorMemoryImplementation
43
{
44
void
45
release_all_unused_memory()
46
{
47
#include "vector_memory_release.inst"
48
49
#ifdef DEAL_II_WITH_CUDA
50
::GrowingVectorMemory
<
::LinearAlgebra::CUDAWrappers::Vector
<
51
float
>>::release_unused_memory();
52
::GrowingVectorMemory
<
::LinearAlgebra::CUDAWrappers::Vector
<
53
double
>>::release_unused_memory();
54
#endif
55
}
56
}
// namespace GrowingVectorMemoryImplementation
57
}
// namespace internal
58
59
DEAL_II_NAMESPACE_CLOSE
LinearAlgebra::CUDAWrappers::Vector
Definition:
cuda_vector.h:53
internal
Definition:
aligned_vector.h:345
VectorMemory
Definition:
pointer_matrix.h:28
GrowingVectorMemory
Definition:
vector_memory.h:320
Generated by
1.8.11