10 research outputs found

    Efficient Irregular Wavefront Propagation Algorithms on Hybrid CPU-GPU Machines

    Full text link
    In this paper, we address the problem of efficient execution of a computation pattern, referred to here as the irregular wavefront propagation pattern (IWPP), on hybrid systems with multiple CPUs and GPUs. The IWPP is common in several image processing operations. In the IWPP, data elements in the wavefront propagate waves to their neighboring elements on a grid if a propagation condition is satisfied. Elements receiving the propagated waves become part of the wavefront. This pattern results in irregular data accesses and computations. We develop and evaluate strategies for efficient computation and propagation of wavefronts using a multi-level queue structure. This queue structure improves the utilization of fast memories in a GPU and reduces synchronization overheads. We also develop a tile-based parallelization strategy to support execution on multiple CPUs and GPUs. We evaluate our approaches on a state-of-the-art GPU accelerated machine (equipped with 3 GPUs and 2 multicore CPUs) using the IWPP implementations of two widely used image processing operations: morphological reconstruction and euclidean distance transform. Our results show significant performance improvements on GPUs. The use of multiple CPUs and GPUs cooperatively attains speedups of 50x and 85x with respect to single core CPU executions for morphological reconstruction and euclidean distance transform, respectively.Comment: 37 pages, 16 figure

    Run-time optimizations for replicated dataflows on heterogeneous environments

    No full text

    Paralelização do algoritmo de indexação de dados multimídia baseado em quantização

    Get PDF
    Trabalho de Conclusão de Curso (graduação)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019.A busca por similaridade em espaços de alta dimensionalidade é uma operação fundamental em diversas aplicações de recuperação de dados multimídia, no entanto essa operação é tipicamente uma das mais computacionalmente caras. Alguns métodos propõem a busca aproximada para minimizar esse problema, uma alternativa que tenta fazer um compromisso entre o custo computacional e a precisão da busca. Um dos métodos baseados em busca aproximada é o Product Quantization for Approximate Nearest Neighbor Search (PQANNS), que propõe a decomposição do espaço de busca em um produto cartesiano de subespaços de baixa dimensionalidade e a quantização de cada um deles separadamente. Para tanto, é utilizada uma estrutura de lista invertida para fazer a indexação dos dados, o que permite a realização de buscas não-exaustivas. A redução da dimensionalidade dos dados aliada à busca não-exaustiva faz com que o PQANNS responda consultas de forma eficiente e com baixa demanda de memória, no entanto sua execução sequencial ainda é limitada a trabalhar com bases que caibam na memória RAM de apenas uma máquina. Nosso objetivo é propor uma paralelização em memória distribuída do PQANNS, sendo assim capaz de lidar com grandes bases de dados. Também propomos uma paralelização em máquina multicore, visando reduzir o tempo de resposta às consultas e utilizar toda a capacidade de processamento disponível. Nossa paralelização em memória distribuída foi avaliada utilizando 128 nós/3584 núcleos de CPU, obtendo uma eficiência de 0.97 e foi capaz de realizar a indexação e busca em uma base de dados contendo 256 bilhões de vetores Scale Invariant Feature Transform (SIFT). Além disso, a execução da nossa paralelização em máquina multicore obteve um excelente ganho em desempenho com até 28 núcleos, obtendo um speedup médio de 26, 36x utilizando todos os núcleos.The search for similarity in high dimensional spaces is a core operation found in several multimedia retrieval applications. However this operation is typically one of the most computationally expensive. Some methods propose an approximate search to minimize this problem, trying to make a trade-off between computational cost and search precision. One of these methods is the Product Quantization for Approximate Nearest Neighbor Search (PQANNS), which proposes the decomposition of the search space into a Cartesian product of low-dimensional subspaces and the quantization of each of them separately. In order to do so, an inverted file structure is used to index the data, which allows non-exhaustive searches. The reduction of data dimensionality coupled with the non-exhaustive search causes the PQANNS to respond efficiently and with low memory requirements, however its sequential execution is still limited to working with bases that fit into the RAM memory of a single machine. Our goal is to propose a parallelization strategy that works on distributed memory plataforms of PQANNS, thus being able to handle large databases. We also propose a multicore machine parallelization, in order to reduce the response time to the queries and to use all available processing capacity. Our distributed memory parallelization was evaluated using 128 nodes/3584 CPU cores, obtaining an efficiency of 0.97 and was able to perform the index and search in a database containing 256 billion Scale Invariant Feature Transform (SIFT) vectors. In addition, the execution of our parallelization in a multicore machine obtained a performance gain with up to 28 cores, obtaining an average speedup of 26.36x using all the cores

    Ajuste automático de parâmetros para aplicações de segmentação nuclear em imagens médicas

    Get PDF
    Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2017.Imagens em alta resolução de microscopia são muito importantes no estudo de doenças em níveis celulares e sub-celulares. Os efeitos causados por muitas doenças, como o câncer por exemplo, geralmente manifestam-se como alterações na morfologia das células em escala microscópica. Investigar essas mudanças e suas correlações com dados moleculares e resultados clínicos podem levar a uma melhor compreensão dos mecanismos da doença, e permitir o desenvolvimento de novas formas de tratamento. Existem aplicações de bioinformática capazes de realizar análises qualitativas em amostras de tecidos humanos por meio do processamento desse tipo de imagem. Essas aplicações são parametrizadas e alterações nos valores de seus parâmetros de configuração podem causar impactos significativos na qualidade do resultado. Além disso, elas são pré-configuradas por um conjunto de parâmetros padrão que não são os ideais para todos os tipos de imagens que poderão ser analisadas. Dependendo do tamanho da imagem a ser processada, cada execução dessas aplicações pode levar horas em uma estação de trabalho comum. Neste trabalho foram utilizadas duas aplicações exemplo que, conforme os valores de parâmetros utilizados, podem ser ajustadas em bilhões de maneiras diferentes. Para encontrar combinações de parâmetros que melhorem a qualidade do resultado e reduzam o tempo de execução destas aplicações de maneira eficiente, foi proposto um sistema de ajuste automático de parâmetros multiobjetivo capaz de melhorar a qualidade da análise dessas aplicações em até 8,35x e de reduzir o tempo de execução em até 16,05x, testando-se apenas 100 pontos do espaço de busca. A fim de avaliar a capacidade de generalização do sistema de otimização em encontrar uma combinação de parâmetros que fosse capaz de otimizar múltiplas imagens ao mesmo tempo, realizou-se experimentos de validação cruzada em que foi possível atingir uma melhoria de até 1,15x na qualidade do resultado e de redução no tempo de execução médio em 10,25x. Para quantificar essas melhorias e as alterações na morfologia das células e tecidos em escala micro-anatômica foram desenvolvidas múltiplas métricas e mecanismos de consultas espaciais a fim de tornar essas análises mais precisas e eficientes.High resolution microscopy images may greatly help the study of diseases at cellular and subcellular levels. The effects caused by many diseases, such as cancer, usually manifest themselves as changes in the morphology of cells on a microscopic scale. Investigating these changes and their correlations with molecular data and clinical outcomes may lead to a better understanding of the mechanisms of the disease, and allow the development of new forms of treatment. There are applications of bioinformatics capable of performing qualitative analyzes on human tissue samples through the processing of this type of image. These applications are parameterized and changes in the values of their configuration parameters can cause significant impacts on the quality of the result. In addition, they are preconfigured by a set of default parameters that are not ideal for all types of images that can be processed. Depending on the size of the image being analyzed, each execution of these applications can take hours on a regular workstation. In this work, two example applications were used. Each of them can be adjusted in billions of different ways according to the parameter values used. To find combinations of parameters that improve the quality of the result and reduce the execution time of these applications efficiently, we propose a multiobjective auto tuning system. This system is able to improve the quality of the analysis of these applications by up to 8.35x and also able to reduce the execution time by up to 16.05x by testing only 100 search-space points. In order to evaluate the generalization ability of the optimization framework to find a combination of parameters that is able to optimize multiple images at the same time, cross-validation experiments were performed in which it was possible to achieve an improvement of up to 1.15x on quality and reduction of the average execution time by 10.25x. To quantify these improvements and changes in the morphology of cells and tissues at the micro-anatomical scale, multiple metrics and spatial query mechanisms were developed to make these analyzes more accurate and efficient

    Reducing the Complexity of Heterogeneous Computing: A Unified Approach for Application Development and Runtime Optimization

    Get PDF
    Heterogeneous systems with accelerators promise considerable performance improvements at a lower cost than homogeneous CPU-only systems. However, to benefit from this potential, considerable work is required from developers to integrate them efficiently in an application. This work contributes a new framework implemented with an online-learning runtime system that simplifies development and makes applications more portable, efficient and reliable across different systems
    corecore