19 research outputs found
Applying high performance computing to profitability and solvency calculations for life assurance contracts
Throughout Europe, the introduction of Solvency II is forcing companies in the life
assurance and pensions provision markets to change how they estimate their liabilities.
Historically, each solvency assessment required that the estimation of liabilities was
performed once, using actuaries' views of economic and demographic trends. Solvency
II requires that each assessment of solvency implies a 1-in-200 chance of not being
able to meet the liabilities. The underlying stochastic nature of these requirements
has introduced significant challenges if the required calculations are to be performed
correctly, without resorting to excessive approximations, within practical timescales.
Currently, practitioners within UK pension provision companies consider the calculations required to meet new regulations to be outside the realms of anything which is
achievable. This project brings the calculations within reach: this thesis shows that
it is possible to perform the required calculations in manageable time scales, using
entirely reasonable quantities of hardware. This is achieved through the use of several
techniques: firstly, a new algorithm has been developed which reduces the computational complexity of the reserving algorithm from O(T2) to O(T) for T projection steps,
and is sufficiently general to be applicable to a wide range of non unit-linked policies;
secondly, efficient ab-initio code, which may be tuned to optimise its performance on
many current architectures, has been written; thirdly, approximations which do not
change the result by a significant amount have been introduced; and, finally, high
performance computers have been used to run the code.
This project demonstrates that the calculations can be completed in under three
minutes when using 12,000 cores of a supercomputer, or in under eight hours when
using 80 cores of a moderately sized cluster
Progress towards accelerating the unified model on hybrid multi-core systems
he cloud microphysics scheme, CASIM, and the radiation scheme, SOCRATES, are two computationally intensive parts within the Met Office’s Unified Model (UM). This study enables CASIM and SOCRATES to use accelerated multi-core systems for optimal com- putational performance of the UM. Using profiling to guide our efforts, we refactored the code for optimal threading and kernel arrangement and implemented OpenACC directives manually or through the CLAW source-to-source translator. Initial porting re- sults achieved 10.02x and 9.25x speedup in CASIM and SOCRATES respectively on 1 GPU compared with 1 CPU core. A granular per- formance analysis of the strategy and bottlenecks are discussed. These improvements will enable UM to run on heterogeneous com- puters and a path forward for further improvements is provided
Productive and efficient computational science through domain-specific abstractions
In an ideal world, scientific applications are computationally efficient,
maintainable and composable and allow scientists to work very productively. We
argue that these goals are achievable for a specific application field by
choosing suitable domain-specific abstractions that encapsulate domain
knowledge with a high degree of expressiveness.
This thesis demonstrates the design and composition of
domain-specific abstractions by abstracting the stages a scientist goes
through in formulating a problem of numerically solving a partial differential
equation. Domain knowledge is used to transform this problem into a different,
lower level representation and decompose it into parts which can be solved
using existing tools. A system for the portable solution of partial
differential equations using the finite element method on unstructured meshes
is formulated, in which contributions from different scientific communities
are composed to solve sophisticated problems.
The concrete implementations of these domain-specific abstractions are
Firedrake and PyOP2. Firedrake allows scientists to describe variational
forms and discretisations for linear and non-linear finite element problems
symbolically, in a notation very close to their mathematical models. PyOP2
abstracts the performance-portable parallel execution of local computations
over the mesh on a range of hardware architectures, targeting multi-core CPUs,
GPUs and accelerators. Thereby, a separation of concerns is achieved, in which
Firedrake encapsulates domain knowledge about the finite element method
separately from its efficient parallel execution in PyOP2, which in turn is
completely agnostic to the higher abstraction layer.
As a consequence of the composability of those abstractions, optimised
implementations for different hardware architectures can be
automatically generated without any changes to a single high-level
source. Performance matches or exceeds what is realistically attainable by
hand-written code. Firedrake and PyOP2 are combined to form a tool chain that
is demonstrated to be competitive with or faster than available alternatives
on a wide range of different finite element problems.Open Acces