The parallel version: Field IIpro
The Field IIpro version has now been released for commercial use. The program
uses multi-threaded parallel execution to speed up simulation, which on modern
multi-core CPUs can give a very significant reduction in simulation time. This has
been accomplished by rewriting large parts of the program to make it faster and reuse
memory more efficiently. Especially the command calc_scat has been improved.
The program is 100% compatible with the free web version and has been extensively
validated on all platforms to comply with the web version. Old code can therefore be
run directly and gain from the speedup. A single commands sets the number of threads
used for execution. This should normally be set to the number of independent cores of the
CPU. Hyper-threading can also be used, but the advantage of hyper-threading cores is usually
less than actual, physical cores.
Octave and C versions
A new feature is also that the code is not only available for Matlab, but also for running
under the free Octave program under Linux. Standalone C programs can also be made as a
C linkable library has been made. This makes it possible to create programs which can be run
form a command prompt independently from either Matlab or Octave. The m-files must then be
converted to a C-program, which often is longer than the Matlab program. Assistance can be
given for this conversion process.
Currently the following versions can be acquired:
|Mac OS X
||Enquire about release date
||Enquire about release date
The professional version of Field II takes advantage of the
multi-core capabilities of modern CPUs. The central part of the programs calculation
routine and its memory management has been re-written for optimizing speed
on multi-core CPUs. This has both increased single-core and multi core
execution of the calc_scat command. The increase in performance is seen
Performance for rectangles
The graph shows the speed-up relative to the public available web version 3.24a as a
function of the number of threads. The PC is running Ubuntu Linux 12.04 on a
dual Intel(R) Xeon(R) E2630, 2.60 GHz, CPUs each with 6 cores with hyper-threading for a combine
total of 24 hyper-threading cores. This machine can run
12 independent jobs and a speed-up of a factor of more than 25 is obtained on these
twelve cores compared to the freely available web version.
For a newer iMac with a 4 cores 2.7 GHz Intel i5 Field IIpro can typically
simulate 1 million point scatterers in around 18 seconds for
a 64 active elements transducer.
Similar speed-up ratios can be found for all other commands when simulating for
a number of points or point scatterer. Small jobs with few scatterers does not benefit more,
but larger jobs gains the significant speed-up for nearly all applications and options.
Performance for bounding lines
The performance has also been measured for the bounding lines method.
Below is shown an example of the speed-up ratio relative to one core on
the dual Intel(R) Xeon(R) E2630, 2.60 GHz CPUs with 12 cores and hyper threading.
Paper about Field IIpro
You can read the following paper, if you want to known more about Field IIpro and
Jensen, JA 2014, 'A Multi-threaded Version of Field II', in Proceedings of IEEE
International Ultrasonics Symposium. IEEE, pp. 2229-2232., 10.1109/ULTSYM.2014.0555
Please contact Jørgen Arendt Jensen at
for more information on pricing, delivery, and help with the new version.