Souza, Samuel Xavier deMorais, Mateus Rodrigues de2025-07-172025-07-172025-07-08MORAIS, Mateus Rodrigues de. Optimization and Parallelization of a Delay-and-Sum Ultrasound Algorithm on a StarFive VisionFive RISC-V board. 2025. ​39 f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) - Centro de Tecnologia, Universidade Federal do Rio Grande do Norte, Natal, RN, 2025.https://repositorio.ufrn.br/handle/123456789/64510Este trabalho detalha o processo de otimização e paralelização de uma implementação em C do algoritmo de ultrassom Delay-and-Sum (DAS), com uma análise de desempenho conduzida na placa StarFive VisionFive, de arquitetura RISC-V. O estudo se inicia com um porte em C de uma implementação de DAS feita em MATLAB, que inicialmente apresentou um tempo de execução de 202,58 segundos para o maior caso de teste. Um processo iterativo de otimizações foi aplicado para melhorar o desempenho do algoritmo. Essas etapas incluíram o refinamento da estratégia de alocação de memória para eliminar cópias de dados redundantes, a substituição de arquivos de entrada CSV (Comma-Separated Values) por um método de leitura de dados binários mais rápido e o inlining de funções para reduzir a sobrecarga trazida por chamadas frequentes a pequenas funções auxiliares externas. A etapa final de otimização envolveu a paralelização do principal gargalo computacional do algoritmo, uma estrutura de loop aninhado dentro da lógica de beamforming do DAS, usando a API OpenMP e a subsequente aplicação de flags de otimização do compilador. Essa paralelização foi testada no processador dual-core da placa VisionFive. Uma condição de corrida foi identificada e resolvida usando a diretiva atomic do OpenMP para garantir a saída correta. O efeito cumulativo dessas otimizações resultou em uma redução do tempo total de execução para 12,9523 segundos, representando uma diminuição de mais de 15 vezes na velocidade de execução em relação à implementação original. A região paralela atingiu uma eficiência de 97,94% em dois núcleos para o maior tamanho de problema sem as flags de otimização do compilador, indicando sobrecarga paralela mínima. Este estudo demonstra a viabilidade da placa StarFive VisionFive RISC-V para tarefas de imagem médica computacionalmente exigentes, destacando o potencial do hardware de código aberto para permitir o desenvolvimento de uma tecnologia médica acessível e poderosa.en-USAttribution 3.0 Brazilhttp://creativecommons.org/licenses/by/3.0/br/Delay-and-SumRISC-VParallel ComputingCode OptimizationOpenMPEmbedded SystemsOptimization and Parallelization of a Delay-and-Sum Ultrasound Algorithm on a StarFive VisionFive RISC-V boardbachelorThesis