Pablo Oca Galeano
Graduado en Ingeniería Informática y entusiasta del rendimiento extremo. Mi enfoque profesional y académico se sitúa en la intersección entre la Bioinformática y la Computación de Altas Prestaciones (HPC)
He centrado gran parte de mi investigación en romper las barreras de velocidad de Python, especializándome en la aceleración de algoritmos de inteligencia artificial y descubrimiento de patrones en datos genómicos. Con experiencia práctica en el despliegue de soluciones sobre arquitecturas de CPU y GPU, domino el ecosistema de herramientas de bajo nivel para Python, incluyendo Cython, Numba, OpenMP y CUDA. Mi trabajo se basa en la premisa de que Python es el lenguaje ideal para la ciencia, siempre que sepamos cómo exprimier el hardware que hay debajo.
Sesión
¿Cuál es el límite de Python cuando nos enfrentamos a problemas de alta intensidad computacional en bioinformática? En esta charla se presenta un análisis comparativo sobre la paralelización y distribución de los algoritmos de Biclustering BiBit y BCCA, esenciales para la búsqueda de patrones en grandes matrices de datos genómicos.
Se detallará el proceso de transformación y optimización desde una implementación base en Python secuencial hacia cinco arquitecturas de alto rendimiento (HPC):
- Numba (CPU & GPU): Implementación de compilación Just-In-Time (JIT) y kernels vectorizados.
- Cython: Optimización mediante tipado estático y gestión eficiente de memoria a nivel de C.
- Cython + OpenMP: Estrategias de paralelismo multinúcleo nativo.
- Cython + CUDA: Desarrollo de kernels de bajo nivel para la ejecución masiva en GPUs NVIDIA.
A través de un riguroso benchmark, compararemos métricas de aceleración (speed-up), eficiencia energética y complejidad de implementación. El objetivo es desglosar objetivamente bajo qué condiciones técnicas cada una de estas herramientas es la opción óptima para superar las barreras del rendimiento en el ecosistema Python.