We report on the development of one of the first libraries ever presented and based on the so-called expression templates technique to simplify the implementation of CPU and parallel GPU codes. Expression templates allow to express matrix algebra operations to be executed either on the CPU or on the GPU with a syntax very close to the natural mathematical one. We present all the relevant programming key points to implement a CUDA expression templates based library so that research groups of applied electromagnetics could develop, with not much effort, their own implementations of the approach. The developed library has been extensively optimized so that the same performance of standard C/C++ or CUDA codings is kept. We illustrate how the coding of an inverse scattering algorithm for parallel executions on GPU, which in pure CUDA language would be very cumbersome, can be significantly simplified by the language exposed by the developed CUDA expression templates based library.

CUDA Expression Templates for Electromagnetic Applications on GPUs / A., Breglia; Capozzoli, Amedeo; Curcio, Claudio; Liseno, Angelo. - In: IEEE ANTENNAS & PROPAGATION MAGAZINE. - ISSN 1045-9243. - 55:5(2013), pp. 156-166. [10.1109/MAP.2013.6735497]

CUDA Expression Templates for Electromagnetic Applications on GPUs

CAPOZZOLI, AMEDEO;CURCIO, CLAUDIO;LISENO, ANGELO
2013

Abstract

We report on the development of one of the first libraries ever presented and based on the so-called expression templates technique to simplify the implementation of CPU and parallel GPU codes. Expression templates allow to express matrix algebra operations to be executed either on the CPU or on the GPU with a syntax very close to the natural mathematical one. We present all the relevant programming key points to implement a CUDA expression templates based library so that research groups of applied electromagnetics could develop, with not much effort, their own implementations of the approach. The developed library has been extensively optimized so that the same performance of standard C/C++ or CUDA codings is kept. We illustrate how the coding of an inverse scattering algorithm for parallel executions on GPU, which in pure CUDA language would be very cumbersome, can be significantly simplified by the language exposed by the developed CUDA expression templates based library.
2013
CUDA Expression Templates for Electromagnetic Applications on GPUs / A., Breglia; Capozzoli, Amedeo; Curcio, Claudio; Liseno, Angelo. - In: IEEE ANTENNAS & PROPAGATION MAGAZINE. - ISSN 1045-9243. - 55:5(2013), pp. 156-166. [10.1109/MAP.2013.6735497]
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11588/564064
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 13
  • ???jsp.display-item.citation.isi??? 0
social impact