English

Implementing CUDA Streams into AstroAccelerate -- A Case Study

Instrumentation and Methods for Astrophysics 2021-05-07 v3 Distributed, Parallel, and Cluster Computing

Abstract

To be able to run tasks asynchronously on NVIDIA GPUs a programmer must explicitly implement asynchronous execution in their code using the syntax of CUDA streams. Streams allow a programmer to launch independent concurrent execution tasks, providing the ability to utilise different functional units on the GPU asynchronously. For example, it is possible to transfer the results from a previous computation performed on input data n-1, over the PCIe bus whilst computing the result for input data n, by placing different tasks in different CUDA streams. The benefit of such an approach is that the time taken for the data transfer between the host and device can be hidden with computation. This case study deals with the implementation of CUDA streams into AstroAccelerate. AstroAccelerate is a GPU accelerated real-time signal processing pipeline for time-domain radio astronomy.

Keywords

Cite

@article{arxiv.2101.00941,
  title  = {Implementing CUDA Streams into AstroAccelerate -- A Case Study},
  author = {Jan Novotný and Karel Adámek and Wes Armour},
  journal= {arXiv preprint arXiv:2101.00941},
  year   = {2021}
}

Comments

submitted to ADASS XXX, 3 pages

R2 v1 2026-06-23T21:44:57.056Z