  AMD Xilinx's new Versal Adaptive Compute Acceleration Platform (ACAP) is an
FPGA architecture combining reconfigurable fabric with other on-chip hardened
compute resources. AI engines are one of these and, by operating in a highly
vectorized manner, they provide significant raw compute that is potentially
beneficial for a range of workloads including HPC simulation. However, this
technology is still early-on, and as yet unproven for accelerating HPC codes,
with a lack of benchmarking and best practice.
  This paper presents an experience report, exploring porting of the Piacsek
and Williams (PW) advection scheme onto the Versal ACAP, using the chip's AI
engines to accelerate the compute. A stencil-based algorithm, advection is
commonplace in atmospheric modelling, including several Met Office codes who
initially developed this scheme. Using this algorithm as a vehicle, we explore
optimal approaches for structuring AI engine compute kernels and how best to
interface the AI engines with programmable logic. Evaluating performance using
a VCK5000 against non-AI engine FPGA configurations on the VCK5000 and Alveo
U280, as well as a 24-core Xeon Platinum Cascade Lake CPU and Nvidia V100 GPU,
we found that whilst the number of channels between the fabric and AI engines
are a limitation, by leveraging the ACAP we can double performance compared to
an Alveo U280.
