/* * Open source copyright declaration based on BSD open source template: * http://www.opensource.org/licenses/bsd-license.php * * This file is part of the scalar-tridiagonal solver distribution. * * Copyright (c) 2015, Endre László and others. Please see the AUTHORS file in * the main source directory for a full list of copyright holders. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * The name of Endre László may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY Endre László ''AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL Endre László BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ The TridSolver project is provided by ===================================== Endre László Pázmány Péter Catholic University, Budapest, HU (2012-2014, University of Oxford, Oxford, UK) laszlo.endre [at] itk.ppke.hu Mike Giles University of Oxford, Oxford, UK mike.giles [at] maths.oc.ac.uk Jeremy Appleyard NVIDIA Corporation jappleyard [at] nvidia.com Last modified: 7th October 2015 TRIDIAGONAL SOLVERS ------------------- The project includes batch scalar and block tridiagonal solver libraries for GPU, CPU and Intel MIC -- in the /scalar and /block directories -- as well as test applications in the /apps directory. As the use cases of scalar and block tridiagonal solvers differ significantly in most applications the implementation of the two libraries is separated in two subprojects in /scalar and /block directories. These subprojects can be built from corresponding directories using CMake. Note: the scalar solver only supports Intel compiler as it relies on AVX and IMCI intrinsics. TEST APPLICATIONS ----------------- Test applications in /apps include: 1) the solution of the heat diffusion PDE using the ADI (Atlernating Direction Implicit) method and 2) the solution of a general block tridiagonal system of equations. BUILDING -------- Details on building the subprojects (solvers and test applications) can be found in the README file of the appropriate subdirectories.