3 research outputs found

    Automatic synthesis of high performance translation operators and execution plans for the fast multipole method

    No full text
    Submission published under a 24 month embargo labeled 'U of I Access', the embargo will last until 2025-08-01The student, Isuru Fernando, accepted the attached license on 2023-07-10 at 19:11.The student, Isuru Fernando, submitted this Dissertation for approval on 2023-07-10 at 19:15.This Dissertation was approved for publication on 2023-07-11 at 14:15.DSpace SAF Submission Ingestion Package generated from Vireo submission #19613 on 2023-12-04 at 17:18:27The Fast Multipole Method (FMM) is the leading approach for attaining linear complexity in the evaluation of long-range (e.g. Coulomb) many-body interactions. The intricacies of implementing a high performant FMM for different potentials are a major barrier to the widespread use of the FMM. In the application of the Fast Multipole Method to the computation of potentials for elliptic PDEs and systems thereof, I present methods that, given various small amounts of user-supplied problem knowledge automatically exploit this knowledge to optimize evaluating the potentials. The first part of the thesis is devoted to the automatic synthesis of translation operators (e.g. multipole-to-local, point-to-multipole, etc.) for arbitrary kernels. I describe the asymptotic cost of variants of our algorithm available given certain pieces of information, as well as the methods by which they are attained. I present theoretical cost bounds as well as numerical evidence that our algorithms attain them. The second part of the thesis describes my work in extending the first to a system of PDEs. I introduce algorithms to automatically synthesize execution plans for expressions of potential operators involving multiple inputs and outputs, multiple different kernels, as well as source and target derivatives. Given a symbolic description of such an operator, the system outputs a sequence of operations that realizes cost savings through an algebraic procedure based on syzygies. Finally, I describe the work of using the above algorithms to generate fast code for graphical processing units (GPUs) that achieve near peak performance and explaining the performance characteristics of the different operations in the FMM using a performance model

    SymPy: Symbolic computing in Python

    No full text
    International audienceSymPy is an open source computer algebra system written in pure Python. It is built with a focus on extensibility and ease of use, through both interactive and programmatic applications. These characteristics have led SymPy to become the standard symbolic library for the scientific Python ecosystem. This paper presents the architecture of SymPy, a description of its features, and a discussion of select domain specific submodules. The supplementary materials provide additional examples and further outline details of the architecture and features of SymPy
    corecore