.. _program_listing_file_src_SofaCUDALinearSolver_CUDACholeksySparseSolver.cpp: Program Listing for File CUDACholeksySparseSolver.cpp ===================================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/SofaCUDALinearSolver/CUDACholeksySparseSolver.cpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /****************************************************************************** * SOFA, Simulation Open-Framework Architecture * * (c) 2006 INRIA, USTL, UJF, CNRS, MGH * * * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU Lesser General Public License as published by * * the Free Software Foundation; either version 2.1 of the License, or (at * * your option) any later version. * * * * This program is distributed in the hope that it will be useful, but WITHOUT * * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * * for more details. * * * * You should have received a copy of the GNU Lesser General Public License * * along with this program. If not, see . * ******************************************************************************* * Authors: The SOFA Team and external contributors (see Authors.txt) * * * * Contact information: contact@sofa-framework.org * ******************************************************************************/ #define SOFA_PLUGIN_CUDASPARSECHOLESKYSOLVER_CPP #include #include #include namespace sofa::component::linearsolver::direct { using namespace sofa::linearalgebra; int CUDASparseCholeskySolverClass = core::RegisterObject("Direct linear solver based on Sparse Cholesky factorization, implemented with the cuSOLVER library") .add< CUDASparseCholeskySolver< CompressedRowSparseMatrix,FullVector > >() .add< CUDASparseCholeskySolver< CompressedRowSparseMatrix >,FullVector > >() .add< CUDASparseCholeskySolver< CompressedRowSparseMatrix,FullVector > >() .add< CUDASparseCholeskySolver< CompressedRowSparseMatrix >,FullVector > >() ; using OtherFloatingType = std::conditional_t, float, double>; template class SOFACUDALINEARSOLVER_API sofa::component::linearsolver::MatrixLinearSolver< CompressedRowSparseMatrix,FullVector > ; template class SOFACUDALINEARSOLVER_API sofa::component::linearsolver::MatrixLinearSolver< CompressedRowSparseMatrix >,FullVector > ; template class SOFACUDALINEARSOLVER_API CUDASparseCholeskySolver< CompressedRowSparseMatrix,FullVector > ; template class SOFACUDALINEARSOLVER_API CUDASparseCholeskySolver< CompressedRowSparseMatrix >,FullVector > ; template class SOFACUDALINEARSOLVER_API CUDASparseCholeskySolver< CompressedRowSparseMatrix,FullVector > ; template class SOFACUDALINEARSOLVER_API CUDASparseCholeskySolver< CompressedRowSparseMatrix >,FullVector > ; } // namespace sofa::component::linearsolver::direct