Page 43 - Summer2019
P. 43
significantly different compute power. For example, a GPU Model Inputs
can be an order of magnitude faster than a single processor Once a computer code has been developed, using it to pre-
at basic arithmetic but extremely slow at control processes. dict how ultrasound waves travel through the human body
Naturally, the performance of the code taken as a whole is requires specification of the model inputs. From a physical
limited by its slowest component. perspective, this includes the properties of the transducer
used to tra.nsmit (and in some cases receive) the ultrasound
There are several other factors that can influence the per- waves and a map of the acoustic material properties and how
formance of a computer code. The first is the choice of they vary through the body. From a numerical perspective,
programming language. Although the general trend in this includes the size and distribution of the spatial grid and
software engineering is towards high-level languages (such the number and size of the time steps (or an error threshold
as MATLAB, Python, C#, or Iava), high-performance com- if using an adaptive integration scheme). These parameters
puting often still relies on low-level languages (such as Cl are normally chosen based on a convergence test as discussed
C++ and Fortran) that allow direct access to the hardware in Numerical Methods. Finally, from a computational per-
characteristics of the target system. Unfortunately, this spective, this includes which computational hardware is used
also complicates the design, implementation, testing, and and how the computational effort is distributed among the
portability of the codes. Computing in lower (or mixed) awilable resources. This choice is usually made based on heu-
precision can increase the speed of arithmetic operations ristics obtained from previous model runs.
and reduce memory transfers. However, care must be taken
to avoid numerical overflow and round-off errors. For large Considering the physical inputs starting with the ultrasound
domain sizes, extracting outputs from the model (for exam- transducer, the most straightforward way to include this in
ple, saving the time-varying pressure field) can also have a a numerical model is as an ideal radiator that vibrates uni-
significant impact on performance due to the time taken formly across the transducer surface (Martin et al., 2015).
to write data to disk. However, in many cases, physical transducers do not act as
uniform radiators due to the propagation of surface waves.
During the design of computer code, many implementa- To improve accuracy, the size and shape of the ideal source
tion details must also be considered. First, the complexity can be adjusted until a reasonable match is obtained with an
of scientific software often makes the use of test-driven experimental measurement. Alternatively, a full character-
development crucial. In this paradigm, every component ization of the spatially (and sometimes temporally) wrying
of the software has a corresponding test suite validating its pattern of source vibration can be performed using hologra-
results against a ground truth. Additional tests can also be phy or direct measurement with a laser Doppler vibrometer.
used to investigate changes in code performance. Second, Holography involves measuring the acoustic pressure over a
care must be taken to ensure the code (and the devel- surface that encloses the source or, inpractice, overasurface
opment cycle) is adequately documented. Even smaller that captures most of the emitted energy (Sapozhnikov et al.,
software projects can be impossible for other developers 2015). The measured pressure is then numerically projected
to understand without proper documentation. Third, the back to the source surface (or a nearby plane) to obtain a
software development environment must be considered. spatially varying pressure or velocity distribution for input
Generally, modern software projects are managed through into the model. Holography measurements are normally con-
software version control systems. These incorporate many ducted with the transducer driven at a low level to ensure
useful features, including allowing multiple developers to linear wave propagation, with source conditions at higher
work simultaneously and providing tools for issue track- drive levels extrapolated based on additional measurements
ing, automated testing, and code release. For software made usingaradiation force balance.
used in a medical context, regulatory standards may also
mandate additional documentation, testing, and report- Regarding the acoustic material properties, for patient-specific
ing requirements. Finally, the support of users outside the simulations, these are typically obtained from standard medical
development team must also be carefully considered, for images such as X-ray computed tomography (CT) or magnetic
example, through the publication of a user manual or other resonance (MR) imaging. VVhen using CT images, it is possible
articles, the development of worked examples, and a user to convert the grayscale values in the image to the mass density
forum or mailing list. of the tissue based on a stoichiometric calibration of the CT
Summer 2019 | Anouuucu Tbrlay 1 41