1 |
[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.
|
2 |
[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.0423 seconds