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
Publications

Publications by CRIIS

2017

cf4ocl: A C framework for OpenCL

Authors
Fachada, N; Lopes, VV; Martins, RC; Rosa, AC;

Publication
SCIENCE OF COMPUTER PROGRAMMING

Abstract
OpenCL is an open standard for parallel programming of heterogeneous compute devices, such as GPUs, CPUs, DSPs or FPGAs. However, the verbosity of its C host API can hinder application development. In this paper we present cf4ocl, a software library for rapid development of OpenCL programs in pure C. It aims to reduce the verbosity of the OpenCL API, offering straightforward memory management, integrated profiling of events (e.g., kernel execution and data transfers), simple but extensible device selection mechanism and user-friendly error management. We compare two versions of a conceptual application example, one based on cf4ocl, the other developed directly with the OpenCL host API. Results show that the former is simpler to implement and offers more features, at the cost of an effectively negligible computational overhead. Additionally, the tools provided with cf4ocl allowed for a quick analysis on how to optimize the application.

2017

Parallelization Strategies for Spatial Agent-Based Models (vol 45, pg 449, 2017)

Authors
Fachada, N; Lopes, VV; Martins, RC; Rosa, AC;

Publication
INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING

Abstract
The original version of this article unfortunately contained amistake. The presentation of Table 3 was incorrect. The corrected (Table 3) is given below. © 2017, Springer Science+Business Media New York.

2017

Model-independent comparison of simulation output

Authors
Fachada, N; Lopes, VV; Martins, RC; Rosa, AC;

Publication
SIMULATION MODELLING PRACTICE AND THEORY

Abstract
Computational models of complex systems are usually elaborate and sensitive to implementation details, characteristics which often affect their verification and validation. Model replication is a possible solution to this issue. It avoids biases associated with the language or toolkit used to develop the original model, not only promoting its verification and validation, but also fostering the credibility of the underlying conceptual model. However, different model implementations must be compared to assess their equivalence. The problem is, given two or more implementations of a stochastic model, how to prove that they display similar behavior? In this paper, we present a model comparison technique, which uses principal component analysis to convert simulation output into a set of linearly uncorrelated statistical measures, analyzable in a consistent, model-independent fashion. It is appropriate for ascertaining distributional equivalence of a model replication with its original implementation. Besides model-independence, this technique has three other desirable properties: a) it automatically selects output features that best explain implementation differences; b) it does not depend on the distributional properties of simulation output; and, c) it simplifies the modelers' work, as it can be used directly on simulation outputs. The proposed technique is shown to produce similar results to the manual or empirical selection of output features when applied to a well-studied reference model.

2017

Parallelization Strategies for Spatial Agent-Based Models

Authors
Fachada, N; Lopes, VV; Martins, RC; Rosa, AC;

Publication
INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING

Abstract
Agent-based modeling (ABM) is a bottom-up modeling approach, where each entity of the system being modeled is uniquely represented as an independent decision-making agent. Large scale emergent behavior in ABMs is population sensitive. As such, the number of agents in a simulation should be able to reflect the reality of the system being modeled, which can be in the order of millions or billions of individuals in certain domains. A natural solution to reach acceptable scalability in commodity multi-core processors consists of decomposing models such that each component can be independently processed by a different thread in a concurrent manner. In this paper we present a multithreaded Java implementation of the PPHPC ABM, with two goals in mind: (1) compare the performance of this implementation with an existing NetLogo implementation; and, (2) study how different parallelization strategies impact simulation performance on a shared memory architecture. Results show that: (1) model parallelization can yield considerable performance gains; (2) distinct parallelization strategies offer specific trade-offs in terms of performance and simulation reproducibility; and, (3) PPHPC is a valid reference model for comparing distinct implementations or parallelization strategies, from both performance and statistical accuracy perspectives.

2017

Combining discriminative spatiotemporal features for daily life activity recognition using wearable motion sensing suit

Authors
Vital, JPM; Faria, DR; Dias, G; Couceiro, MS; Coutinho, F; Ferreira, NMF;

Publication
PATTERN ANALYSIS AND APPLICATIONS

Abstract
Motion sensing plays an important role in the study of human movements, motivated by a wide range of applications in different fields, such as sports, health care, daily activity, action recognition for surveillance, assisted living and the entertainment industry. In this paper, we describe how to classify a set of human movements comprising daily activities using a wearable motion capture suit, denoted as FatoXtract. A probabilistic integration of different classifiers recently proposed is employed herein, considering several spatiotemporal features, in order to classify daily activities. The classification model relies on the computed confidence belief from base classifiers, combining multiple likelihoods from three different classifiers, namely Na < ve Bayes, artificial neural networks and support vector machines, into a single form, by assigning weights from an uncertainty measure to counterbalance the posterior probability. In order to attain an improved performance on the overall classification accuracy, multiple features in time domain (e.g., velocity) and frequency domain (e.g., fast Fourier transform), combined with geometrical features (joint rotations), were considered. A dataset from five daily activities performed by six participants was acquired using FatoXtract. The dataset provided in this work was designed to be extremely challenging since there are high intra-class variations, the duration of the action clips varies dramatically, and some of the actions are quite similar (e.g., brushing teeth and waving, or walking and step). Reported results, in terms of both precision and recall, remained around 85 %, showing that the proposed framework is able to successfully classify different human activities.

2017

An improved simulated annealing algorithm for solving complex water distribution networks

Authors
Cunha, M; Marques, J;

Publication
CCWI 2017 - 15th International Conference on Computing and Control for the Water Industry

Abstract
Optimising the design of water distribution networks (WDNs) is a well-known problem that has been studied by numerous researchers. This work proposes a heuristic based on simulated annealing and improved by using concepts from the cross-entropy method. The proposed optimization approach is presented and used in two case studies of different complexity. The results show not only a fall in the computational effort of the new approach relative to simulated annealing but also include a comparison with other heuristic results from the literature, used to solve the same problems.

  • 225
  • 377