1 |
[en] ANNCOM: ARTIFICIAL NEURAL NETWORK LIBRARY FOR HIGH PERFORMANCE COMPUTING USING GRAPHIC CARDS / [pt] ANNCOM: BIBLIOTECA DE REDES NEURAIS ARTIFICIAIS PARA ALTO DESEMPENHO UTILIZANDO PLACAS DE VÍDEODANIEL SALLES CHEVITARESE 24 May 2019 (has links)
[pt] As Redes Neurais Artificiais têm sido utilizadas com bastante sucesso em problemas de previsão, inferência e classificação de padrões. Por essa razão, já se encontram disponíveis diversas bibliotecas que facilitam a modelagem e o treinamento de redes, tais como o NNtool do Matlab ou o WEKA. Embora essas bibliotecas
sejam muito utilizadas, elas possuem limitações quanto à mobilidade, à flexibilidade e ao desempenho. Essa última limitação é devida, principalmente, ao treinamento que pode exigir muito tempo quando existe uma grande quantidade de dados com muitos atributos. O presente trabalho propõe o desenvolvimento de
uma biblioteca (ANNCOM) de fácil utilização, flexível, multiplataforma e que utiliza a arquitetura CUDA (Compute Unified Device Architecture) para reduzir os tempos de treinamento das redes. Essa arquitetura é uma forma de GPGPU (General-Purpose computing on Graphics Processing Units) e tem sido utilizada
como uma solução em computação paralela na área de alto desempenho, uma vez que a tecnologia utilizada nos processadores atuais está chegando ao limite de velocidade. Adicionalmente, foi criada uma ferramenta gráfica que auxilia o desenvolvimento de soluções aplicando as técnicas de redes neurais de forma fácil e clara usando a biblioteca desenvolvida. Para avaliação de desempenho da ANNCOM, foram realizados seis treinamentos para classificação de clientes de baixa tensão de uma distribuidora de energia elétrica. O treinamento das redes, utilizando a ANNCOM com a tecnologia CUDA, alcançou um desempenho quase 30 vezes maior do que a ANNCOM auxiliada pela MKL (Math Kernel Library) da Intel, também utilizada pelo Matlab. / [en] The Artificial Neural Networks have been used quite successfully in problems of prediction, inference and classification standards. For this reason, are already available several libraries that facilitate the modeling and training networks, such as NNtool Matlab or WEKA. While these libraries are widely used, they
have limited mobility, flexibility and performance. This limitation is due mainly to the training that can take a long time when there is a large amount of data with many attributes. This paper proposes the development of a library (ANNCOM) easy to use, flexible platform and architecture that uses the CUDA (Compute Unified Device Architecture) to reduce the training times of the networks. This architecture is a form of GPGPU (GeneralPurpose computing on Graphics Processing Units) and has been used as a solution in parallel computing in the area of high performance, since the technology used in current processors are reaching the limit of speed. Additionally created a graphical tool that helps the development of solutions using the techniques of neural networks easily and clearly using the library developed. For performance evaluation ANNCOM were conducted six trainings for customer classification of a low voltage electricity distribution. The training of networks using ANNCOM with CUDA technology, achieved a performance
nearly 30 times greater than the ANNCOM aided by MKL (Math Kernel Library) by Intel, also used by Matlab.
|
2 |
[en] MANY-CORE FRAGMENTATION SIMULATION / [pt] IMPLEMENTAÇÃO DE SIMULAÇÃO DE FRAGMENTAÇÃO EM ARQUITETURA DE MULTIPROCESSADORESANDREI ALHADEFF MONTEIRO 24 January 2017 (has links)
[pt] Apresentamos um método computacional na GPU que lida com eventos de fragmentação dinâmica, simulados por meio de elementos de zona coesiva. O trabalho é dividido em duas partes. Na primeira parte, tratamos o pré-processamento de informações e a verificação de corretude e eficácia da inserção dinâmica de elementos coesivos em malhas grandes. Para tal, apresentamos uma simples estrutura de dados topológica composta de triângulos. Na segunda parte, o código explícito de dinâmica é apresentado, que implementa a formulação extrínsica de zona coesiva, onde os elementos são inseridos dinamicamente quando e onde forem necessários. O principal desafio da implementação na GPU, usando a formulação de zona coesiva extrínsica, é ser capaz de adaptar dinamicamente a malha de uma forma consistente, inserindo elementos coesivos nas facetas fraturadas. Para isso, a estrutura de dados convencional usada no código de elementos finitos (baseado na incidência de elementos) é estendida, armazenando, para cada elemento, referências para elementos adjacentes. Para evitar concorrência ao acessar entidades compartilhadas, uma estratégia convencional de coloração de grafos é adotada. Na fase de pré-processamento, cada nó do grafo (elementos na malha) é associado a uma cor diferente das cores de seus nós adjacentes. Desta maneira, elementos da mesma cor podem ser processados em paralelo sem concorrência. Todos os procedimentos necessários para a inserção de elementos coesivos nas facetas fraturadas e para computar propriedades de nós são feitas por threads associados a triângulos, invocando um kernel por cor. Computações em elementos coesivos existentes também são feitas baseadas nos elementos adjacentes. / [en] A GPU-based computational framework is presented to deal with dynamic failure events simulated by means of cohesive zone elements. The work is divided into two parts. In the first part, we deal with pre-processing of the information and verify the effectiveness of dynamic insertion of cohesive elements in large meshes. To this effect, we employ a simplified topological data structured specialized for triangles. In the second part, we present an explicit dynamics code that implements an extrinsic cohesive zone formulation where the elements are inserted on-the-fly, when needed and where needed. The main challenge for implementing a GPU-based computational framework using extrinsic cohesive zone formulation resides on being able to dynamically adapt the mesh in a consistent way, inserting cohesive elements on fractured facets. In order to handle that, we extend the conventional data structure used in finite element code (based on element incidence) and store, for each element, references to the adjacent elements. To avoid concurrency on accessing shared entities, we employ the conventional strategy of graph coloring. In a pre-processing phase, each node of the dual graph (bulk element of the mesh) is assigned a color different to the colors assigned to adjacent nodes. In that way, elements of a same color can be processed in parallel without concurrency. All the procedures needed for the insertion of cohesive elements along fracture facets and for computing node properties are performed by threads assigned to triangles, invoking one kernel per color. Computations on existing cohesive elements are also performed based on adjacent bulk elements.
|
3 |
[en] NEURONAL CIRCUIT SPECIFICATION LANGUAGE AND TOOLS FOR MODELLING THE VIRTUAL FLY BRAIN / [pt] LINGUAGEM DE ESPECIFICAÇÃO DE CIRCUITO NEURONAL E FERRAMENTAS PARA MODELAGEM DO CÉREBRO VIRTUAL DA MOSCA DA FRUTADANIEL SALLES CHEVITARESE 03 May 2017 (has links)
[pt] O cérebro da Drosophila é um sistema atrativo para o estudo da lógica do circuito neural, porque implementa o comportamento sensorial complexo com um sistema nervoso que compreende um número de componentes neurais que é de cinco ordens de grandeza menor do que o de vertebrados. A análise do conectoma da mosca, revelou que o seu cérebro compreende cerca de 40 subdivisões distintas chamadas unidades de processamento local (LPUs), cada uma das quais é caracterizada por circuitos de processamento
únicos. As LPUs podem ser consideradas os blocos de construção funcionais da cérebro, uma vez que quase todas LPUs identificadas correspondem a regiões anatômicas do cérebro associadas com subsistemas funcionais específicos tais como a sensação e locomoção. Podemos, portanto, emular todo o cérebro da mosca, integrando suas LPUs constituintes. Embora o nosso conhecimento do circuito interno de muitas LPUs está longe de ser completa, análises dessas LPUs compostas pelos sistemas olfativos e visuais da mosca sugerem a existência de repetidos sub-circuitos que são essenciais para as funções de processamento de informações fornecidas por cada LPU. O desenvolvimento de modelos LPU plaussíveis, portanto, requer
a habilidade de especificar e instanciar sub-circuitos, sem referência explícita a seus neurônios constituintes ou ligações internas. Para este fim, este trabalho apresenta um arcabouço para modelar e especificar circuitos do cérebro, proporcionando uma linguagem de especificação neural chamada CircuitML, uma API Python para melhor manipular arquivos CircuitML e um conector otimizado para neurokernel para a simulação desses LPUs em GPU. A CircuitML foi concebida como uma extensão para NeuroML (NML), que é uma linguagem para de descrição de redes neurais biológicas baseada em XML que fornece primitivas para a definição de sub-circuitos neurais. Sub-circuitos são dotados de portas de interface que permitem a sua ligação a outros sub-circuitos através de padrões de conectividade neural. / [en] The brain of the fruit y Drosophila Melanogaster is an attractive model system for studying the logic of neural circuit function because it implements complex sensory-driven behavior with a nervous system comprising a
number of neural components that is five orders of magnitude smaller than that of vertebrates. Analysis of the fly s connectome, or neural connectivity map, using the extensive toolbox of genetic manipulation techniques developed for Drosophila, has revealed that its brain comprises about 40 distinct modular subdivisions called Local Processing Units (LPUs), each of which is characterized by a unique internal information processing circuitry. LPUs can be regarded as the functional building blocks of the y, since almost all identified LPUs have been found to correspond to anatomical regions of the y brain associated with specific functional subsystems such as sensation and locomotion. We can therefore emulate the entire
y brain by integrating its constituent LPUs. Although our knowledge of the internal circuitry of many LPUs is far from complete, analyses of those LPUs comprised by the fly s olfactory and vision systems suggest the existence of repeated canonical sub-circuits that are integral to the information processing functions provided by each LPU. The development of plausible LPU models therefore requires the ability to specify and instantiate sub-circuits without explicit reference to their constituent neurons and internal connections. To this end, this work presents a framework to model and specify the circuit of the brain, providing a neural circuit specification language called CircuitML, a Python API to better handler CircuitML files and an optimized connector to neurokernel for the simulation of those LPUs on GPU. CircuitML has been designed as an extension to NeuroML (NML), which is an XML-based neural model description language that
provides constructs for defining sub-circuits that comprise neural primitives. Sub-circuits are endowed with interface ports that enable their connection to other sub-circuits via neural connectivity patterns.
|
4 |
[pt] MAPEAMENTO DE SIMULAÇÃO DE FRATURA E FRAGMENTAÇÃO COESIVA PARA GPUS / [en] MAPPING COHESIVE FRACTURE AND FRAGMENTATION SIMULATIONS TO GPUSANDREI ALHADEFF MONTEIRO 11 February 2016 (has links)
[pt] Apresentamos um método computacional na GPU que lida com eventos
de fragmentação dinâmica, simulados por meio de zona coesiva. Implementamos
uma estrutura de dados topológica simples e especializada para
malhas com triângulos ou tetraedros, projetada para rodar eficientemente e
minimizar ocupação de memória na GPU. Apresentamos um código dinâmico
paralelo, adaptativo e distribuído que implementa a formulação de modelo
zona coesiva extrínsica (CZM), onde elementos são inseridos adaptativamente,
onde e quando necessários. O principal objetivo na implementação
deste framework computacional reside na habilidade de adaptar a malha
de forma dinâmica e consistente, inserindo elementos coesivos nas facetas
fraturadas e inserindo e removendo elementos e nós no caso da malha adaptativa.
Apresentamos estratégias para refinar e simplificar a malha para
lidar com simulações dinâmicas de malhas adaptativas na GPU. Utilizamos
uma versão de escala reduzida do nosso modelo para demonstrar o impacto
da variação de operações de ponto flutuante no padrão final de fratura.
Uma nova estratégia de duplicar nós conhecidos como ghosts também é
apresentado quando distribuindo a simulação em diversas partições de um
cluster. Deste modo, resultados das simulações paralelas apresentam um
ganho de desempenho ao adotar estratégias como distribuir trabalhos entre
threads para o mesmo elemento e lançar vários threads por elemento. Para
evitar concorrência ao acessar entidades compartilhadas, aplicamos a coloração
de grafo para malhas não-adaptativas e percorrimento nodal no caso
adaptativo. Experimentos demonstram que a eficiência da GPU aumenta
com o número de nós e elementos da malha. / [en] A GPU-based computational framework is presented to deal with
dynamic failure events simulated by means of cohesive zone elements. We
employ a novel and simplified topological data structure relative to CPU
implementation and specialized for meshes with triangles or tetrahedra,
designed to run efficiently and minimize memory requirements on the GPU.
We present a parallel, adaptive and distributed explicit dynamics code that
implements an extrinsic cohesive zone formulation where the elements are
inserted on-the-fly, when needed and where needed. The main challenge
for implementing a GPU-based computational framework using an extrinsic
cohesive zone formulation resides on being able to dynamically adapt the
mesh, in a consistent way, by inserting cohesive elements on fractured
facets and inserting or removing bulk elements and nodes in the adaptive
mesh modification case. We present a strategy to refine and coarsen the
mesh to handle dynamic mesh modification simulations on the GPU. We
use a reduced scale version of the experimental specimen in the adaptive
fracture simulations to demonstrate the impact of variation in floating point
operations on the final fracture pattern. A novel strategy to duplicate ghost
nodes when distributing the simulation in different compute nodes containing
one GPU each is also presented. Results from parallel simulations show
an increase in performance when adopting strategies such as distributing
different jobs amongst threads for the same element and launching many
threads per element. To avoid concurrency on accessing shared entities, we
employ graph coloring for non-adaptive meshes and node traversal for the
adaptive case. Experiments show that GPU efficiency increases with the
number of nodes and bulk elements.
|
Page generated in 0.062 seconds