#include <deal.II/lac/vector.h>
#include <deal.II/lac/block_vector.h>
+#include <deal.II/lac/cuda_vector.h>
#include <deal.II/lac/la_vector.h>
#include <deal.II/lac/la_parallel_vector.h>
#include <deal.II/lac/la_parallel_block_vector.h>
#include "vector_memory.inst"
+#ifdef DEAL_II_WITH_CUDA
+template class VectorMemory<LinearAlgebra::CUDAWrappers::Vector<float>>;
+template class VectorMemory<LinearAlgebra::CUDAWrappers::Vector<double>>;
+template class GrowingVectorMemory<LinearAlgebra::CUDAWrappers::Vector<float>>;
+template class GrowingVectorMemory<LinearAlgebra::CUDAWrappers::Vector<double>>;
+#endif
+
namespace internal
{
namespace GrowingVectorMemoryImplementation
void release_all_unused_memory()
{
#include "vector_memory_release.inst"
+
+#ifdef DEAL_II_WITH_CUDA
+ dealii::GrowingVectorMemory<dealii::LinearAlgebra::CUDAWrappers::Vector<float>>::release_unused_memory();
+ dealii::GrowingVectorMemory<dealii::LinearAlgebra::CUDAWrappers::Vector<double>>::release_unused_memory();
+#endif
}
}
}
#include "../tests.h"
#include "../testmatrix.h"
-#include <deal.II/lac/vector_memory.h>
-#include <deal.II/lac/vector_memory.templates.h>
-
#include <deal.II/base/exceptions.h>
#include <deal.II/lac/cuda_sparse_matrix.h>
#include <deal.II/lac/precondition.h>