Projects
Contributing to PSyclone
PSyclone is a code generation system developed for use in finite
element, finite volume and finite difference codes. Notably, it is used
in the
LFRic project.
PSyclone is also being extended to support an API being developed in the
GOcean project for two finite difference
ocean model benchmarks, one of which is based on the
NEMO ocean model. More information on
PSyclone ReadTheDocs.
Contributing to PSycloneBench
PSycloneBench contains various small benchmarks used to inform the development
of the PSyclone.
DopingHPC (code not released yet)
Doping (Dynamic OPtimization INjector) is a tool to embed a dynamic
recompilation infrastructure to C and C++ applications in order to
optimize (and improve the vectorization) of loops. The tools targets
traditional HPC applications and leverages the additional contextual
information available at run-time to perform the optimizations.
Autovect-benchmark
This Test-Suite evaluates the auto-vectorization capabilities of compilers
for different amounts of compile-time provided information. This contrasts with
traditional test-suites that only provide an implementation-specific source to
the compiler. To achieve this we have extended the TSVC benchmark and 6
micro-kernels (Binomial options, Black-Scholes, MandelBrot, Convolutions,
Small matrix-matrix multiplication and Stencil computation) with preprocessor
macros to choose whether the value of: loop bounds, parameters in Array Indices
and offsets, parameters in Conditional Evaluations, adn array attributes such as
alignment and non-aliasing constrains is provided at compile-time or hidden until the run-time.
Contributed to Hartree Advance Programming
Course
Source of the Hartree Centre OpenMP Training
Developed DL_MESO MiniLBE branch
DL_MESO is a mesoscale simulation package that supports both Lattice Boltzmann
Equation (LBE) and Dissipative Particle Dynamics (DPD) methods. The MiniLBE
branch provides and implementation of the Lattice Boltzmann simulation designed
to take advantage of highly parallel architectures with long vector units.
Developed tools for analysis of aggregated traces for Dimemas
Developed a platform for Hybrid Elliptic Curve Cryptographic e-voting systems
University coursework projects: