sample of publications
-
articles
- Towards enhanced MRI by using a multiple back end programming framework. Future Generation Computer Systems-The International Journal of eScience. 112:467-477. 2020
- Refactoring GrPPI: Generic Refactoring for Generic Parallelism in C++. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING. 48:603-625. 2020
- Refactoring software to heterogeneous parallel platforms. JOURNAL OF SUPERCOMPUTING. 75:3997-4000. 2019
- A parallel-computing algorithm for high-energy physics particle tracking and decoding using GPU architectures. IEEE Access. 7:91612-91626. 2019
- Exploring stream parallel patterns in distributed MPI environments. PARALLEL COMPUTING. 84:24-36. 2019
- Challenging the abstraction penalty in parallel patterns libraries. JOURNAL OF SUPERCOMPUTING. 76:5139-5159. 2019
- Guest Editorial: High-Level Parallel Programming and the Road to High Performance. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING. 47:161-163. 2019
- Detecting semantic violations of lock-free data structures through C++ contracts. JOURNAL OF SUPERCOMPUTING. 1-22. 2019
- High-level parallel programming in a heterogeneous world. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE. 31. 2019
- An adaptive offline implementation selector for heterogeneous parallel platforms. INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS. 32:854-863. 2018
- Finding parallel patterns through static analysis in C ++ applications. INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS. 32:779-788. 2018
- Reengineering for parallelism in heterogeneous parallel platforms. JOURNAL OF SUPERCOMPUTING. 74:5625-5627. 2018
- Paving the way towards high-level parallel pattern interfaces for data stream processing. Future Generation Computer Systems-The International Journal of eScience. 87:228-241. 2018
- Towards automatic parallelization of stream processing applications. IEEE Access. 6:39944-39961. 2018
- Enabling semantics to improve detection of data races and misuses of lock-free data structures. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE. 29. 2017
- A Generic Parallel Pattern Interface for Stream and Data Processing. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE. 29:1-12. 2017
- Automatic CPU/GPU Generation of Multi-versioned OpenCL Kernels for C++ Scientific Applications. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING. 45:262-282. 2017
- Static partitioning and mapping of kernel-based applications over modern heterogeneous architectures. SIMULATION MODELLING PRACTICE AND THEORY. 58:79-94. 2015
- A quantitative justification to dynamic partial replication of web contents through an agent architecture. International Journal of Interactive Multimedia and Artificial Intelligence. 3:82-88. 2015
- The Internet of things: connecting the world. Personal and Ubiquitous Computing. 18:445-447. 2014
- A comparative study and evaluation of parallel programming models for shared-memory parallel architectures. NEW GENERATION COMPUTING. 31:139-161. 2013
- A novel Black-Box simulation model methodology for predicting performance and energy consumption in commodity storage. SIMULATION MODELLING PRACTICE AND THEORY. 48-63. 2013
- A web cluster architectural proposal for balancing storage capacity and reliability by using partial replication. COMPUTER SYSTEMS SCIENCE AND ENGINEERING. 28:191-202. 2013
- Power saving-aware prefetching for SSD-based systems. JOURNAL OF SUPERCOMPUTING. 58:323-331. 2011
- New Techniques for Simulating High Performance MPI Applications on Large Storage Networks. JOURNAL OF SUPERCOMPUTING. 51:40-57. 2010
- Scalable Storage Systems and High-Performence Applications. JOURNAL OF SUPERCOMPUTING. 51:1-2. 2010
- Fault Tolerant File Models for Parallel File Systems: Introducing Distribution Patterns for Every File. JOURNAL OF SUPERCOMPUTING. 47:312-334. 2009
- Scalability in Data Management. JOURNAL OF SUPERCOMPUTING. 47:253-254. 2009
-
books
- ICA3PP 2016 Collocated Workshops: SCDT, TAPEMS, BigTrust, UCER, DLMCS, Granada, Spain, December 14-16, 2016, Proceedings. Ed. 10049. SPRINGER. 2016
- Problemas resueltos de estructura de computadores. MADRID: PARANINFO. 2015
- Programación en lenguajes estructurados. MADRID: PARANINFO. 2008
-
conference contributions
- A Hybrid Approach to Parallel Pattern Discovery in C++. 187-191. 2020
- Relaxing the one definition rule in interpreted C++. 212-222. 2020
- Exploiting stream parallelism of MRI reconstruction using GrPPI over multiple back-ends. 631-637. 2019
- Parallelizing and optimizing LHCB-Kalman for Intel Xeon Phi Knl processors. 741-750. 2018
- Supporting Advanced Patterns in GrPPI, a Generic Parallel Pattern Interface. 55-67. 2018
- Supporting MPI-distributed stream parallel patterns in GrPPI 2018
-
Automatic CPU/GPU Generation of
Multi-versioned OpenCL Kernels for C++ Scientific Applications. 262-282. 2017 - Probabilistic-based selection of alternate implementations for heterogeneous platforms. 749-758. 2017
- A C++ Generic Parallel Pattern Interface for Stream Processing. 74-87. 2016
- ACTIS: Automatic Compile-Time Implementation Selector for Heterogeneous Platforms 2016
- Application Partitioning and Mapping Techniques for Heterogeneous Parallel Platforms. 65-68. 2016
- Discovering pipeline parallel patterns in sequential legacy C++ codes. 11-19. 2016
-
Embedding Semantics
of the Single-Producer/Single-Consumer Lock-Free Queue into a Race Detection
Tool. 20-29. 2016 -
Identifying Parallel
Patterns in C++ Codes 2016 -
Improving Detection
of Data Races and Misuses of Lock-Free Queues via Semantics 2016 - Introducing Parallelism by using REPARA C++ Attributes. 354-358. 2016
- Migración portable y de altas prestaciones de aplicaciones Matlab a C++: deconvolución esférica de datos de resonancia magnética por difusión. 105-110. 2016
-
Migración portable y
de altas prestaciones de aplicaciones Matlab a C++: deconvolución esférica de
datos de resonancia magnética por difusión 2016 - Paralelización automática en tiempo de compilación de códigos C++ 2016
- Porting Matlab applications to high-performance C++ codes: CPU/GPU-accelerated spherical deconvolution of diffusion MRI data. 630-643. 2016
- REPARA: Transformación de código basada en anotaciones usando atributos de C++11 2015
- Selección entre alternativas algorítmicas en plataformas heterogéneas usando programación genérica basada en conceptos 2015
- A Black Box Model for Storage Devices based on Probability Distributions. 355-362. 2012
- A Comparative Evaluation of Parallel Programming Models for Shared-Memory Architectures. 363-370. 2012
- Evaluación comparativa de modelos de programación paralela en arquitectura de memoria compartida 2012
- A Power-aware Based Storage Architecture for High Performance Computing. 17-24. 2011
- Analyzing Scalable High-Performance I/O Architectures 2008
- Impact of Social Networking Services on the Performance and Scalability of Web Infrastructures 2008
- M-PLAT: Multi-Programming Language Adaptive Tutor 2008
- Management of Distributed and Redundant Storage in High Demand Web Servers for Heterogeneous Networks Access by Agents 2008
- New Techniques for Modelling File Data Distribution on Storage Nodes. 175-182. 2008
- New Techniques for Simulating High Performance MPI Applications on Large Storage Networks 2008
- SIMCAN: A Simulator Framework for Computer Architectures and Storage Networks 2008
- Using black-box modeling techniques for modern disk drives service time simulation. 139-145. 2008
-
working papers
- A comparative study of electronic invoice in 4 European countries 2017
- Improving performance and maintainability through refactoring inC++11 2015
- Arrays of run-time bounds as data members 2014
- C++ language support for contract programming 2014
- Exploring the design space of contract specifications for C++ 2014
- Target Platform Description Specification 2014
- REPARA C++ Open Specification 2014
- N3875: Run-time bound array data members 2014