• Nenhum resultado encontrado

Quando olhamos para a geofísica em um passado não tão distante, em meados de 1980,observamos que a análise de velocidade era feita no papel. Hoje podemos constatar o quanto avançamos no processamento de dados sísmicos. Nesse trabalho foram apresenta- dos e discutidos, temas como a sísmica de reflexão, programação em paralelo com foco na arquitetura CUDA e a criação de uma plataforma de análise de velocidade com utilização de GPUs em alguns processos chaves.

A criação de uma plataforma interativa que integra vários métodos de análise de velocidade para o meio acadêmico pode contribuir bastante para o avanço do ensino, além de introduzir, a programação para GPU, que é um tema atual e que vem crescendo muito nos últimos anos. O uso da GPU nesse trabalho foi desafiador e trouxe bons resultados. Os códigos implementados utilizam kernels com alta capacidade computacional, ou seja, um kernel é capaz de realizar os cálculos necessários para aplicar o NMO e o empilhamento de todo o dado, além de utilizarmos ferramentas que contribuem para reduzir o impacto de alguns problemas encontrados, como o acesso não coalesced à memória global e a reutilização do mesmo espaço de memória global por threads do mesmo bloco. Uma dessas ferramentas foi a memória do tipo textura, que melhorou o desempenho do código aonde não foi possível conseguir o acesso coalesced. Os três códigos implementados apresentaram boas performances mesmo para volumes grandes, chegando a atingir um speedup de 168X para a Versão 3 - CVS, 534X para a versão 4 - CVS e 59X para a versão SMB, todos usando a GTX 1080TI e em relação a versão em CPU single-core. Esse speedup ainda pode ser maior se utilizarmos GPUs mais poderosas, como ficou claro nos testes realizados. Sabemos que ao comparar nosso código em GPU com a versão CPU multi-core o speedup foi menor. No entanto, a versão CPU multi-core ainda não foi viável, devido ao tempo alcançado e a grande necessidade de fluidez nas transições das seções sísmicas. Para a Versão 4, onde a necessidade de uma taxa de atualização de frames mínima de 24, a solução para GPU se mostrou viável, as placas atuais já sinalizam uma boa quantidade de memória global e CUDA cores, o que é imprescindível para esse método, já que ele usa

bastante memória e precisa de um bom poder de processamento.

Adicionalmente, foi possível ver o crescimento do algoritmo paralelo e como o estudo do problema enfrentado e da arquitetura utilizada, no caso o CUDA, influenciam no seu desenvolvimento, como exemplo a Versão 1 do algoritmo CUDA em relação a Versão 3. Um dos pontos que pode atrapalhar a programação de CUDA, é a dimensão do problema enfrentado. Esse foi um limitador na Versão 4 do algoritmo implementado, vimos que a GTX980 não conseguiu executar os testes 7 e 8 por falta de memória. No entanto, com o avanço e o barateamento das GPUs, esse problema tende a diminuir, dessa forma, esse método pode se tornar cada vez mais aplicável nas empresas, além de abrir espaço para enfrentar problemas maiores. Em alguns modelos de entrada, GTX 1050 TI e GTX 1060, a memória já parte com 4GB e 6GB respectivamente, o que traz boas notícias para a indústria do petróleo, que emprega métodos que precisam de grandes volumes de memória para chegar a uma solução. Um desses métodos e um dos mais estudados atualmente, é a Full Wave Inversion - FWI.

Para a comparação dos algoritmos implementados foi acrescentada a versão CPU OMP para mostrar que existem outros tipos de paralelismo além da GPU, e como o foco desse trabalho não era o paralelismo em CPU, ela não foi amplamente estudada e desenvolvida. Outro ponto que deve ser levado em consideração na hora de analisar os seus resultados, foi que a CPU utilizada é de prateleira, em outras palavras, uso do- méstico. Caso estivessem disponíveis, no momento dos experimentos, CPUs com grandes quantidades de cores, a versão CPU OMP atingiria um maior paralelismo.

Um dos pontos positivos das placas gráficas, é o seu crescimento acelerado. A todo momento temos placas com mais CUDA cores e mais memórias, que podem processar dados cada vez mais rápidos com custos menores, e com a criação de linguagens mais amigáveis como o CUDA, a programação está cada vez mais ágil. A industria já viu esse potencial e está buscando cada vez mais utilizar as placas gráficas para acelerar seus pro- cessos. Quando conseguimos ganhos de desempenhos consideráveis com o uso das placas gráficas, os custos dos processos podem ser reduzidos drasticamente. Um exemplo de si- tuação que pode refletir essa redução de custos, é na industria do petróleo. Nela é comum empresas terem grandes centros de processamento equipados com muitos computadores que, normalmente, são medidos pela quantidade de processadores total do centro de pro- cessamento. Dessa forma, uma única placa gráfica pode substituir vários computadores, fazendo a proporção do poder de processamento. Com isso, seria economizado tanto no custo de montar o centro de processamento com placas gráficas, quanto na energia gasta

