Speaker
Description
Background
Ultrasound computed tomography techniques such as full-waveform inversion (FWI) have the potential to produce high-resolution, 3D images of tissues such as the breast, the limbs, or the adult human brain. However, adoption of these techniques is hindered by the fact that tomography algorithms are computationally demanding, and the codes that exist are closed source, difficult to maintain and slow to adapt to new research.
Here, we give a practical introduction to Stride, an open-source library for ultrasound modelling and tomography that provides flexibility and scalability together with production-grade performance; and to Devito, a domain-specific language for the automatic generation of optimised, architecture-specific finite-difference (FD) code.
Methods
Ultrasound tomography is computationally expensive because, for realistic 3D problems, it requires the solution of thousands of partial-differential equations (PDEs) and the storage of hundreds of gigabytes of memory at every iteration in order to estimate billions of parameters.
Stride provides a modular, end-to-end definition of the imaging process using state-of-the-art FWI algorithms in 2D and 3D, allowing users to easily and rapidly prototype their own inversion scripts and the flexibility to redefine every step. Stride integrates tightly with Devito, allowing us to write high-level symbolic differential equations in Python, from which high-performance FD code is automatically generated targeting both CPUs (OpenMP) and GPUs (OpenMP and OpenACC). We also provide Mosaic, an actor-based parallelisation library that lets users prototype FWI workflows in a local workstation and then efficiently scale them to hundreds of nodes in an HPC cluster without any code changes. A standard file format for the storage and exchange of ultrasound tomography data is also proposed.
We show how our software stack can be used to perform FWI reconstructions in 2D –with a numerical breast phantom (Figure 1-A) and an experimental tissue-mimicking phantom (Figure 1-C)– and 3D –with a numerical model of the adult human head (Figure 1-E). We test the numerical accuracy of the acoustic solver when compared to an analytical solution, and we showcase the scaling capabilities of in an HPC cluster.
Results
Stride produces state-of-the-art reconstructions of the breast (Figure 1-B), experimental phantoms (Figure 1-D), and the brain (Figure 1-F) with only a few lines of code. We validate its modelling accuracy by comparing it with an analytical solution of the acoustic wave equation (Figure 1-G), and validate Mosaic's scaling capacity by running on up to 128 nodes on an HPC cluster (Figure 1-H).
Preferred Contribution Type | Presentation |
---|