english Icono del idioma   español Icono del idioma  

Por favor, use este identificador para citar o enlazar este ítem: https://hdl.handle.net/20.500.12008/43442 Cómo citar
Título: Computación científica de alto desempeño en sistemas Xeon Phi.
Autor: Carro, Matías
Da Costa Porto, Pablo
Título Obtenido: Ingeniero en Computación.
Facultad o Servicio que otorga el Título: Universidad de la República (Uruguay). Facultad de Ingeniería.
Tipo: Tesis de grado
Palabras clave: Xeon Phi, Computación de alto desempeño, Intel threading building blocks, Manycore, Procesadores multinúcleo, Programación paralela
Fecha de publicación: 2023
Resumen: Intel Xeon Phi es una línea de coprocesadores cuya arquitectura consiste de entre 57 y 61 núcleos, a una frecuencia de alrededor de 1GHz, que implementan un superconjunto de las instrucciones x86, con la adición de instrucciones SIMD de 512 bits. Cada coprocesador viene contenido dentro de una tarjeta de expansión PCIe, incluyendo hasta 16GB de memoria RAM, y se integra a sistemas existentes corriendo su propio sistema operativo autónomo basado en Linux. Su arquitectura cuenta con compiladores oficiales para C/C++ y Fortran y con implementaciones de varios modelos de programación paralela comunes con otras arquitecturas de memoria compartida, incluyendo el estándar OpenMP y la biblioteca Intel Threading Building Blocks (TBB). Por sus características, es una arquitectura de alto desempeño que, en principio, no requiere conocimientos específicos para su uso y permite el desarrollo de aplicaciones portables. La propuesta de este trabajo es interiorizarse en la arquitectura de Xeon Phi y sus herramientas para el desarrollo de aplicaciones, con énfasis en TBB, buscando identificar las condiciones y prácticas necesarias para su desempeño óptimo, culminando con la implementación de una aplicación como prueba de concepto. La literatura consultada y las pruebas realizadas muestran que, para obtener un buen desempeño, es necesario que las aplicaciones sean escalables a entre 100 y 250 hilos concurrentes, que sus operaciones aprovechen el tamaño completo de las unidades vectoriales, y que saquen provecho de la localidad de memoria. Se conocen múltiples técnicas portables de optimización para favorecer la escalabilidad, la vectorización y el aprovechamiento de la localidad, pero se observa que, en la mayoría de los casos, es necesario usar construcciones específicas de la arquitectura para optimizar la vectorización. La prueba de concepto implementada consistió de una simulación de una red de pesca. Con la ayuda del perfilador VTune Amplifier, fue posible llegar a una implementación escalable de la simulación usando TBB. Sin embargo, la implementación final no mostró un buen aprovechamiento de la vectorización y la localidad, quedando pendiente la optimización de estos aspectos.
Editorial: Udelar. FI.
Citación: Carro, M. y Da Costa Porto, P. Computación científica de alto desempeño en sistemas Xeon Phi [en línea] Tesis de grado. Montevideo: Udelar. FI. INCO, 2023.
Licencia: Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0)
Aparece en las colecciones: Tesis de grado - Instituto de Computación

Ficheros en este ítem:
Fichero Descripción Tamaño Formato   
CD23.pdfTesis de grado1,63 MBAdobe PDFVisualizar/Abrir


Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons Creative Commons