-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Your name, department, and University
Sheehan Olver, Maths, Imperial
Name(s) and department(s) of anyone else relevant to this project
No response
Please write a brief description of the application area of project
Many differential equations any other problems in applied mathematics can be recast as banded matrices, with the Heat equation being the simplest example. Going beyond this, in ultrasound there is a need to model nonlocal equations (since tissue has memory) which requires the use of the FFT. This project will result in tested examples showing very fast simulations on the GPU for both classical time-evolution PDEs and Fractional Differential Equations.
Please describe the project.
The first part of the project is to make sure that banded matrices can be realised on the GPU by supporting GPU matrix backends (cf Cuda.jl and Metal.jl) in the Julia package BandedMatrices.jl. In theory, this should "just work" but in practice there will need to be thorough testing and bug fixes. If successful the project will produce well-tested examples of time-evolution PDEs for say the Heat equation and its nonlinear analogues.
The second part of the project is to support spectral methods by combining GPU support for FFTs with banded matrices on the GPU. If successful, this will allow for nonlocal equations involving the Fractional Laplacian, which come up in ultrasound.
Ideally the project will support both NVidia (via Cuda.jl) and Apple (via Metal.jl).
There is scope for future work here in higher-dimensional PDEs and inverse problems by combining with automatic differentiation.
What will be the outputs of this project?
The project will contribute examples to existing open-source packages like BandedMatrices.jl, and will also involve code contribution.
Which programming language(s) will this project use?
Julia
Links to any relevant existing software repositories, etc.
https://github.com/JuliaLinearAlgebra/BandedMatrices.jl
https://github.com/JuliaGPU/Metal.jl
https://github.com/JuliaGPU/CUDA.jl
Links to any relevant papers, blog posts, etc.
https://approximatelyfunctioning.blogspot.com/2018/12/banded-matrices-and-ordinary.html
https://arxiv.org/abs/2408.02541
https://www.cambridge.org/core/journals/acta-numerica/article/abs/fast-algorithms-using-orthogonal-polynomials/4FAD8C7C28EC20EE7583465C1A89AA3D
Make project public
- I understand that this project proposal will be public
Metadata
Metadata
Assignees
Labels
Type
Projects
Status