Gabriel Rodríguez

Prof. Dr. Gabriel Rodríguez

CITIC Research Center, Universidade da Coruña, 15001 A Coruña, Spain
orcid

Research Focus & Metrics

Academic Career Length

21Years (2006-Present)

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

Representative Publications

View All Publications
17 November 2009 in Concurrency and Computation: Practice and Experience
Verified
Journal Article
Closed access
PDF file
GRGabriel Rodríguez
Gabriel Rodríguez
MMMaría J. Martín
María J. Martín
PGPatricia González
Patricia González
JTJuan Touriño
Juan Touriño
RDRamón Doallo
Ramón Doallo

8 June 2019
Verified
Conference Paper
Open access
TATravis Augustine
Travis Augustine
JSJanarthanan Sarma
Janarthanan Sarma
LPLouis-Noël Pouchet
Louis-Noël Pouchet
GRGabriel Rodríguez
Gabriel Rodríguez
Irregular data structures, as exemplified with sparse matrices, have proved to be essential in modern computing. Numerous sparse formats have been investigated to improve the overall performance of Sparse Matrix-Vector multiply (SpMV). But in this work we propose instead to take a fundamentally different approach: to automatically build sets of regular sub-computations by mining for regular sub-regions in the irregular data structure. Our approach leads to code that is specialized to the sparsity structure of the input matrix, but which does not need anymore any indirection array, thereby improving SIMD vectorizability. We particularly focus on small sparse structures (below 10M nonzeros), and demonstrate substantial performance improvements and compaction capabilities compared to a classical CSR implementation and Intel MKL IE's SpMV implementation, evaluating on 200+ different matrices from the SuiteSparse repository.

29 April 2019 in IEEE Access
Verified
Journal Article
Open access
RORoberto Osorio
Roberto Osorio
GRGabriel Rodríguez
Gabriel Rodríguez
Approximate computing has been exploited for many years in application-specific architectures. Recently, it has also been proposed for low-power programmable processors. However, this poses some challenges as, in a microprocessor, the energy consumed by fetching and decoding an instruction may be significantly higher than that of the execution itself. Therefore, approximate computing would be advisable only for those instructions, in which the execution stage is significantly expensive in terms of energy consumption. In this paper, we present new architectures for truncated SIMD multipliers able to calculate signed and unsigned products from $8\times {}8$ to $64\times {}64$ bits. Next, we analyze the precision loss incurred by truncation for all product sizes. We implement accurate and truncated architectures for both scalar and SIMD products and find that truncation allows area savings of up to 27%. The proposed design is experimentally evaluated in different scenarios, showing potential energy savings ranging from 29% to 42%. Finally, this paper analyzes the overall convenience of introducing truncated SIMD architectures with respect to accurate SIMD and scalar architectures.

27 February 2021
Verified
Conference Paper
Open access
MAMiguel Á. Abella-González
Miguel Á. Abella-González
PCPedro Carollo-Fernández
Pedro Carollo-Fernández
LPLouis-Noël Pouchet
Louis-Noël Pouchet
FRFabrice Rastello
Fabrice Rastello
GRGabriel Rodríguez
Gabriel Rodríguez
Python has become one of the most used and taught languages nowadays. Its expressiveness, cross-compatibility and ease of use have made it popular in areas as diverse as finance, bioinformatics or machine learning. However, Python programs are often significantly slower to execute than an equivalent native C implementation, especially for computation-intensive numerical kernels. This work presents PolyBench/Python, implementing the 30 kernels in PolyBench/C, one of the standard benchmark suites for polyhedral optimization, in Python. In addition to the benchmark kernels, a functional wrapper including mechanisms for performance measurement, testing, and execution configuration has been developed. The framework includes support for different ways to translate C-array codes into Python, offering insight into the tradeoffs of Python lists and NumPy arrays. The benchmark performance is thoroughly evaluated on different Python interpreters, and compared against its PolyBench/C counterpart to highlight the profitability (or lack thereof) of using Python for regular numerical codes.

8 December 2014 in ACM Transactions on Architecture and Code Optimization
Verified
Journal Article
Open access
GRGabriel Rodríguez
Gabriel Rodríguez
JTJuan Touriño
Juan Touriño
MKMahmut T. Kandemir
Mahmut T. Kandemir
On-chip power consumption is one of the fundamental challenges of current technology scaling. Cache memories consume a sizable part of this power, particularly due to leakage energy. STT-RAM is one of several new memory technologies that have been proposed in order to improve power while preserving performance. It features high density and low leakage, but at the expense of write energy and performance. This article explores the use of STT-RAM--based scratchpad memories that trade nonvolatility in exchange for faster and less energetically expensive accesses, making them feasible for on-chip implementation in embedded systems. A novel multiretention scratchpad partitioning is proposed, featuring multiple storage spaces with different retention, energy, and performance characteristics. A customized compiler-based allocation algorithm suitable for use with such a scratchpad organization is described. Our experiments indicate that a multiretention STT-RAM scratchpad can provide energy savings of 53% with respect to an iso-area, hardware-managed SRAM cache.

1 July 2013 in New Generation Computing
Verified
Journal Article
Closed access
PDF file
ICIván Cores
Iván Cores
GRGabriel Rodríguez
Gabriel Rodríguez
MMMaría J. Martín
María J. Martín
PGPatricia González
Patricia González
RORoberto Osorio
Roberto Osorio