Local cover image
Local cover image

Estudio de viabilidad de SYCL como modelo de programación unificado para sistemas heterogéneos basados en GPUs en bioinformática

By: Contributor(s): Material type: TextTextPublication details: 2023Description: 1 archivo (6,8 MB) : il. colSubject(s): Online resources:
Contents:
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
Dissertation note: Tesis (Doctorado en Ciencias Informáticas) - Universidad Nacional de La Plata. Facultad de Informática, 2023.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Home library Collection Call number URL Status Date due Barcode
Tesis de posgrado Tesis de posgrado Biblioteca de la Facultad de Informática TES 23/39 (Browse shelf(Opens below)) Available DIF-05321
Tesis de posgrado Tesis de posgrado Biblioteca de la Facultad de Informática Biblioteca digital Link to resource No corresponde
Tesis de posgrado Tesis de posgrado Biblioteca de la Facultad de Informática Biblioteca digital Link to resource No corresponde

Tesis (Doctorado en Ciencias Informáticas) - Universidad Nacional de La Plata. Facultad de Informática, 2023.

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

Click on an image to view it in the image viewer

Local cover image