Percorrer por autor "Rosa, Agostinho C."
A mostrar 1 - 11 de 11
Resultados por página
Opções de ordenação
Item Assessing the feasibility of OpenCL CPU implementations for agent-based simulations(AGENT-BASED MODELING, 2017-05) Fachada, Nuno; Rosa, Agostinho C.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da InformaçãoAgent-based modeling (ABM) is a bottom-up modeling approach, where each entity of the system being modeled is uniquely represented as a self-determining agent. Large scale emergent behavior in ABMs is population sensitive. As such, it is advisable that the number of agents in a simulation is able to reflect the reality of the system being modeled. This means that in domains such as social modeling, ecology, and biology, systems can contain millions or billions of individuals. Such large scale simulations are only feasible in non-distributed scenarios when the computational power of commodity processors, such as GPUs and multi-core CPUs, is fully exploited. In this paper we evaluate the feasibility of using CPU-oriented OpenCL for high-performance simulations of agent-based models. We compare a CPU-oriented OpenCL implementation of a reference ABM against a parallel Java version of the same model. We show that there are considerable gains in using CPU-based OpenCL for developing and implementing ABMs, with speedups up to 10x over the parallel Java version on a 10-core hyper-threaded CPU.Item cf4ocl: A C framework for OpenCL(Elsevier, 2017) Fachada, Nuno; Lopes, Vitor V.; Martins, Rui C.; Rosa, Agostinho C.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da InformaçãoOpenCL 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.Item generateData—A 2D data generator(Elsevier B.V., 2020-05) Fachada, Nuno; Rosa, Agostinho C.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da InformaçãogenerateData is a MATLAB/Octave function for generating 2D data clusters. Data is created along straight lines, which can be more or less parallel depending on the selected input parameters. The function also allows to fine-tune the generated data with respect to number of clusters, total data points, average cluster separation and several other distributional properties.Item A method for detecting statistically significant differences in EEG data(OHBM, 2017) Fachada, Nuno; Cruz, Janir R. da; Herzog, Michael H.; Figueiredo, Patrícia; Rosa, Agostinho C.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da InformaçãoThe highly multivariate nature of EEG data often limits the search for statistically significant differences in data collected from two or more groups of subjects. We have recently developed a new technique for assessing whether two or more multidimensional samples are drawn from the same distribution. Here, we apply this to EEG data collected from schizophrenia patients and healthy controls while performing a Visual Backward Masking (VBM) task.Item micompm: A MATLAB/Octave toolbox for multivariate independent comparison of observations(JOSS, 2018) Fachada, Nuno; Rosa, Agostinho C.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da Informaçãomicompm is a MATLAB / GNU Octave port of the original micompr R package for comparing multivariate samples associated with different groups. Its purpose is to determine if the compared samples are significantly different from a statistical point of view. This method uses principal component analysis to convert multivariate observations into a set of linearly uncorrelated statistical measures, which are then compared using statistical tests and score plots. This technique is independent of the distributional properties of samples and automatically selects features that best explain their differences, avoiding manual selection of specific points or summary statistics. The procedure is appropriate for comparing samples of time series, images, spectrometric measures or similar multivariate observations. It is aimed at researchers from all fields of science, although it requires some knowledge on design of experiments, statistical testing and multidimensional data analysis.Item Model-independent comparison of simulation output(Elsevier, 2017) Fachada, Nuno; Lopes, Vitor V.; Martins, Rui C.; Rosa, Agostinho C.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da InformaçãoComputational 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.Item Parallelization strategies for spatial agent-based models(Springer New York, 2017) Fachada, Nuno; Lopes, Vitor V.; Martins, Rui C.; Rosa, Agostinho C.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da InformaçãoAgent-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.Item Particle swarm and population structure(ACM, 2018) Fernandes, Carlos M.; Rosa, Agostinho C.; Fachada, Nuno; Laredo, Juan L. J.; Merelo, J. J.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da InformaçãoWe investigate the convergence speed, accuracy, robustness and scalability of PSOs structured by regular and random graphs with 3 ≤ k ≤ n. The main conclusion is that regular and random graphs with the same averaged connectivity k may result in significantly different performance, namely when k is low.Item Population sizing of cellular evolutionary algorithms(Elsevier, 2020) Fernandes, Carlos M.; Fachada, Nuno; Laredo, Juan L. J.; Merelo, J. J.; Rosa, Agostinho C.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da InformaçãoCellular evolutionary algorithms (cEAs) are a particular type of EAs in which a communication structure is imposed to the population and mating restricted to topographically nearby individuals. In general, these algorithms have longer takeover times than panmictic EAs and previous investigations argue that they are more efficient in escaping local optima of multimodal and deceptive functions. However, most of those studies are not primarily concerned with population size, despite being one of the design decisions with a greater impact in the accuracy and convergence speed of population-based metaheuristics. In this paper, optimal population size for cEAs structured by regular and random graphs with different degree is estimated. Selecto-recombinative cEAs and standard cEAs with mutation and different types of crossover were tested on a class of functions with tunable degrees of difficulty. Results and statistical tests demonstrate the importance of setting an appropriate population size. Event Takeover Values (ETV) were also studied and previous assumptions on their distribution were not confirmed: although ETV distributions of panmictic EAs are heavy-tailed, log-log plots of complementary cumulative distribution functions display no linearity. Furthermore, statistical tests on ETVs generated by several instances of the problems conclude that power law models cannot be favored over log-normal. On the other hand, results confirm that cEAs impose deviations to distribution tails and that large ETVs are less probable when the population is structured by graphs with low connectivity degree. Finally, results suggest that for panmictic EAs the ETVs’ upper bounds are approximately equal to the optimal population size. Keywords: Spatially structured evolutionary algorithms; Cellular evolutionary algorithms;Optimal population size; Event takeover valuesItem Revisiting Population Structure and Particle Swarm Performance(SciTePress, Science and Technology Publications, 2018) Fernandes, Carlos M.; Fachada, Nuno; Laredo, Juan L. J.; Merelo, J. J.; Castillo, P. A.; Rosa, Agostinho C.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da InformaçãoPopulation structure strongly affects the dynamic behavior and performance of the particle swarm optimization (PSO) algorithm. Most of PSOs use one of two simple sociometric principles for defining the structure. One connects all the members of the swarm to one another. This strategy is often called gbest and results in a connectivity degree k = n, where n is the population size. The other connects the population in a ring with k = 3. Between these upper and lower bounds there are a vast number of strategies that can be explored for enhancing the performance and adaptability of the algorithm. This paper investigates the convergence speed, accuracy, robustness and scalability of PSOs structured by regular and random graphs with 3≤k≤n. The main conclusion is that regular and random graphs with the same averaged connectivity k may result in significantly different performance, namely when k is low.Item Steady state particle swarm(PeerJ Inc., 2019) Fernandes, Carlos M.; Fachada, Nuno; Merelo, J. J.; Rosa, Agostinho C.; Escola de Comunicação, Arquitetura, Artes e Tecnologias da InformaçãoThis paper investigates the performance and scalability of a new update strategy for the particle swarm optimization (PSO) algorithm. The strategy is inspired by the Bak–Sneppen model of co-evolution between interacting species, which is basically a network of fitness values (representing species) that change over time according to a simple rule: the least fit species and its neighbors are iteratively replaced with random values. Following these guidelines, a steady state and dynamic update strategy for PSO algorithms is proposed: only the least fit particle and its neighbors are updated and evaluated in each time-step; the remaining particles maintain the same position and fitness, unless they meet the update criterion. The steady state PSO was tested on a set of unimodal, multimodal, noisy and rotated benchmark functions, significantly improving the quality of results and convergence speed of the standard PSOs and more sophisticated PSOs with dynamic parameters and neighborhood. A sensitivity analysis of the parameters confirms the performance enhancement with different parameter settings and scalability tests show that the algorithm behavior is consistent throughout a substantial range of solution vector dimensions.