Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
About

About

João M. P. Cardoso received his PhD degree in Electrical and Computer Engineering from the IST/UTL (Technical University of Lisbon), Lisbon, Portugal in 2001. He is currently Full Professor at the Department of Informatics Eng., Faculty of Eng. of the University of Porto, Porto, Portugal, and a research member of INESC TEC. Before, he was with the IST/UTL (2006-2008), a senior researcher at INESC-ID (2001-2009), and with the University of Algarve (1993-2006). In 2001/2002, he worked for PACT XPP Technologies, Inc., Munich, Germany. He has been involved in the organization and served as a Program Committee member for many international conferences. For example, he was general Co-Chair of IEEE/IFIP EUC’2015 and IEEE CSE’2015, General Chair of FPL’2013, General Co-Chair of ARC’2014 and ARC’2006, Program Co-Chair of ARCS’2016, DASIP’2014, and RAW’2010. He has (co-)authored over 150 scientific publications on subjects related to compilers, embedded systems, and reconfigurable computing. He has coordinated a number of research projects. He is a senior member of IEEE, a member of IEEE Computer Society, and a senior member of ACM.  His research interests include compilation techniques, domain-specific languages, reconfigurable computing, application-specific architectures, and high-performance computing with a particular emphasis in embedded computing.

Interest
Topics
Details

Details

  • Name

    João Paiva Cardoso
  • Cluster

    Computer Science
  • Role

    Senior Researcher
  • Since

    01st July 2011
002
Publications

2023

Electrical sensing of the plant Mimosa pudica under environmental temperatures

Authors
Lobo, MA; Cardoso, JMP; Rocha, PRF;

Publication
2023 IEEE 7TH PORTUGUESE MEETING ON BIOENGINEERING, ENBENG

Abstract
Plants gather and process information about their surroundings to make decisions that prioritize their well-being while considering the environment. These decisions are conveyed through electrical signals within and between cells, mainly in the form of action and variation potentials, in response to stimuli, including mechanical vibrations, changes in temperature, light intensity, and humidity. Although the ability of some plants, such as the Mimosa pudica, to react to sudden environmental stimuli (e.g., touch) is well known, their long-term electrical response under slow environmental changes remains not fully understood. Here, a multi-source monitoring system has been developed to collect and store electrical signals from the plant Mimosa pudica, and surrounding environmental temperature and humidity, over a period of approximately 5 days. A realtime dashboard shows the environmental temperature and variation potential (VP) from Mimosa pudica. The VP mimics the environmental temperature changes, with an associated delay. Our long-term physiological observations suggest that environmental temperature sensing in the plant Mimosa pudica can be monitored and is likely driven by bioelectricity.

2023

A Study on Hyperparameters Configurations for an Efficient Human Activity Recognition System

Authors
Ferreira, PJS; Moreira, JM; Cardoso, JMP;

Publication
CoRR

Abstract

2023

Preface ASAP 2023

Authors
Cardoso, JMP; Jimborean, A; Mentens, N; Coutinho, JGF;

Publication
34th IEEE International Conference on Application-specific Systems, Architectures and Processors, ASAP 2023, Porto, Portugal, July 19-21, 2023

Abstract
[No abstract available]

2022

Pegasus: Performance Engineering for Software Applications Targeting HPC Systems

Authors
Pinto, P; Bispo, J; Cardoso, J; Barbosa, JG; Gadioli, D; Palermo, G; Martinovic, J; Golasowski, M; Slaninova, K; Cmar, R; Silvano, C;

Publication
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING

Abstract
Developing and optimizing software applications for high performance and energy efficiency is a very challenging task, even when considering a single target machine. For instance, optimizing for multicore-based computing systems requires in-depth knowledge about programming languages, application programming interfaces (APIs), compilers, performance tuning tools, and computer architecture and organization. Many of the tasks of performance engineering methodologies require manual efforts and the use of different tools not always part of an integrated toolchain. This paper presents Pegasus, a performance engineering approach supported by a framework that consists of a source-to-source compiler, controlled and guided by strategies programmed in a Domain-Specific Language, and an autotuner. Pegasus is a holistic and versatile approach spanning various decision layers composing the software stack, and exploiting the system capabilities and workloads effectively through the use of runtime autotuning. The Pegasus approach helps developers by automating tasks regarding the efficient implementation of software applications in multicore computing systems. These tasks focus on application analysis, profiling, code transformations, and the integration of runtime autotuning. Pegasus allows developers to program their strategies or to automatically apply existing strategies to software applications in order to ensure the compliance of non-functional requirements, such as performance and energy efficiency. We show how to apply Pegasus and demonstrate its applicability and effectiveness in a complex case study, which includes tasks from a smart navigation system.

2021

An Efficient Monte Carlo-Based Probabilistic Time-Dependent Routing Calculation Targeting a Server-Side Car Navigation System

Authors
Vitali, E; Gadioli, D; Palermo, G; Golasowski, M; Bispo, J; Pinto, P; Martinovic, J; Slaninova, K; Cardoso, JMP; Silvano, C;

Publication
IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING

Abstract
Incorporating speed probability distribution to the computation of the route planning in car navigation systems guarantees more accurate and precise responses. In this paper, we propose a novel approach for selecting dynamically the number of samples used for the Monte Carlo simulation to solve the Probabilistic Time-Dependent Routing (PTDR) problem, thus improving the computation efficiency. The proposed method is used to determine in a proactive manner the number of simulations to be done to extract the travel-time estimation for each specific request, while respecting an error threshold as output quality level. The methodology requires a reduced effort on the application development side. We adopted an aspect-oriented programming language (LARA) together with a flexible dynamic autotuning library (mARGOt) respectively to instrument the code and to make decisions on tuning the number of samples to improve the execution efficiency. Experimental results demonstrate that the proposed adaptive approach saves a large fraction of simulations (between 36 and 81 percent) with respect to a static approach, while considering different traffic situations, paths and error requirements. Given the negligible runtime overhead of the proposed approach, the execution-time speedup is between 1.5x and 5.1x. This speedup is reflected at the infrastructure-level in terms of a reduction of 36 percent of the computing resources needed to support the whole navigation pipeline.

Supervised
thesis

2022

Automatic Selection of Software Code Regions for Migrating to GPUs

Author
Fábio Daniel Reis Gaspar

Institution
UP-FEUP

2022

Runtime-aware Compiler Optimizations for High-Performance Embedded Computing

Author
Pedro Miguel dos Santos Pinto

Institution
UP-FEUP

2022

Strategies for Compiler Phase Ordering Targeting CPUs

Author
João Miguel Araújo Monteiro da Rocha

Institution
UP-FEUP

2022

Programming FPGAs Using Task-Graphs and C code

Author
Luís Miguel Jardim Noites

Institution
UP-FEUP

2022

Energy-Computing Efficient Classification Techniques for Mobile-Based HAR Systems

Author
Paulo Jorge Silva Ferreira

Institution
UP-FEUP