Antonio Pena

Prof. Dr. Antonio Pena

Department of Computer Science, Barcelona Supercomputing Center (BSC), 08034 Barcelona, Spain
orcid

Research Focus & Metrics

Academic Career Length

17Years (2010-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
1 June 2010
Verified
Conference Paper
Closed access
JDJose Duato
Jose Duato
Antonio PenaAntonio Pena
Antonio Pena
FSFederico Silla
Federico Silla
RMRafael Mayo
Rafael Mayo
EQEnrique S. Quintana-Orti
Enrique S. Quintana-Orti
The increasing computing requirements for GPUs (Graphics Processing Units) have favoured the design and marketing of commodity devices that nowadays can also be used to accelerate general purpose computing. Therefore, future high performance clusters intended for HPC (High Performance Computing) will likely include such devices. However, high-end GPU-based accelerators used in HPC feature a considerable energy consumption, so that attaching a GPU to every node of a cluster has a strong impact on its overall power consumption. In this paper we detail a framework that enables remote GPU acceleration in HPC clusters, thus allowing a reduction in the number of accelerators installed in the cluster. This leads to energy, acquisition, maintenance, and space savings.

1 January 2019 in IEEE Access
Verified
Journal Article
Open access
MJMarc Jorda
Marc Jorda
PVPedro Valero-Lara
Pedro Valero-Lara
Antonio PenaAntonio Pena
Antonio Pena
Convolutional neural networks (CNNs) have recently attracted considerable attention due to their outstanding accuracy in applications, such as image recognition and natural language processing. While one advantage of the CNNs over other types of neural networks is their reduced computational cost, faster execution is still desired for both training and inference. Since convolution operations pose most of the execution time, multiple algorithms were and are being developed with the aim of accelerating this type of operations. However, due to the wide range of convolution parameter configurations used in the CNNs and the possible data type representations, it is not straightforward to assess in advance which of the available algorithms will be the best performing in each particular case. In this paper, we present a performance evaluation of the convolution algorithms provided by the cuDNN, the library used by most deep learning frameworks for their GPU operations. In our analysis, we leverage the convolution parameter configurations from widely used the CNNs and discuss which algorithms are better suited depending on the convolution parameters for both 32 and 16-bit floating-point (FP) data representations. Our results show that the filter size and the number of inputs are the most significant parameters when selecting a GPU convolution algorithm for 32-bit FP data. For 16-bit FP, leveraging specialized arithmetic units (NVIDIA Tensor Cores) is key to obtain the best performance.

1 December 2014 in Parallel Computing
Verified
Journal Article
Closed access
Antonio PenaAntonio Pena
Antonio Pena
CRCarlos Reaño
Carlos Reaño
FSFederico Silla
Federico Silla
RMRafael Mayo
Rafael Mayo
EQEnrique S. Quintana-Ortí
Enrique S. Quintana-Ortí
JDJosé Duato
José Duato

1 April 2017
Verified
Conference Paper
Closed access
JLJuan Gómez Luna
Juan Gómez Luna
IHIzzat El Hajj
Izzat El Hajj
LCLi-Wen Chang
Li-Wen Chang
VGVíctor García-Floreszx
Víctor García-Floreszx
SGSimon Garcia de Gonzalo
Simon Garcia de Gonzalo
WHWen-Mei Hwu
Wen-Mei Hwu
Heterogeneous system architectures are evolving towards tighter integration among devices, with emerging features such as shared virtual memory, memory coherence, and systemwide atomics. Languages, device architectures, system specifications, and applications are rapidly adapting to the challenges and opportunities of tightly integrated heterogeneous platforms. Programming languages such as OpenCL 2.0, CUDA 8.0, and C++ AMP allow programmers to exploit these architectures for productive collaboration between CPU and GPU threads. To evaluate these new architectures and programming languages, and to empower researchers to experiment with new ideas, a suite of benchmarks targeting these architectures with close CPU-GPU collaboration is needed. In this paper, we classify applications that target heterogeneous architectures into generic collaboration patterns including data partitioning, fine-grain task partitioning, and coarse-grain task partitioning. We present Chai, a new suite of 14 benchmarks that cover these patterns and exercise different features of heterogeneous architectures with varying intensity. Each benchmark in Chai has seven different implementations in different programming models such as OpenCL, C++ AMP, and CUDA, and with and without the use of the latest heterogeneous architecture features. We characterize the behavior of each benchmark with respect to varying input sizes and collaboration combinations, and evaluate the impact of using the emerging features of heterogeneous architectures on application performance.

1 December 2011
Verified
Conference Paper
Closed access
JDJose Duato
Jose Duato
Antonio PenaAntonio Pena
Antonio Pena
FSFederico Silla
Federico Silla
JFJuan C. Fernandez
Juan C. Fernandez
RMRafael Mayo
Rafael Mayo
EQEnrique S. Quintana-Orti
Enrique S. Quintana-Orti
The hardware and software advances of Graphics Processing Units (GPUs) have favored the development of GPGPU (General-Purpose Computation on GPUs) and its adoption in many scientific, engineering, and industrial areas. Thus, GPUs are increasingly being introduced in high-performance computing systems as well as in datacenters. On the other hand, virtualization technologies are also receiving rising interest in these domains, because of their many benefits on acquisition and maintenance savings. There are currently several works on GPU virtualization. However, there is no standard solution allowing access to GPGPU capabilities from virtual machine environments like, e.g., VMware, Xen, VirtualBox, or KVM. Such lack of a standard solution is delaying the integration of GPGPU into these domains. In this paper, we propose a first step towards a general and open source approach for using GPGPU features within VMs. In particular, we describe the use of rCUDA, a GPGPU (General-Purpose Computation on GPUs) virtualization framework, to permit the execution of GPU-accelerated applications within virtual machines (VMs), thus enabling GPGPU capabilities on any virtualized environment. Our experiments with rCUDA in the context of KVM and VirtualBox on a system equipped with two NVIDIA GeForce 9800 GX2 cards illustrate the overhead introduced by the rCUDA middleware and prove the feasibility and scalability of this general virtualizing solution. Experimental results show that the overhead is proportional to the dataset size, while the scalability is similar to that of the native environment.

1 July 2019 in Parallel Computing
Verified
Journal Article
Closed access
KSKevin Sala
Kevin Sala
XTXavier Teruel
Xavier Teruel
JPJosep M. Perez
Josep M. Perez
Antonio PenaAntonio Pena
Antonio Pena
VBVicenç Beltran
Vicenç Beltran
JLJesus Labarta
Jesus Labarta