Miquel Vidal i Pinyol

Miquel Vidal i Pinyol

Computer Sciences, Barcelona Supercomputing Center, Barcelona, Catalonia, Spain
orcid

Research Focus & Metrics

Academic Career Length

34Years (1993-Present)

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

Representative Publications

View All Publications
4 September 2017 in Bioinformatics
Verified
Journal Article
Open access
PDF file
BJBrian Jiménez-García
Brian Jiménez-García
JRJorge Roel-Touris
Jorge Roel-Touris
MRMiguel Romero-Durana
Miguel Romero-Durana
MPMiquel Vidal i Pinyol
Miquel Vidal i Pinyol
DJDaniel Jiménez-González
Daniel Jiménez-González
JFJuan Fernandez-Recio
Juan Fernandez-Recio
Computational prediction of protein–protein complex structure by docking can provide structural and mechanistic insights for protein interactions of biomedical interest. However, current methods struggle with difficult cases, such as those involving flexible proteins, low-affinity complexes or transient interactions. A major challenge is how to efficiently sample the structural and energetic landscape of the association at different resolution levels, given that each scoring function is often highly coupled to a specific type of search method. Thus, new methodologies capable of accommodating multi-scale conformational flexibility and scoring are strongly needed. We describe here a new multi-scale protein–protein docking methodology, LightDock, capable of accommodating conformational flexibility and a variety of scoring functions at different resolution levels. Implicit use of normal modes during the search and atomic/coarse-grained combined scoring functions yielded improved predictive results with respect to state-of-the-art rigid-body docking, especially in flexible cases. The source code of the software and installation instructions are available for download at https://life.bsc.es/pid/lightdock/. Supplementary data are available at Bioinformatics online.

1 December 2018
Verified
Conference Paper
Closed access
JBJaume Bosch
Jaume Bosch
XTXubin Tan
Xubin Tan
AFAntonio Filgueras
Antonio Filgueras
MPMiquel Vidal i Pinyol
Miquel Vidal i Pinyol
MMMarc Mateu
Marc Mateu
JLJesus Labarta
Jesus Labarta
OmpSs@FPGA is the flavor of OmpSs that allows offloading application functionality to FPGAs. Similarly to OpenMP, it is based on compiler directives. While the OpenMP specification also includes support for heterogeneous execution, we use OmpSs and OmpSs@FPGA as prototype implementation to develop new ideas for OpenMP. OmpSs@FPGA implements the tasking model with runtime support to automatically exploit all SMP and FPGA resources available in the execution platform. In this paper, we present the OmpSs@FPGA ecosystem, based on the Mercurium compiler and the Nanos++ runtime system. We show how the applications are transformed to run on the SMP cores and the FPGA. The application kernels defined as tasks to be accelerated, using the OmpSs directives are: 1) transformed by the compiler into kernels connected with the proper synchronization and communication ports, 2) extracted to intermediate files, 3) compiled through the FPGA vendor HLS tool, and 4) used to configure the FPGA. Our Nanos++ runtime system schedules the application tasks on the platform, being able to use the SMP cores and the FPGA accelerators at the same time. We present the evaluation of the OmpSs@FPGA environment with the Matrix Multiplication, Cholesky and N-Body benchmarks, showing the internal details of the execution, and the performance obtained on a Zynq Ultrascale+ MPSoC (up to 128x). The source code uses OmpSs@FPGA annotations and different Vivado HLS optimization directives are applied for acceleration.

2 June 2021 in IEEE Transactions on Computers
Verified
Journal Article
Closed access
JDJuan Miguel Deharo
Juan Miguel Deharo
JBJaume Bosch
Jaume Bosch
AFAntonio Filgueras
Antonio Filgueras
MPMiquel Vidal i Pinyol
Miquel Vidal i Pinyol
DJDaniel Jimenez-Gonzalez
Daniel Jimenez-Gonzalez
JLJesus Labarta
Jesus Labarta
This article presents the new features of the OmpSs@FPGA framework. OmpSs is a data-flow programming model that supports task nesting and dependencies to target asynchronous parallelism and heterogeneity. OmpSs@FPGA is the extension of the programming model addressed specifically to FPGAs. OmpSs environment is built on top of Mercurium source to source compiler and Nanos++ runtime system. To address FPGA specifics Mercurium compiler implements several FPGA related features as local variable caching, wide memory accesses or accelerator replication. In addition, part of the Nanos++ runtime has been ported to hardware. Driven by the compiler this new hardware runtime adds new features to FPGA codes, such as task creation and dependence management, providing both performance increases and ease of programming. To demonstrate these new capabilities, different high performance benchmarks have been evaluated over different FPGA platforms using the OmpSs programming model. The results demonstrate that programs that use the OmpSs programming model achieve very competitive performance with low to moderate porting effort compared to other FPGA implementations.

1 January 1993 in Enzyme and Microbial Technology
Verified
Journal Article
Closed access
ABAntoni Benito
Antoni Benito
Francisco ValeroFrancisco Valero
Francisco Valero
JLJ. Lafuente
J. Lafuente
MPMiquel Vidal i Pinyol
Miquel Vidal i Pinyol
JCJ. Cairo
J. Cairo
AVAntonio P Villaverde
Antonio P Villaverde

1 May 2017
Verified
Conference Paper
Closed access
XTXubin Tan
Xubin Tan
JBJaume Bosch
Jaume Bosch
MPMiquel Vidal i Pinyol
Miquel Vidal i Pinyol
CACarlos Alvarez
Carlos Alvarez
DJDaniel Jimenez-Gonzalez
Daniel Jimenez-Gonzalez
MVMateo Valero
Mateo Valero
Task-based programming models such as OpenMP, IntelTBB and OmpSs offer the possibility of expressing dependences among tasks to drive their execution at runtime. Managing these dependences introduces noticeable overheads when targeting fine-grained tasks, diminishing the potential speedups or even introducing performance losses. To overcome this drawback, we present a general purpose hardware accelerator, Picos++, to manage the inter-task dependences efficiently in both time and energy. Our design also includes a novel nested task support. To this end, a new hardware/software co-design is presented to overcome the fact that nested tasks with dependences could result in system deadlocks due to the limited amount of resources in hardware task dependence managers. In this paper we describe a detailed implementation of this design and evaluate a parallel task-based programming model using Picos++ in a Linux embedded system with two ARM Cortex-A9 and a FPGA. The scalability and energy consumption of the real system implemented have been studied and compared against a software runtime. Even in a system limited to 2 threads, using Picos++ results in more than 1.8x speedup and 40% of energy savings in the most demanding parallelizations of real benchmarks. As a matter of fact, a hardware task dependence manager should be able to achieve much higher speedup and provide more energy savings with more threads.

1 November 2016 in Microprocessors and Microsystems
Verified
Journal Article
Open access
CÁCarlos Álvarez
Carlos Álvarez
EAEduard Ayguadé
Eduard Ayguadé
JBJaume Bosch
Jaume Bosch
JBJavier Bueno
Javier Bueno
ACArtem Cherkashin
Artem Cherkashin
RGRoberto Giorgi
Roberto Giorgi