000 05430nam a2200253 a 4500
003 AR-LpUFIB
005 20250311170529.0
008 230201s2023 ag a om 000 0 spa d
024 8 _aDIF-M8812
_b9038
_zDIF008077
040 _aAR-LpUFIB
_bspa
_cAR-LpUFIB
100 1 _aCostanzo, Manuel
245 1 0 _aEstudio de viabilidad de SYCL como modelo de programación unificado para sistemas heterogéneos basados en GPUs en bioinformática
260 _c2023
300 _a1 archivo (6,8 MB) :
_bil. col.
502 _a Tesis (Doctorado en Ciencias Informáticas) - Universidad Nacional de La Plata. Facultad de Informática, 2023.
505 0 _a 1. Introducción -- 1.1. Motivación -- 1.2. Objetivos -- 1.3. Metodología -- 1.4. Alcances y limitaciones -- 1.5. Contribuciones -- 1.6. Publicaciones -- 1.7. Organización de la tesis -- 2. Marco Referencial -- 2.1. Sistemas heterogéneos basados en GPUs -- 2.1.1. HPC -- 2.1.2. Consolidación de aceleradores -- 2.1.3. GPUs -- 2.1.3.1. Tipos de GPUs -- 2.1.3.2. Características -- 2.1.4. Fabricantes -- 2.1.4.1. GPUs de NVIDIA -- 2.1.4.2. GPUs de AMD -- 2.1.4.3. GPUs de Intel -- 2.2. Modelos de programación heterogénea -- 2.2.1. CUDA -- 2.2.1.1. Modelo de plataforma -- 2.2.1.2. Modelo de ejecución -- 2.2.1.3. Modelo de memoria -- 2.2.2. OpenCL -- 2.2.2.1. Modelo de plataforma -- 2.2.2.2. Modelo de ejecución -- 2.2.2.3. Modelo de memoria -- 2.2.2.4. Comparación entre CUDA y OpenCL -- 2.2.3. OpenMP -- 2.2.3.1. Modelo de programación -- 2.2.3.2. Modelo de ejecución -- 2.2.3.3. Modelo de memoria -- 2.2.3.4. Soporte para programación heterogénea -- 2.2.4. OpenACC -- 2.2.4.1. Modelo de plataforma -- 2.2.4.2. Modelo de ejecución -- 2.2.4.3. Modelo de memoria -- 2.2.5. Kokkos -- 2.2.5.1. Modelo de plataforma -- 2.2.5.2. Modelo de ejecución -- 2.2.5.3. Modelo de memoria -- 2.2.6. RAJA -- 2.2.6.1. Modelo de plataforma -- 2.2.6.2. Modelo de ejecución -- 2.2.6.3. Modelo de memoria -- 2.3. SYCL -- 2.3.1. Modelo de plataforma -- 2.3.1.1. Compilación y ejecución -- 2.3.1.2. Backend SYCL -- 2.3.2. Modelo de ejecución -- 2.3.2.1. Modelo de Ejecución de la Aplicación SYCL -- 2.3.2.2. Modelo de Ejecución del Kernel en SYCL -- 2.3.3. Modelo de memoria -- 2.3.3.1. Buffers y Accessors -- 2.3.3.2. USM -- 2.3.4. Implementaciones SYCL -- 2.3.5. Comparación de los modelos de programación heterogénea -- 2.4. Métricas de evaluación -- 2.4.1. Rendimiento -- 2.4.2. Portabilidad -- 2.4.2.1. Ejemplo -- 2.4.3. Costo de programación -- 2.5. Bioinformática -- 2.5.1. Introducción -- 2.5.1.1. Aplicaciones -- 2.5.2. Alineamiento de secuencias biológicas (ASB) -- 2.5.3. Algoritmos para ASB -- 2.5.4. Clasificación de algoritmos -- 2.5.4.1. Alineamientos globales y locales -- 2.5.4.2. Programación dinámica y heurísticas -- 2.5.5. Algoritmos basados en programación dinámica -- 2.5.5.1. Global -- 2.5.5.2. Local -- 2.5.5.3. Semi-global -- 2.5.5.4. Solapado -- 2.5.6. Bases de datos biológicas -- 2.5.6.1. Colaboración Internacional de Bases de Datos de Secuencias de Nucleótidos -- 2.5.6.2. Bases de datos de proteínas -- 2.5.6.3. Bases de datos de nucleicos -- 2.5.7. Aceleración de ASB -- 2.5.8. GCUPS -- 2.5.9. Implementaciones para GPU -- 2.5.9.1. Búsqueda de similitud -- 2.5.9.2. Alineamiento de a pares -- 3. Caso de Estudio y Migración a SYCL -- 3.1. Selección de software para ASB -- 3.2. Caso de estudio: SW# -- 3.3. Herramientas y frameworks -- 3.3.1. Ecosistema de programación Intel oneAPI -- 3.3.2. Herramienta de migración -- 3.4. Proceso de migración -- 3.4.1. Errores de compilación y alertas -- 3.4.2. Errores en ejecución -- 3.4.3. Verificación funcional -- 3.4.4. Modernización de código y optimizaciones -- 3.4.5. Estandarización a SYCL (opcional) -- 3.5. Evaluación del esfuerzo de programación -- 3.6. Trabajos relacionados y discusión -- 4. Resultados Experimentales -- 4.1. Diseño experimental -- 4.1.1. Hardware -- 4.1.2. Software -- 4.1.3. Pruebas -- 4.1.4. Objetivos -- 4.2. Resultados de rendimiento y portabilidad -- 4.2.1. Rendimiento y funcionalidad -- 4.2.1.1. Tamaño del work-group -- 4.2.1.2. Longitudes de secuencia de consulta y bases de datos -- 4.2.1.3. Algoritmo de alineamiento y esquema de puntuación -- 4.2.1.4. Alineamiento de secuencias de ADN -- 4.2.2. Modelo para portabilidad de rendimiento -- 4.2.2.1. Instrucciones core de SW# -- 4.2.2.2. Características arquitectónicas en las GPUs de NVIDIA -- 4.2.2.3. Características arquitectónicas en las GPUs de AMD -- 4.2.2.4. Características arquitectónicas en las GPUs de Intel -- 4.2.2.5. Características arquitectónicas en CPUs -- 4.2.2.6. Rendimiento teórico máximo para plataformas usadas -- 4.2.3. Portabilidad en GPU individual -- 4.2.4. Portabilidad en multi-GPU -- 4.2.5. Portabilidad en CPU -- 4.2.6. Portabilidad en CPU-GPU -- 4.2.7. Portabilidad en implementaciones SYCL -- 4.3. Trabajos relacionados y discusión -- 5. Conclusiones y Trabajos Futuros -- 5.1. Conclusiones -- 5.2. Trabajos futuros
650 4 _aCOMPUTACIÓN DE ALTO RENDIMIENTO - HPC
650 4 _aBIOINFORMÁTICA
700 1 _aRucci, Enzo ,
_eDirector/a
700 1 _aGarcía Sanchez, Carlos ,
_eDirector/a
700 1 _aNaiouf, Ricardo Marcelo ,
_eCodirector/a
856 4 0 _u http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=2706
942 _cTE
999 _c57849
_d57849