Un estudio comparativo entre traductores de Python para aplicaciones paralelas de memoria compartida

Detalles Bibliográficos
Autor Principal: Milla, Andrés
Otros autores o Colaboradores: Rucci, Enzo (Director/a)
Formato: Tesis
Lengua:español
Datos de publicación: 2021
Temas:
Acceso en línea:http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=2514
Consultar en el Cátalogo
Descripción Física:1 archivo (1,44 MB) : il. col.
Tabla de Contenidos:
  • 1. Introducción
  • 1.1. Motivación
  • 1.2. Objetivo y metodología
  • 1.3. Contribuciones
  • 1.4. Publicaciones
  • 1.5. Organización del documento
  • 2. Marco teórico
  • 2.1. Python
  • 2.1.1. NumPy
  • 2.1.2. PyPy
  • 2.1.3. Threading
  • 2.1.3.1. Limitaciones
  • 2.1.4. Multiprocessing
  • 2.1.5. Numba
  • 2.1.6. Cython
  • 2.2. N-Body
  • 2.2.1. Fundamentos
  • 2.2.2. Algoritmo
  • 2.3. Estado del arte
  • 2.4. Resumen
  • 3. Optimización de N-Body usando CPython y PyPy
  • 3.1. Implementaciones
  • 3.1.1. Implementación Naive
  • 3.1.2. Integración de NumPy
  • 3.1.3. Broadcasting
  • 3.1.4. Localidad de datos
  • 3.1.5. Multi-hilado
  • 3.2. Resultados experimentales
  • 3.2.1. Diseño experimental
  • 3.2.2. Rendimiento
  • 3.3. Resumen
  • 4. Optimización de N-Body usando Numba
  • 4.1. Implementaciones
  • 4.1.1. Implementación Naive
  • 4.1.2. Integración de Numba
  • 4.1.3. Multi-hilado
  • 4.1.4. Arreglos con tipos de datos simples
  • 4.1.5. Operaciones matemáticas
  • 4.1.6. Vectorización
  • 4.1.7. Localidad de datos
  • 4.1.8. Threading layer
  • 4.2. Resultados experimentales
  • 4.2.1. Diseño experimental
  • 4.2.2. Rendimiento
  • 4.3. Resumen
  • 5. Optimización de N-Body usando Cython
  • 5.1. Implementaciones
  • 5.1.1. Implementación Naive
  • 5.1.2. Integración de Cython
  • 5.1.3. Tipado explícito
  • 5.1.4. Multi-hilado
  • 5.1.5. Operaciones matemáticas
  • 5.1.6. Localidad de datos
  • 5.2. Resultados experimentales
  • 5.2.1. Diseño experimental
  • 5.2.2. Rendimiento
  • 5.3. Resumen
  • 6. Comparación de prestaciones de traductores de Python
  • 6.1. Rendimiento
  • 6.1.1. Diseño experimental
  • 6.1.2. Comparación
  • 6.2. Esfuerzo de programación
  • 6.2.1. Diseño experimental
  • 6.2.2. Comparación
  • 6.3. Resumen
  • 7. Conclusiones y trabajos futuros