Accélération sur GPU d'une simulation radar avec OpenACC
暂无分享,去创建一个
Cet article propose une methodologie pour accelerer un environnement d'une simulation RADAR (RAdio Detecting And Ranging), en passant d'une implementation sur processeur (CPU) a une implementation sur puce graphique (GPU). Nous utilisons les outils de programma-tion GPU les plus utilises, comme CUDA [1], et plus precisement OpenACC [5], un langage de programmation par directives. La contribution majoritaire est d'evaluer la vitesse de mise en oeuvre d'une solution d'acceleration sur un algorithme, tout en fournissant des etapes clefs d'acceleration sur GPU, en analysant non seulement les performances brutes, mais aussi la facilite et la rapidite de programmation. Concernant notre cas d'etude, l'acceleration maximale obtenue sur GPU est de 8.2 avec CUDA et de 4.56 avec OpenACC par rapport a l'implementation de reference sur CPU. Abstract-This article gives a methodological approach to accelerating an environment of a RADAR (RAdio Detecting And Ranging) simulation , from a CPU to a GPU implementation. We focus our attention on the most common tools for GPU programming like CUDA [1], but more specifically on OpenACC [5], a directive based parallel programming language. Our contribution is providing key steps for accelerating a software simulation of a radar algorithm on a GPU, with a particular focus on performance but also on the ease of programming. Maximum achieved execution time speedup on GPU architecture for our typical use case of radar processing is of 8.2 for CUDA and of 4.56 for OpenACC compared to the reference implementation on CPU.