para chegar no mesmo poder de processamento utilizando apenas computadores. Para dar noção de custos, a placa mais cara utilizada nos experimentos, a GTX 1080TI, custavam em média, em junho de 2018, US$660.00, em comparação, a GTX 1080 custa 81% do seu valor e a GTX 980 custa 53% também do valor da GTX 1080TI. Esses preços podem ser facilmente encontrados no website www.amazon.com.

O dado sintético usado nesse trabalho foi de grande ajuda, devido ao seu tamanho e características. Com ele foi possível simular diversos dados sísmicos e conseguir mostrar como o tamanho do volume de dados (cálculos) influencia na performance do algoritmo na GPU quando comparado com a versão sequencial.

6.1

Trabalhos Futuros

Com esses tempos de execução alcançados, ficam abertos novos patamares a serem estudados, como o picking automático de velocidades tanto no semblance quanto nos painéis CVS, a utilização de cálculos mais avançados para gerar o semblance, o uso de processos, como filtros, ganhos, etc, que podem ser aplicados nas seções CVS antes da exibição dos resultados para o usuário, além da possibilidade de aplicar esse método de outras formas. Uma delas é interagir a análise de velocidade com o picking do termo de quarta ordem da equação do NMO. O fluxo padrão para análise do termo de quarta ordem é definido primeiramente pela análise da velocidade convencional. Após o campo de velocidade selecionado, é feita uma outra análise residual para o termo de quarta ordem da equação NMO, sendo necessário criar dois conjuntos de dados para ambas as análises. No novo método não seria necessário criar os conjuntos de dados previamente, já que os mesmos estariam sendo feitos em tempo de execução.

Referências

BARNEY, B. OpenMP. jul. 2017. Jul., 2017. Disponível em: <https: //computing.llnl.gov/tutorials/openMP/>. Acesso em Abril 23, 2018.

BILLETTE, F.; BRANDSBERG-DAHL, S. The 2004 BP velocity benchmark. In: 67th Annual Internat. Mtg., EAGE, Expanded Abstracts. [S.l.]: EAGE, 2005. p. B035.

BUCK, I. et al. Brook for gpus: stream computing on graphics hardware. ACM Transactions on Graphics (TOG), v. 23, n. 3, p. 777–786, 2004.

CHOU, C.-Y. et al. Accelerating image reconstruction in dual-head pet system by gpu and symmetry properties. PLOS one, v. 7, p. 1–12, 2012.

CLAERBOUT, J. F. Imaging the Earth’s Interior. 1th. ed. California: Stanford Univertisy, 1984.

CONEGO JUNIOR, D. Processamento e Análise dos Dados do Campo. Jun 2009. Disponível em: <http://www.ebah.com.br/content/ABAAABaDIAG/relatorio- sismica-ii>. Acesso em Junho 30, 2017.

COSTAIN, C. C. J. Basic Theory in Reflection Seismology, Volume 1: (Handbook of Geophysical Exploration: Seismic Exploration). 1. ed. [S.l.]: Elsevier Science, 2005. ISBN 0080370195,9780080370194.

DAGUM, L.; MENON, R. Openmp: an industry standard api for shared-memory programming. Computational Science & Engineering, IEEE, IEEE, v. 5, n. 1, p. 46–55, 1998. ISSN 1070-9924.

DIX, C. H. Seismic velocities from surface meansurements. Geophysisys, v. 20, n. 1, p. 68–86, 1955.

FOMEL, S. Velocity analysis using ab semblance. Geophysical Prospecting, John Wiley and Sons, v. 57, 2009.

GELADO, I. et al. An asymmetric distributed shared memory model for heterogeneous parallel systems. SIGARCH Comput. Archit. News, ACM, v. 38, p. 347–358, 03 2010. GONG, X.; WANG, S.; ZHANG, T. Velocity analysis using high-resolution semblance based on sparse hyperbolic radon transform. Journal of Applied Geophysics, v. 134, p. 146 – 152, 2016. ISSN 0926-9851.

GREEN, C. H. Velocity determinations by means of reflection profiles. Geophysisys, v. 3, n. 4, p. 295–305, 1932.

HUANG, H. et al. An mpi-cuda implementation and optimization for parallel sparse equations and least squares (lsqr). Procedia Computer Science, v. 9, p. 76 – 85, 2012. ISSN 1877-0509. Proceedings of the International Conference on Computational Science, ICCS 2012.

