Infraestructura Linux, HPC e IA · APOLO · ASC26 · EAFIT
Operé clusters en producción y su stack de GPU para IA.
En APOLO configuré yo mismo los drivers de NVIDIA, CUDA y cuDNN en los nodos GPU. En un proyecto de IA, pasar el entrenamiento a GPU lo bajó de 54:22 a 16:02.En producción, en APOLO, manejé la cola de jobs con Slurm y ayudé a compilar R, ORCA e ICON. En ASC26 monté las máquinas y los drivers de ROCm. Resultado: ganador de la competencia grupal.Durante un año administré Linux en APOLO 2 y APOLO 3: Ansible para llevar nodos recién instalados al cluster, FreeIPA para la autenticación, y el firewall de Proxmox y UFW para controlar el acceso.En APOLO usé Ansible para aprovisionar nodos, monitoreé los dos clusters con Prometheus y Grafana y puse checks de GitHub Actions en nuestros repos de Ansible. Docker y AWS los he usado en proyectos.En APOLO configuré yo mismo los drivers de NVIDIA, CUDA y cuDNN en los nodos GPU. En proyectos pasé un entrenamiento a GPU (54:22 → 16:02) y optimicé la inferencia en PyTorch.En proyectos construí un middleware líder-seguidor en C++ y le hice pruebas de carga en AWS, desplegué GRID-EAFIT en EC2 con auto-escalado y corrí jobs de Hadoop en EMR.
- Clusters
- APOLO 2 · APOLO 3
- Perfil
- perfil/todoperfil/hpcperfil/linuxperfil/devopsperfil/ai-infraperfil/cloud
$ git checkout perfil/elegir un cargo ↓
Todo el perfilTrabajé un año en producción en los dos clusters de APOLO, nodos GPU incluidos. La parte de IA es más reciente y casi toda está en proyectos: entrenamiento en GPU y dos sistemas multiagente.
01 · whoami
Ingeniero de sistemas, EAFIT 2026.
Buena parte de mi trabajo queda cerca del sistema operativo y de la red, y mis proyectos de IA terminan ahí también.
Soy ingeniero de sistemas. Estudié en la Universidad EAFIT hasta julio de 2026, y mi último año allá coincidió con un año de trabajo en APOLO, en dos clusters de producción. En EAFIT también estuve en dos semilleros de investigación: en el de ciberseguridad exploté y corregí vulnerabilidades del OWASP Top 10, y en SCAR, el de HPC, apliqué técnicas de HPC a una simulación Monte Carlo de cómo le iría a Colombia en el Mundial de 2026.
Mucho de lo que he construido queda cerca del sistema operativo o de la red. En proyectos eso fue un servidor DHCP escrito en C sobre sockets UDP y un middleware líder-seguidor en C++. En APOLO fue manejar la cola de jobs con Slurm y la autenticación de los clusters con FreeIPA, y migrar siete máquinas a Proxmox sin downtime.
La IA llegó después. En producción son los nodos GPU de APOLO, donde configuré yo mismo los drivers de NVIDIA, CUDA y cuDNN. Lo demás está en proyectos: pasé a GPU el entrenamiento de un modelo de traducción, hice el fine-tuning del modelo de generación de video de UnifoLM-WMA-0 y trabajé en dos sistemas multiagente. Incluso ahí termino en la misma capa: FP16, un job de Slurm que pide una GPU.
0 downtime
Migré siete máquinas de VMware ESXi a Proxmox en APOLO.
CUDA en los nodos
Configuré yo mismo los drivers de NVIDIA, CUDA y cuDNN en los nodos GPU de APOLO.
Wuxi, mayo de 2026
Equipo ganador de la competencia grupal. Yo configuré la infraestructura.
02 · git log --career↕ ordenado para HPC↕ ordenado para Linux↕ ordenado para DevOps / SRE↕ ordenado para MLOps / IA↕ ordenado para Nube
Dos clusters y una competencia.
- release/2026.07 · HEAD
Freelance
Desde jul. 2026
Desarrollador independiente ahora Freelance
Desarrollo software a la medida para clientes, tres hasta el momento, y cada cambio pasa por GitHub Actions y por un entorno de staging antes de producción.
- release/2026.05 · tag asc26
ASC26 Student Supercomputer Challenge
ASC26 · Final global · mayo de 2026
Yo configuré las máquinas. El equipo optimizó ICON. Logro
En Wuxi fui líder de infraestructura HPC e instalé los drivers de GPU de ROCm. Con equipos de cuatro universidades internacionales optimizamos el tiempo de inferencia de ICON. Resultado: ganador de la competencia grupal.
- Lugar
- Wuxi, China
- Mi rol
- líder de infraestructura HPC: configuré las máquinas e instalé los drivers de ROCm
- Resultado
- ganador de la competencia grupal
- Benchmark del equipo
- HPL llegó a cerca del 78 % del Rpeak
- release/2025.08 → 2026.07
Centro de Computación Científica APOLO
ago. 2025 – feb. 2026 · Analista de Supercomputación
feb. 2026 – jul. 2026 · Monitor de SupercomputaciónUn año en dos clusters de producción Producción
- Migré siete máquinas de VMware ESXi a Proxmox sin downtime, y las licencias del hypervisor quedaron en USD 0.
- Ajusté parámetros del kernel y del sistema operativo. Con workloads equivalentes, la carga promedio de nodo pasó de 55 % a 35 %.
- Manejé Slurm para la cola de jobs y FreeIPA para la gestión de identidad en APOLO 2 y APOLO 3.
- Con Ansible llevé nodos con el SO recién instalado hasta nodos funcionales del cluster, y desplegué Prometheus.
- Configuré el firewall de Proxmox y UFW, y dejé los backups de las VM en el NAS.
- Monitoreé los dos clusters con Prometheus y Grafana.
- Ayudé a compilar e integrar R, ORCA, ICON y modelos de ML en los clusters.
- Puse checks de GitHub Actions en repos privados para que el código nuevo de Ansible cumpliera las reglas internas: linting y nada de secretos expuestos.
- Di charlas de inducción y mentoría sobre el uso del cluster a ~20 personas.
- Configuré yo mismo los drivers de NVIDIA, CUDA y cuDNN en los nodos GPU.
- Configuré Lmod y los entornos de Conda para los usuarios, y administré particiones y nodos de Slurm, incluidos los estados drain y resume.
- Administré Rocky Linux en los nodos, configuré las VLAN y los switches, corrí yo mismo los benchmarks HPL y HPCG y atendí los tickets de la mesa de ayuda.
- Configuré yo mismo plantillas de VM con cloud-init, agregué exporters de Prometheus (node_exporter y uno de Slurm) y armé servicios de systemd o tareas de cron, según la necesidad.
- Trabajé con Intel MPI, OpenMPI, OpenMP, los compiladores de Intel oneAPI y contenedores de Apptainer, y ayudé a los investigadores a usarlos.
- Ayudé a los usuarios con la planificación de GPU en Slurm (GRES), QoS y fairshare, el sistema de archivos compartido NFS y el acceso remoto por VPN y llaves SSH.
- También di soporte a usuarios del cluster de otros países, como Polonia y Australia.
- Ayudé con el montaje y el cableado de nodos, las instalaciones por red con Warewulf, InfiniBand, el DNS y el DHCP internos del cluster, y las cuentas y cuotas de usuario. Ese trabajo lo lideraba otra persona.
- Slurm
- FreeIPA
- Ansible
- Proxmox
- Prometheus / Grafana
- CUDA
- Rocky Linux
02a · git diff --stat
Los números y de dónde salen.
- 0
downtime al migrar 7 máquinas de VMware ESXi a Proxmox
- 55 % → 35 %
carga promedio de nodo, workloads equivalentes, medida en producción en APOLO
- 54:22 → 16:02
tiempo de entrenamiento sin GPU y con GPU, en un proyecto de IA
- ~78 %
del Rpeak en HPL en la final global de ASC26, un resultado del equipo
- ~20
personas a las que les di charlas de inducción y mentoría sobre el uso del cluster
03 · ls proyectos/↕ ordenado para HPC↕ ordenado para Linux↕ ordenado para DevOps / SRE↕ ordenado para MLOps / IA↕ ordenado para Nube
Lo que he construido.
La migración de APOLO corrió en producción. Lo demás son proyectos, trabajos de curso o competencias, y cada tarjeta dice cuál es. Cuatro tienen una revisión de cambio completa.
De VMware ESXi a Proxmox en APOLO
En APOLO migré siete máquinas de VMware ESXi a Proxmox sin downtime, y el costo de licencias del hypervisor quedó en USD 0. También ajusté parámetros del kernel y del sistema operativo: con workloads equivalentes, la carga promedio de nodo bajó de 55 % a 35 %. Para controlar el acceso configuré el firewall de Proxmox y UFW, y los backups de las VM quedaron en el NAS.
Proxmox · VMware ESXi · Ajustes del kernel Linux · UFW · NAS
ASC26 Student Supercomputer Challenge
En mayo de 2026 viajé a la final global de ASC26 en Wuxi, China, como líder de infraestructura HPC. Mi parte era la infraestructura de la competencia: configuré las máquinas e instalé los drivers de GPU de ROCm. Trabajamos con equipos de cuatro universidades internacionales y optimizamos el tiempo de inferencia de ICON, una aplicación de clima y meteorología. En HPL, el equipo llegó a cerca del 78 % del Rpeak. Resultado: ganador de la competencia grupal.
ROCm · GPU AMD · ICON
Middleware de mensajería de alta disponibilidad
Este lo diseñé y lo construí solo, de principio a fin, en C++17 con CMake. Los nodos forman un cluster líder-seguidor para tener alta disponibilidad, tolerancia a fallos y persistencia de datos, y se comunican con gRPC y Protocol Buffers. Ofrece colas punto a punto y tópicos publicación-suscripción detrás de una API REST hecha con Crow. Lo probé en AWS con pruebas de carga distribuidas y revisé los logs del sistema.
C++17 · CMake · gRPC · Protocol Buffers · Crow · AWS
GRID-EAFIT: predicción energética
Un proyecto en equipo en EAFIT para predecir el consumo eléctrico y la producción solar. Mi parte fue el backend en Flask, los modelos en Keras y TensorFlow, la configuración de Docker Compose y el despliegue en AWS. Corría en EC2 con routing, balanceo de carga y auto-escalado, sin Kubernetes.
Flask · React · Keras · TensorFlow · Docker Compose · Pytest · AWS EC2
Un servidor DHCP desde cero
Construí un servidor DHCP desde cero en C, sobre sockets UDP. Asigna direcciones IP y maneja los leases, y funciona en Linux y en entornos NAT simulados. Ninguna librería de DHCP hace el trabajo: el manejo de paquetes y de las interfaces de red pasa por llamadas al sistema de bajo nivel, que es justo la parte de las redes que la mayoría de herramientas esconde.
C · Sockets UDP · Linux · NAT
Traducción neuronal entrenada en GPU
Un traductor de inglés a español en TensorFlow y Keras: un encoder-decoder con LSTM y atención, montado sobre embeddings preentrenados de spaCy. Sin GPU, el entrenamiento tomaba 54:22. Lo pasé a GPU con CUDA y cuDNN, con un job de Slurm que pide una GPU, y el tiempo bajó a 16:02.
TensorFlow · Keras · spaCy · CUDA · cuDNN · Slurm
UnifoLM-WMA-0: fine-tuning e inferencia
UnifoLM-WMA-0 es un framework público de world models para aprendizaje robótico de propósito general. Hice el fine-tuning de su modelo de generación de video con el dataset Open-X y además trabajé con cinco datasets de Unitree Robotics. En la parte de rendimiento configuré precisión FP16 y cambié el comportamiento de SDPA (scaled dot-product attention) en PyTorch para bajar el tiempo de inferencia.
PyTorch · FP16 · SDPA · Open-X
Pipelines de CI/CD en GitHub Actions
Dos configuraciones de GitHub Actions en Ubuntu con Python 3.12. El pipeline más grande es un fork, o sea que partí de un workflow que no escribí yo. Ahí Black, Pylint y Flake8 revisan el estilo, Pytest corre las pruebas unitarias y de aceptación con cobertura, SonarCloud reporta la calidad del código, y Docker Buildx con QEMU construye la imagen que se publica en Docker Hub. El más pequeño cubre ejecución por push, disparo manual y ejecución de scripts.
GitHub Actions · Pytest · SonarCloud · Gunicorn · Docker Buildx · QEMU · Docker Hub
Orquestación del SDLC con agentes de IA
Trabajé en un sistema multiagente hecho con Claude Code que toma un brief de negocio y lo lleva por el ciclo de desarrollo de software hasta una aplicación Django desplegada. Cada etapa tiene su propio agente especializado, y en los puntos de validación una persona tiene que aprobar el resultado antes de pasarlo al siguiente agente.
Claude Code · Django
Un entorno de staging que refleja producción
En un proyecto de la universidad armé un entorno de staging dentro de un contenedor que refleja producción, para probar los cambios en condiciones reales antes de llevarlos a producción. Todavía está corriendo. Trabajo igual en otros proyectos: GitHub Actions valida el código y el staging va antes de producción.
Contenedores · Staging
Datos de películas con Hadoop MapReduce
Cuatro programas MRJob en Python que calculan, sobre un dataset de películas, conteos y calificaciones de directores, conteos de actores y frecuencias de letras. Los corrí como jobs de Hadoop MapReduce sobre HDFS en AWS EMR, con la configuración hecha en shell, y les puse encima una pequeña interfaz en Flask para ver los resultados.
Python · MRJob · Hadoop · HDFS · AWS EMR · Flask
AgentSprint de ReshapeX
Un desafío en equipo sobre sistemas multiagente, en el que quedamos en 5.º lugar. Nuestra solución recibe una descripción en lenguaje natural o un video de una vivienda y genera una simulación 3D que recomienda dónde ubicar sensores y productos de hogar inteligente de Xiaomi.
Sistemas multiagente · Entrada multimodal · Simulación 3D
Bookstore: de monolito a microservicios
Proyecto de curso entre dos personas. Dividimos un monolito de librería hecho en Flask y SQLAlchemy en tres servicios (autenticación, catálogo y transacciones), cada uno con su propio Dockerfile y todos corriendo con Docker Compose en AWS EC2. Los servicios todavía comparten una sola base de datos en Amazon RDS y sus URLs están quemadas en el código. Dejamos documentados esos dos trade-offs.
Flask · SQLAlchemy · Docker Compose · AWS EC2 · Amazon RDS
Dirección del precio del oro con XGBoost
Un proyecto personal de dos días que corrió como job batch de Slurm en el cluster de APOLO, por fuera de mi trabajo allá. La primera versión, un regresor XGBoost sobre velas de oro de 15 minutos, usó una división aleatoria con datos de series de tiempo, así que sus métricas no cuentan. La segunda predice la dirección de las siguientes cuatro horas, con cerca de 50 indicadores técnicos y una división cronológica. No tiene resultados registrados.
Python · pandas · XGBoost · scikit-learn · Slurm
Detección de emociones faciales en tiempo real
Entrené una CNN con TensorFlow y Keras para clasificar siete expresiones faciales y la conecté a una aplicación de webcam: OpenCV maneja la cámara y la interfaz está hecha en Tkinter con CustomTkinter. El README reporta 79 % de precisión de validación en el dataset de expresiones faciales.
TensorFlow · Keras · OpenCV · Tkinter
Proyectos del curso de Sistemas Operativos
Tres proyectos del curso de Sistemas Operativos. Uno simula la asignación continua de memoria con la política Worst Fit y tiene cobertura con Pytest. El parcial de reemplazo de páginas (procesar, desalojo LRU) lo empecé desde una plantilla del profesor. El último es pysync, una librería de sincronización de hilos con los patrones productor-consumidor y rendezvous, probada con Pytest y parameterized.
Python · Pytest · Hilos
Métodos numéricos y grafos
Dos proyectos de curso. SolverPro es una aplicación web en React y TypeScript, armada con Vite, con métodos de búsqueda de raíces, sistemas lineales, interpolación y ecuaciones diferenciales. El otro construye en Python un grafo con datos de calles y calcula rutas con Dijkstra, con pandas para los datos y gmplot para el mapa.
React · TypeScript · Vite · Python · pandas · gmplot
Otros proyectos (0)
04 · cat stack.yaml↕ ordenado para HPC↕ ordenado para Linux↕ ordenado para DevOps / SRE↕ ordenado para MLOps / IA↕ ordenado para Nube
Qué he usado y dónde.
Por nivel de evidencia
Las herramientas de producción las usé en los clusters de APOLO. Las de proyecto salen de repos universitarios y personales, y las de cursos solo las he usado en clase.
stack: producción: - Linux # Administración en APOLO 2 y APOLO 3 - Operación de clusters HPC # Dos clusters de producción en APOLO - Slurm # Cola de jobs en APOLO 2 y 3 - Proxmox / VMware ESXi # 7 máquinas migradas, sin downtime - Ansible # Aprovisionar nodos, desplegar Prometheus - FreeIPA # Gestión de identidad en APOLO - Firewall de Proxmox / UFW # Hardening en APOLO - Prometheus / Grafana # Monitoreo de los clusters en APOLO - GitHub Actions # Linting y secretos en el código Ansible - R / ORCA / ICON # Ayudé a compilarlos e integrarlos - Driver de NVIDIA / CUDA / cuDNN # Configurados en los nodos GPU de APOLO - Plantillas de VM / cloud-init # Configurados por mí en APOLO - node_exporter / exporter de Slurm # Métricas de Prometheus en APOLO - systemd / cron # Servicios o tareas programadas proyecto: - C / C++ # Servidor DHCP en C, middleware en C++ - gRPC / Protocol Buffers # Comunicación entre nodos del middleware - AWS (EC2, EMR) # GRID-EAFIT en EC2, Hadoop en EMR - Keras / TensorFlow # Modelos de energía, traducción, CNN - Docker / Docker Compose # Contenedores de GRID-EAFIT y Bookstore - Python / Bash # Jobs de Hadoop, backends Flask, EMR - AWS auto scaling, Lambda, IAM, S3, ECS, ECR # Configurados por mí en proyectos - Let's Encrypt # Certificados TLS en proyectos - Nginx # En proyectos, no en producción cursos: - Terraform # En cursos, no en producción - Kubernetes # Cursos + clusters de prueba en EKS - Rust # Curso guiado (un fork), aprendiendo perfil: todohpclinuxdevopsai-infracloud
05 · ls -la credenciales/
Carrera, semilleros y certificados.
- EF SETFormaciónCertificado de Inglés EF SET: 72/100 (el certificado reporta C2)13 de marzo de 2026Verificar: Certificado de Inglés EF SET: 72/100 (el certificado reporta C2)
- Cisco Networking AcademyFormaciónCybersecurity Essentials2025Verificar: Cybersecurity Essentials
- Cisco Networking AcademyFormaciónFormación: Dispositivos de Red y Configuración Inicial, Fundamentos de Redes, Seguridad de Endpoints
- PortSwiggerFormaciónFormación: rutas de Web Security Academy sobre path traversal, inyección SQL y ataques a LLM web
- Hack The BoxFormaciónFormación: 5 módulos de Hack The Box Academy (Introducción a Academy, Fundamentos de Linux, Enumeración de Redes con Nmap, Primeros Pasos, Proceso de Pruebas de Penetración)
- EducativeFormaciónAgentic System Design Crash Course (diseño de sistemas agénticos)2 de octubre de 2026Verificar: Agentic System Design Crash Course (diseño de sistemas agénticos)
- EducativeFormaciónAutomate Workflows with n8n (automatización de workflows con n8n)18 de septiembre de 2026Verificar: Automate Workflows with n8n (automatización de workflows con n8n)
- DataCampFormaciónIntermediate Git (Git intermedio)21 de agosto de 2026Verificar: Intermediate Git (Git intermedio)
- DataCampFormaciónExtreme Gradient Boosting with XGBoost19 de abril de 2026Verificar: Extreme Gradient Boosting with XGBoost
- Anthropic AcademyFormaciónModel Context Protocol: Advanced Topics1 de abril de 2026Verificar: Model Context Protocol: Advanced Topics
- Cymetria, por medio de Estud-IAFormaciónArquitectura en la Nube - Arquitectura Cloud Empresarial: curso de 117 horas (educación informal)marzo de 2026
- DataCampFormaciónIntroduction to Kubernetes (introducción a Kubernetes)5 de febrero de 2026Verificar: Introduction to Kubernetes (introducción a Kubernetes)
Logros
- 2026
ASC26 · Wuxi
Competencia en equipo LogroFinal global de ASC26 en Wuxi: ganador de la competencia grupal. Monté la infraestructura.
- 2026
AgentSprint de ReshapeX
Competencia en equipo LogroAgentSprint de ReshapeX: 5.º lugar con mi equipo, con un sistema multiagente de hogar inteligente.
- 2022
Beca Generación E
Beca LogroBeneficiario de la beca Generación E.
Estudios
Ingeniero de Sistemas
Universidad EAFITCursos de programación de sistemas, redes, sistemas distribuidos, nube, contenedores, machine learning, ciberseguridad, administración Linux y HPC.
ene. 2022 – jul. 2026SCAR, Semillero de Computación de Alto RendimientoFormación
Universidad EAFITApliqué técnicas de HPC en una simulación Monte Carlo del desempeño de Colombia en el Mundial FIFA 2026.
ago. 2025 – jul. 2026Semillero de CiberseguridadFormación
Universidad EAFITEjercicios de equipo azul, rojo y blanco. Exploté y corregí vulnerabilidades del OWASP Top 10.
ene. – dic. 2025
06 · ping mauricio
El correo es la forma más rápida de contactarme.
github: MauricioCa07 · linkedin: mauricio-carrillo-0452a5291