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 |