El open source es la infraestructura invisible que sostiene la ciencia moderna, y entenderlo importa si eres científico, ingeniero o simplemente usas software para descubrir cosas nuevas. Detrás de cada telescopio, microscopio o simulación hay código que controla instrumentos, recolecta datos y entrena modelos.
Esta charla, dictada por una ingeniera de NVIDIA con veinte años en computación científica, muestra cómo mover cálculos de la CPU a la GPU multiplica la velocidad de la ciencia, y por qué las comunidades abiertas, no solo el código, hacen posible el descubrimiento.
¿Por qué la ciencia moderna está construida sobre software?
Cuando piensas en descubrimiento científico, imaginas a alguien con bata mirando por un microscopio. Pero detrás de esa imagen siempre hay software: controla los instrumentos, corre las simulaciones y crea las visualizaciones con las que los científicos se comunican entre sí.
La ponente lo resume con una idea potente: la ciencia moderna no solo usa software, cada vez más está hecha de software [06:00]. Y cuando el software se vuelve parte del instrumento científico, aparece una pregunta clave: ¿quién puede inspeccionarlo, mejorarlo y reproducir sus resultados?
Su propia historia lo ilustra. Empezó como bióloga molecular en un laboratorio de genética de poblaciones, rastreando genes de cáncer en generaciones de moscas de la fruta usando hojas de Excel. Su hermano, que trabajaba en la NASA, le enseñó Python y eso cambió por completo su trayectoria [00:30].
¿Qué significa open science? Es un modelo donde el código, la gobernanza, las interfaces y la infraestructura son recursos comunitarios. Lo más fácil es liberar el código; lo difícil es crear una base que permita a otros científicos participar y reproducir los resultados.
¿Cómo Python y las GPU aceleran el descubrimiento científico?
Python se ha convertido en la forma de facto de hacer ciencia. Desde la creación de NumPy a inicios de los 2000, se construyó todo el stack científico: SciPy, librerías de dominio específico y aplicaciones encima de ellas [12:00].
El siguiente paso natural para acelerar la experimentación es mover esas librerías a la GPU. Aquí aparece una filosofía clave del ecosistema: los drop-in replacements, reemplazos directos que respetan la interfaz que el científico ya conoce.
- scikit-learn, XGBoost, NetworkX y pandas tienen equivalentes acelerados en GPU.
- El científico apenas cambia su código y obtiene aceleración por debajo.
- La interfaz importa tanto como el cálculo que ocurre en el fondo.
La idea es encontrar al científico donde ya está: en su capa de productividad. Si entiendes cómo funciona CUDA, ese conocimiento es universal y funciona igual en todo el stack, desde el hardware hasta las abstracciones más altas [14:00].
¿Qué es un drop-in replacement en computación con GPU? Es una librería acelerada que reemplaza a otra manteniendo la misma interfaz. Cambias pocas líneas de código y el cálculo corre en GPU sin aprender los internos del hardware.
¿Qué casos reales muestran la aceleración con GPU?
Los números hablan por sí solos. La ponente comparte proyectos donde mover el cálculo a la GPU transformó lo que antes tomaba días o meses.
- Physics Nemo y el proyecto HENS (Huge Ensembles): tomaron 40 años de modelos climáticos para predecir clima extremo. Un cálculo que antes solo corría en supercomputadoras ahora corre en una GPU normal, generando más de 27,000 años de predicciones [17:00].
- Proyecto Frosty (telescopio Nancy Grace Roman): buscan supernovas restando imágenes. Al pasar de NumPy a CuPy lograron un aumento de 23x, y con la librería NVMath Python llegaron a 39x. Lo que tomaba días ahora toma horas [19:00].
- Observatorio Vera C. Rubin en Chile: el observatorio más grande del mundo, con una cámara de 3.2 mil millones de píxeles, mapeará el cielo del hemisferio sur durante 10 años [21:00].
En el caso del Observatorio Rubin, el equipo movió el cálculo de CPU a GPU y luego a un framework de computación distribuida con múltiples GPU. El resultado: bajaron de nueve meses en CPU a cuatro horas.
La escala es difícil de imaginar: 20 terabytes de datos por noche, petabytes al mes, durante una década [22:00]. Y lo interesante es que los científicos detrás no son CUDA ninjas. Usan su código NumPy de siempre, hacen pequeños cambios y colaboran con ingenieros para conseguir aceleración sin cambiar su interfaz.
¿Quién sostiene realmente el software científico abierto?
Aquí viene lo que casi nadie menciona. Un proyecto open source no lo hacen solo los desarrolladores que implementan algoritmos nuevos. Detrás hay un sistema completo de personas.
- Quienes hacen testing, performance testing y CI/CD.
- Quienes escriben documentación y aseguran la reproducibilidad.
- Los release managers y, sobre todo, los revisores de código.
Los revisores leen miles de líneas para determinar si el código es correcto y rápido. Tienen un paralelo directo con la revisión por pares de los papers científicos: mientras más ojos y más diversidad de pensamiento, mejores las ideas [27:00].
NVIDIA lleva 20 años creando las librerías CUDA-X, con más de 900 disponibles. Algunas son muy específicas, como cuLitho para acelerar la manufactura de chips o ParaBricks para genómica [15:30].
¿Por qué financiar el mantenimiento y no solo la innovación? Si inviertes $100,000 en una función nueva que nadie mantiene, terminará rompiéndose. Sin mantenimiento continuo, ese código se pierde y afecta todo lo construido encima.
¿Cómo puedes contribuir al ecosistema open source?
No necesitas ser experto. La invitación es clara: deja el ecosistema un poco más fuerte de como lo encontraste [29:00]. Cada rol tiene una forma concreta de aportar.
- Si eres científico, cita el software en tus papers y trátalo como parte de tu trabajo.
- Si eres ingeniero, aporta disciplina de ingeniería para hacerlo sostenible.
- Si eres institución o funder, financia el mantenimiento, no solo funciones nuevas.
El reto propuesto es simple: en los próximos 30 días, encuentra un proyecto científico abierto del que dependas y haz una contribución. Puede ser un reporte de bug, documentación, un tutorial, un test, una cita o incluso apoyo financiero. Luego cuéntale a otra persona sobre ese proyecto.
Detrás de cada descubrimiento científico hay miles de personas cuyos nombres nunca aparecerán en un paper: desarrolladores, mantenedores, revisores, autores de paquetes e ingenieros de infraestructura. El descubrimiento científico es un esfuerzo colectivo, y ninguna empresa, comunidad o institución lo sostiene sola.
¿Qué proyecto open source usas todos los días y podrías apoyar este mes? Cuéntanos en los comentarios cuál eliges.