Speaker
Description
We report on the progress made on the QDP-JIT library which acts as a drop-in replacement for the QDP++ library which Chroma builds upon. QDP-JIT now targets NVIDIA and AMD GPU machines, like the upcoming Frontier supercomputer, Summit or the new USQCD machine with AMD GPUs at Jefferson Lab. Our new implementation aims to add one missing feature of QDP++: performance.
We use the original type system and operations of QDP++ and have engineered an Just-in-Time (JIT) compiler toolchain based on LLVM for data layout transformations suitable for GPUs. The JIT route also allows us to beneficially specialize kernels on runtime parameters like, e.g., the machine grid and code path. QDP-JIT is fully-featured, has many optimizations built-in and is production-ready for machines of both GPU types.