HUYGHENS, C. Traite de la lumiere. [S.l.]: Gauthier-Villars, 1920. (Les maîtres de la pensée scientifique).

KEAREY, P. et al. An Introduction to Geophysical Exploration. 3. ed. [S.l.]: Wiley-Blackwell, 2002. ISBN 0-632-04929-4.

KIRK, D. B.; HWU, W. mei W. Programming Massively Parallel Processors: A Hands-on Approach. 2nd. ed. [S.l.]: Morgam Kaufmann, 2012. ISBN 978-0-12-415992-1.

LOVE, A. E. H. Some problems of geodynamics. 1th. ed. Boston: Cambridge, 1911. LUO, S.; HALE, D. Velocity analysis using weighted semblance. GEOPHYSICS, v. 77, n. 2, p. U15–U22, 2012.

MARTÍNEZ-MORENO, F. J. Detection and characterization of karstic caves: integration of geological and geophysical techniques. Mar 2015. Mar., 2015. Disponível em:

<https://www.researchgate.net/Types-of-seismic-waves-Deep-waves-P-and- S-waves-and-surface-waves-Love-and-Rayleigh_fig9_317427371>. Acesso em Janeiro 10, 2018.

NICKOLLS, J.; DALLY, W. J. The gpu computing era. IEEE Micro, IEEE Computer Society Press, Los Alamitos, CA, USA, v. 30, n. 2, p. 56–69, mar. 2010. ISSN 0272-1732. Disponível em: <http://dx.doi.org/10.1109/MM.2010.41>.

NVIDIA CORPORATION. Cuda C Programming Guide. 8. ed. [S.l.], Jul 2017. Jul., 2017. Disponível em: <http://docs.nvidia.com/cuda/pdf/ CUDA_C_Programming_Guide.pdf>. Acesso em Julho 08, 2017.

OBREGON, I.; SALAMANCA, W.; RAMIREZ, A. B. Reverse time migration on a gpu cluster using the seismic data parallelism strategy. In: . 15th International Congress of the Brazilian Geophysical Society &amp; EXPOGEF, Rio de Janeiro, Brazil, 31 July-3 August 2017. [S.l.: s.n.], 2017. p. 353–357.

PAUL, S. R. et al. Performance analysis and optimization of a hybrid seismic imaging application. Procedia Computer Science, v. 80, p. 8 – 18, 2016. ISSN 1877-0509. International Conference on Computational Science 2016, ICCS 2016, 6-8 June 2016, San Diego, California, USA.

REVORÊDO, R. F.; NASCIMENTO DA SILVA, C. C. Integrated techniques for determining the velocity function in the seismic reflection: Example of low signal-to-noise data. Revista Brasileira de Geofísica, v. 34, n. 2, p. 165–174, 2016. ISSN 1809-4511. ROSA, A. L. R. Análise do sinal sísmico. Rio de Janeiro: Sociedade Brasileira de Geofísica - SBGf, 2010.

SEG. 2004 BP velocity estimation benchmark model. Out 2017. Out., 2017. Disponível em: <https://wiki.seg.org/wiki/2004_BP_velocity_estimation_benchmark_model/>. Acesso em Novembro 02, 2017.

SHERIFF, R. E.; GELDART, L. P. Exploration Seismology. 2. ed. [S.l.]: Cambridge University Press, 1995. ISBN 9780521468268.

SMITH, K. Machine learning assisted velocity autopicking. In: . SEG Technical Program Expanded Abstracts 2017. [S.l.: s.n.], 2017. p. 5686–5690.

STOCKWELL, J. J. W. Free software in education: A case study of cwp/su: Seismic un*x. The Leading Edge, v. 16, n. 7, p. 1045–1050, 1997.

TANER, M. T.; KOEHLER, F. Velocity spectra-digital computer derivation and application of velocity functions. Geophysisys, v. 34, n. 6, p. 859–881, 1969.

VERSTEEG, R. The marmousi experience: Velocity model determination on a synthetic complex data set. The Leading Edge, v. 13, n. 9, p. 927–936, 1994.

XAVIER NETO, P. Processamento e Interpretação de Dados 2D e 3D de GPR: Aplicações no Imageamento de Feições Kársticas e Estruturas de Dissolução no Campo de Petróleo de Fazenda Belém – CE. Tese (Doutorado) — Universidade Federal do Rio Grande do Norte, 2006.

XU, J. et al. An efficient implementation of 3d high-resolution imaging for large-scale seismic data with gpu/cpu heterogeneous parallel computing. Computers & Geosciences, v. 111, p. 272 – 282, 2018. ISSN 0098-3004.

YILMAZ, O. Seismic Data Analysis: Processing, Inversion, and Interpretation of Seismic Data. Tulsa, USA: Society of Exploration Geophysicists, 2001.

Documentos relacionados