hide
Free keywords:
CPU-GPU hybrid program;
CUDA framework;
graphics processing units;
semiempirical quantum chemistry;
symmetric multiprocessing
Abstract:
This chapter demonstrates how graphics processing units (GPUs) can be used to accelerate large-scale semiempirical quantum-chemical calculations on hybrid CPU-GPU platforms. It focuses on the CUDA framework, which allows developers to employ the C programming language, with CUDA-specific extensions, to use a CUDA-capable GPU as coprocessor of the CPU for computations. The chapter examines the computational bottlenecks by performing systematic calculations on a set of eight proteins with up to 3558 atoms and 8727 basis functions. It outlines how the hotspots identified in this manner are ported to a GPU, and how the remaining code is parallelized using CPU only using the symmetric multiprocessing (SMP) capabilities via OpenMP. Finally, as an illustrative application, the authors use the CPU-GPU hybrid program to optimize the geometries of three small proteins, each consisting predominantly of one type of secondary structure, namely α-helix, β-strand, and random coil, employing six different semiempirical methods.