Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por João Paiva Cardoso

2019

A framework for automatic and parameterizable memoization

Autores
Besnard, L; Pinto, P; Lasri, I; Bispo, J; Rohou, E; Cardoso, JMP;

Publicação
SOFTWAREX

Abstract
Improving execution time and energy efficiency is needed for many applications and usually requires sophisticated code transformations and compiler optimizations. One of the optimization techniques is memoization, which saves the results of computations so that future computations with the same inputs can be avoided. In this article we present a framework that automatically applies memoization techniques to C/C++ applications. The framework is based on automatic code transformations using a source-to-source compiler and on a memoization library. With the framework users can select functions to memoize as long as they obey to certain restrictions imposed by our current memoization library. We show the use of the framework and associated memoization technique and the impact on reducing the execution time and energy consumption of four representative benchmarks. (C) 2019 The Authors. Published by Elsevier B.V.

2019

Automatic Switching Between Video and Audio According to User's Context

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

Publicação
Progress in Artificial Intelligence, 19th EPIA Conference on Artificial Intelligence, EPIA 2019, Vila Real, Portugal, September 3-6, 2019, Proceedings, Part II.

Abstract
Smartphones are increasingly present in human’s life. For example, for entertainment many people use their smartphones to watch videos or listen to music. Many users, however, stream or play videos with the intention to only listen to the audio track. This way, some battery energy, which is critical to most users, is unnecessarily consumed thus and switching between video and audio can increase the time of use of the smartphone between battery recharges. In this paper, we present a first approach that, based on the user context, can automatically switch between video and audio. A supervised learning approach is used along with the classifiers K-Nearest Neighbors, Hoeffding Trees and Naive Bayes, individually and combined to create an ensemble classifier. We investigate the accuracy for recognizing the context of the user and the overhead that this system can have on the smartphone energy consumption. We evaluate our approach with several usage scenarios and an average accuracy of 88.40% was obtained for the ensemble classifier. However, the actual overhead of the system on the smartphone energy consumption highlights the need for researching further optimizations and techniques. © 2019, Springer Nature Switzerland AG.

2019

An Efficient Scheme for Prototyping kNN in the Context of Real-Time Human Activity Recognition

Autores
Ferreira, PJS; Magalhaes, RMC; Garcia, KD; Cardoso, JMP; Mendes Moreira, J;

Publicação
INTELLIGENT DATA ENGINEERING AND AUTOMATED LEARNING - IDEAL 2019, PT I

Abstract
The Classifier kNN is largely used in Human Activity Recognition systems. Research efforts have proposed methods to decrease the high computational costs of the original kNN by focusing, e.g., on approximate kNN solutions such as the ones relying on Locality-sensitive Hashing (LSH). However, embedded kNN implementations need to address the target device memory constraints and power/energy consumption savings. One of the important aspects is the constraint regarding the maximum number of instances stored in the kNN learning process (being it offline or online and incremental). This paper presents simple, energy/computationally efficient and real-time feasible schemes to maintain a maximum number of learning instances stored by kNN. Experiments in the context of HAR show the efficiency of our best approaches, and their capability to avoid the kNN storage runs out of training instances for a given activity, a situation not prevented by typical default schemes.

2019

Energy Efficient Smartphone-Based Users Activity Classification

Autores
Magalhães, RMC; Cardoso, JMP; Moreira, JM;

Publicação
Progress in Artificial Intelligence, 19th EPIA Conference on Artificial Intelligence, EPIA 2019, Vila Real, Portugal, September 3-6, 2019, Proceedings, Part II.

Abstract
Nowadays most people carry a smartphone with built-in sensors (e.g., accelerometers, gyroscopes) capable of providing useful data for Human Activity Recognition (HAR). Machine learning classification methods have been intensively researched and developed for HAR systems, each with different accuracy and performance levels. However, acquiring sensor data and executing machine learning classifiers require computational power and consume energy. As such, a number of factors, such as inadequate preprocessing, can have a negative impact on the overall HAR performance, even on high-end handheld devices. While high accuracy can be extremely important in some applications, the device’s battery life can be highly critical to the end-user. This paper is focused on the k-nearest neighbors’ algorithm (kNN), one of the most used algorithms in HAR systems, and research and develop energy-efficient implementations for mobile devices. We focus on a kNN implementation based on Locality-Sensitive Hashing (LSH) with a significant positive impact on the device’s battery life, fully integrated into a mobile HAR Android application able to classify human activities in real-time. The proposed kNN implementation was able to achieve execution time reductions of 50% over other versions of kNN with average accuracy of 96.55% when considering 8 human activities. © 2019, Springer Nature Switzerland AG.

2020

Source-to-source compilation targeting OpenMP-based automatic parallelization of C applications

Autores
Arabnejad, H; Bispo, J; Cardoso, JMP; Barbosa, JG;

Publicação
JOURNAL OF SUPERCOMPUTING

Abstract
Directive-driven programming models, such as OpenMP, are one solution for exploring the potential parallelism when targeting multicore architectures. Although these approaches significantly help developers, code parallelization is still a non-trivial and time-consuming process, requiring parallel programming skills. Thus, many efforts have been made toward automatic parallelization of the existing sequential code. This article presents AutoPar-Clava, an OpenMP-based automatic parallelization compiler which: (1) statically detects parallelizable loops in C applications; (2) classifies variables used inside the target loop based on their access pattern; (3) supportsreductionclauses on scalar and array variables whenever it is applicable; and (4) generates a C OpenMP parallel code from the input sequential version. The effectiveness of AutoPar-Clava is evaluated by using the NAS and Polyhedral Benchmark suites and targeting a x86-based computing platform. The achieved results are very promising and compare favorably with closely related auto-parallelization compilers, such as Intel C/C++ Compiler (icc), ROSE, TRACO and CETUS.

2020

A Study on Hyperparameter Configuration for Human Activity Recognition

Autores
Crarcia, KD; Carvalho, T; Mendes Moreira, J; Cardoso, JMP; de Carvalho, ACPLF;

Publicação
14TH INTERNATIONAL CONFERENCE ON SOFT COMPUTING MODELS IN INDUSTRIAL AND ENVIRONMENTAL APPLICATIONS (SOCO 2019)

Abstract
Human Activity Recognition is a machine learning task for the classification of human physical activities. Applications for that task have been extensively researched in recent literature, specially due to the benefits of improving quality of life. Since wearable technologies and smartphones have become more ubiquitous, a large amount of information about a person's life has become available. However, since each person has a unique way of performing physical activities, a Human Activity Recognition system needs to be adapted to the characteristics of a person in order to maintain or improve accuracy. Additionally, when smartphones devices are used to collect data, it is necessary to manage its limited resources, so the system can efficiently work for long periods of time. In this paper, we present a semi-supervised ensemble algorithm and an extensive study of the influence of hyperparameter configuration in classification accuracy. We also investigate how the classification accuracy is affected by the person and the activities performed. Experimental results show that it is possible to maintain classification accuracy by adjusting hyperparameters, like window size and window overlap, depending on the person and activity performed. These results motivate the development of a system able to automatically adapt hyperparameter settings for the activity performed by each person.

  • 19
  • 42