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 ↓

maincheckout -b proxmox+ 7 máquinas: ESXi → Proxmox+ ajustes de kernel y SOmerge → main · downtime 0carga prom. de nodo 55 % → 35 %
maincheckout -b perfil/hpcASC26 Student Supercomputer Challenge+ ASC26 Student Supercomputer…De VMware ESXi a Proxmox en APOLO+ De VMware ESXi a Proxmox en…merge → mainperfil/hpc · deployed
maincheckout -b perfil/linuxDe VMware ESXi a Proxmox en APOLO+ De VMware ESXi a Proxmox en…merge → mainperfil/linux · deployed
maincheckout -b perfil/devopsDe VMware ESXi a Proxmox en APOLO+ De VMware ESXi a Proxmox en…Un entorno de staging que refleja producción+ Un entorno de staging que…Pipelines de CI/CD en GitHub Actions+ Pipelines de CI/CD en GitHub…merge → mainperfil/devops · deployed
maincheckout -b perfil/ai-infraUnifoLM-WMA-0: fine-tuning e inferencia+ UnifoLM-WMA-0: fine-tuning e…Orquestación del SDLC con agentes de IA+ Orquestación del SDLC con…Traducción neuronal entrenada en GPU+ Traducción neuronal entrenada…merge → mainperfil/ai-infra · deployed
maincheckout -b perfil/cloudGRID-EAFIT: predicción energética+ GRID-EAFIT: predicción…Datos de películas con Hadoop MapReduce+ Datos de películas con Hadoop…Bookstore: de monolito a microservicios+ Bookstore: de monolito a…merge → mainperfil/cloud · deployed

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.

01 · PRODUCCIÓN

0 downtime

Migré siete máquinas de VMware ESXi a Proxmox en APOLO.

02 · GPU

CUDA en los nodos

Configuré yo mismo los drivers de NVIDIA, CUDA y cuDNN en los nodos GPU de APOLO.

03 · ASC26

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.

  1. 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.

  2. 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
    Ver la revisión del cambio
  3. 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ón

    Un 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.

  • Producción

    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

  • Logro

    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

  • Proyecto

    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

  • Proyecto

    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

  • Proyecto

    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

  • Proyecto

    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

  • Proyecto

    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

  • Proyecto

    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

  • Proyecto

    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

  • Proyecto

    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

  • Proyecto

    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

  • Proyecto

    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

  • Curso

    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

  • Proyecto

    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

  • Proyecto

    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

  • Curso

    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

  • Curso

    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

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.yaml · producción · proyecto · cursosperfil: todohpclinuxdevopsai-infracloud
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.

Logros

  • 2026

    ASC26 · Wuxi

    Competencia en equipo Logro

    Final global de ASC26 en Wuxi: ganador de la competencia grupal. Monté la infraestructura.

  • 2026

    AgentSprint de ReshapeX

    Competencia en equipo Logro

    AgentSprint de ReshapeX: 5.º lugar con mi equipo, con un sistema multiagente de hogar inteligente.

  • 2022

    Beca Generación E

    Beca Logro

    Beneficiario de la beca Generación E.

Estudios

  • Ingeniero de Sistemas

    Universidad EAFIT

    Cursos de programación de sistemas, redes, sistemas distribuidos, nube, contenedores, machine learning, ciberseguridad, administración Linux y HPC.

    ene. 2022 – jul. 2026
  • SCAR, Semillero de Computación de Alto RendimientoFormación

    Universidad EAFIT

    Apliqué técnicas de HPC en una simulación Monte Carlo del desempeño de Colombia en el Mundial FIFA 2026.

    ago. 2025 – jul. 2026
  • Semillero de CiberseguridadFormación

    Universidad EAFIT

    Ejercicios 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