DEFINIÇÃO DE METODOLOGIA DE APLICAÇÃO DE COMUNICAÇÃO ASSÍNCRONA DE FUNÇÕES NA ARQUITETURA CUDA
Authors: Santos Cássio Silva de Sá 
Published: May 2021

A Computação de Alto Desempenho, ou High Performance Computing (HPC)em inglês, é o conjunto de técnicas, algoritmos, e sistemas computacionais (softwares ehardwares) que são desenvolvidos para: a) reduzir o tempo de execução dos programaspara um determinado volume de dados e/ou b) aumentar o volume de dados mantendo otempo de execução dos programas dentro de limites aceitáveis para o problema que sequer resolver. Dentro desse contexto, uma das atividades chaves corresponde a analisare entender o comportamento de algoritmos e sistemas computacionais para que se possaatingir o máximo desempenho possível para um determinado software executando numaplataforma computacional específica.Um dos grandes problemas que permeiam não só a área da Computação de AltoDesempenho mas também a área da computação como um todo são as etapas detransferência de dados. No caso específico de sistemas baseados na arquitetura decomputação paralela Compute Unified Device Architecture (CUDA), da NVIDIA, atransferência de dados entre a memória da Unidade Central de Processamento - Centralprocessing unit (CPU) e a memória da Unidades de Processamento Gráfico - GraphicsProcessing Unit (GPU) é um potencial ponto de perda de desempenho do código.Uma das possíveis formas de eliminar este problema é fazendo overlappingentre o cômputo da GPU e a transferência de dados da GPU/CPU e CPU/GPU atravésde comunicação assíncrona [KIRK 2010]. Por isso, é importante o estudo de métodos desincronismo e assincronismo em comunicação de dados entre CPU e GPU naarquitetura CUDA. Este trabalho objetiva-se a avaliar métodos que podem serutilizados para reduzir ou eliminar a influência do tempo de comunicação da CPU como dispositivo CUDA sobre o tempo total de execução de uma aplicação paralela.Para tal, no entanto, é necessário que haja um estudo de caso adequado. Os sereshumanos tornaram-se capazes de colocar satélites em órbita para os mais diversos fins.No entanto, tais equipamentos possuem uma vida útil. Em outras palavras, após umtempo determinado, passam a parar de funcionar adequadamente.Um dos grandes problemas da nova era tecnológica encontra-se justamente nosdetritos que são gerados por estes equipamentos; o chamado “lixo espacial”. Segundodados da NASA, mais de 500 mil objetos singulares caracterizados como “lixoespacial” orbitam atualmente o planeta, numa velocidade rápida o bastante paradanificar os caríssimos equipamentos em órbita e estações espaciais.Diversas possíveis soluções existem neste campo. Uma delas consiste naseguinte proposta: Um equipamento capaz de encontrar tais detritos, alinhar-se à eles eatirá-los de volta à superfície da terra. Para que tal equipamento funcione, sãonecessários diversos cálculos físicos de alta demanda de cômputo, na tentativa desolucionar o problema caricaturizado como o problema “Rendezvous”.O trabalho aqui apresentado descreve também o processo de elaboração do casode uso que envolve o código do Rendezvous, projeto da área da astronomia, que buscaapresentar uma solução para descobrir as configurações físicas com as quais um veículoespacial deve ser criado para que o mesmo seja capaz de alcançar detritos espaciais eexecutar a ação corretiva para a qual foi programado.