Computación científica y HPC

  1. Computación científica y HPC
    1. Fundamentos de análisis numérico
      1. Aritmética de punto flotante y error numérico
        1. Formatos IEEE-754 (precisión simple, doble y extendida)
        2. Representación de números subnormales y denormales
        3. Redondeo hacia arriba/abajo/cercano y modos de redondeo
        4. Pérdida de significancia y cancelación catastrófica
        5. Desbordamiento (overflow) y subdesbordamiento (underflow)
        6. Errores acumulados en sumas largas y sumas compensadas (Kahan)
        7. Comparaciones numéricas con tolerancia (epsilon machine)
        8. Precisión extendida y cómputo multiprecisión arbitraria
        9. Impacto en reproducibilidad entre arquitecturas distintas
        10. Sensibilidad del resultado frente a pequeñas variaciones de entrada
      2. Condicionamiento numérico y número de condición
        1. Condicionamiento absoluto vs relativo
        2. Número de condición de una función o problema
        3. Problemas bien condicionados vs mal condicionados
        4. Ejemplos clásicos mal condicionados (matrices de Hilbert)
        5. Efecto del condicionamiento en la precisión del resultado final
        6. Relación entre condicionamiento y necesidad de precisión extendida
        7. Técnicas de reescalamiento para mejorar condicionamiento
        8. Estimación práctica del número de condición
        9. Propagación de incertidumbre en problemas mal condicionados
        10. Impacto en la estabilidad de métodos iterativos
      3. Estabilidad algorítmica y estabilidad numérica
        1. Algoritmos estables vs inestables numéricamente
        2. Error hacia adelante vs error hacia atrás
        3. Análisis de estabilidad backward (backward error analysis)
        4. Cancelación numérica en restas casi iguales
        5. Reordenamiento algebraico para mejorar estabilidad
        6. Elección de formulaciones equivalentes pero más estables
        7. Métodos que amplifican vs amortiguan el error de redondeo
        8. Estabilidad en presencia de ruido en los datos de entrada
        9. Estabilidad en operaciones repetitivas / acumulativas
        10. Evaluación empírica de estabilidad con datos sintéticos
      4. Consistencia, convergencia y orden de métodos numéricos
        1. Definición de consistencia del método
        2. Convergencia a la solución exacta al refinar el paso
        3. Orden de convergencia y tasa de error
        4. Métodos de primer orden vs alto orden
        5. Consistencia + estabilidad ⇒ convergencia (teorema de Lax)
        6. Refinamiento de malla / paso temporal en simulaciones
        7. Convergencia global vs convergencia local
        8. Estimación del error y control adaptativo de paso
        9. Balance costo computacional vs precisión deseada
        10. Comparación de métodos explícitos vs implícitos en convergencia
      5. Propagación y acumulación de errores de redondeo
        1. Errores independientes vs correlacionados
        2. Amplificación de error en operaciones repetidas
        3. Sumas largas y compensación de error
        4. Reordenamiento de operaciones para minimizar error acumulado
        5. Efecto del tipo de dato (float32 vs float64 vs float128)
        6. Impacto de la paralelización en suma/reducciones (no asociatividad)
        7. Estimación a priori vs estimación empírica de acumulación de error
        8. Técnicas de interval arithmetic para cotas de error
        9. Control de precisión en hardware vectorial / GPU
        10. Reproducibilidad bit a bit entre ejecuciones
      6. Escalamiento y no dimensionalización de ecuaciones físicas
        1. Variables adimensionales y unidades normalizadas
        2. Reducción de magnitudes extremas para evitar overflow/underflow
        3. Escalamiento de matrices mal condicionadas
        4. No dimensionalización para mejorar estabilidad temporal
        5. Elección de escalas características (tiempo, longitud, energía)
        6. Re-escritura de ecuaciones diferenciales en forma adimensional
        7. Comparabilidad entre simulaciones con distinta escala física
        8. Estimación de rangos esperados de las variables simuladas
        9. Evitar cancelación por diferencias de órdenes de magnitud
        10. Interpretación física posterior de resultados adimensionales
      7. Sensibilidad y análisis de perturbaciones
        1. Sensibilidad de la salida ante cambios pequeños en la entrada
        2. Análisis de perturbaciones lineales y no lineales
        3. Derivadas de sensibilidad y diferenciación numérica
        4. Detección de parámetros críticos / rígidos (stiff)
        5. Identificación de variables dominantes en el comportamiento global
        6. Robustez de un modelo frente a incertidumbre experimental
        7. Propagación de ruido estocástico en simulaciones
        8. Tolerancias de fabricación / medición en modelos de ingeniería
        9. Sensibilidad paramétrica para calibración e inversión de modelos
        10. Uso en control óptimo y diseño asistido
      8. Caos numérico y dependencia en condiciones iniciales
        1. Sistemas dinámicos caóticos
        2. Sensibilidad exponencial a condiciones iniciales
        3. Horizonte de predicción útil
        4. Divergencia numérica por errores de redondeo
        5. Lyapunov exponents (indicadores de caos)
        6. Caos físico vs caos numérico inducido por la discretización
        7. Métodos para acotar trayectorias probables vs exactas
        8. Importancia del muestreo estadístico en vez de trayectoria única
        9. Simulaciones Monte Carlo en sistemas caóticos
        10. Implicancias en clima, turbulencia, astrofísica y dinámica de fluidos
    2. Métodos numéricos fundamentales
      1. Interpolación y aproximación polinómica
        1. Interpolación de Lagrange
        2. Interpolación de Newton (forma dividida)
        3. Splines cúbicos y splines suaves
        4. Interpolación piecewise y continuidad C¹ / C²
        5. Fenómeno de Runge en polinomios de alto grado
        6. Puntos de Chebyshev para minimizar oscilaciones
        7. Interpolación multivariada
        8. Ajuste local vs global
        9. Evaluación eficiente de polinomios (Horner)
        10. Estimación del error de interpolación
      2. Ajuste de curvas y regresión numérica
        1. Mínimos cuadrados lineales
        2. Mínimos cuadrados no lineales
        3. Ajuste polinómico de distintos órdenes
        4. Regularización (L2 / ridge, L1 / LASSO)
        5. Ajuste robusto frente a outliers
        6. Ajuste logarítmico / exponencial / potencia
        7. Problemas mal condicionados en regresión de alto orden
        8. Validación cruzada y sobreajuste numérico
        9. Solución normal vs descomposición QR para estabilidad
        10. Interpretación física de parámetros ajustados
      3. Derivación numérica
        1. Diferencias hacia adelante / hacia atrás / centradas
        2. Orden de truncamiento del error en diferencias finitas
        3. Elección de paso h óptimo vs error de redondeo
        4. Derivadas de orden superior numéricas
        5. Diferenciación automática vs diferenciación numérica
        6. Ruido en datos experimentales y suavizado previo
        7. Estimación de gradientes para optimización
        8. Técnicas espectrales para derivación (FFT)
        9. Derivadas direccionales en espacios de alta dimensión
        10. Costos computacionales en derivación repetida
      4. Integración numérica
        1. Regla del trapecio y Simpson
        2. Cuadratura compuesta en subintervalos
        3. Métodos adaptativos con refinamiento local
        4. Cuadratura gaussiana
        5. Integración de funciones altamente oscilatorias
        6. Integración en dimensiones altas (curse of dimensionality)
        7. Integración Monte Carlo
        8. Importancia del cambio de variable y normalización
        9. Estimación de error a partir de múltiples reglas
        10. Paralelización de integración sobre subdominios independientes
      5. Resolución numérica de ecuaciones no lineales
        1. Método de bisección (búsqueda por intervalo)
        2. Método de Newton-Raphson
        3. Secante y quasi-Newton
        4. Condiciones de convergencia local
        5. Selección de punto inicial y problemas con múltiples raíces
        6. Detección de divergencia y fallback a métodos más robustos
        7. Métodos globalmente convergentes vs localmente rápidos
        8. Restricciones físicas para descartar raíces no válidas
        9. Sistemas de ecuaciones no lineales acopladas
        10. Paralelización de búsqueda de raíces múltiples en distintos rangos
      6. Optimización numérica determinista
        1. Gradiente descendente clásico
        2. Métodos de Newton y quasi-Newton (BFGS, L-BFGS)
        3. Métodos de región de confianza
        4. Métodos de línea de búsqueda con backtracking
        5. Condiciones de optimalidad (KKT, gradiente cero)
        6. Programación cuadrática / convexa
        7. Manejo de restricciones (penalizaciones, multiplicadores de Lagrange)
        8. Detección de óptimos locales vs globales
        9. Criterios de parada (norma del gradiente, cambio de energía)
        10. Escalabilidad en problemas de muy alta dimensión
      7. Optimización numérica estocástica
        1. Simulated annealing
        2. Búsqueda aleatoria guiada / random restart
        3. Algoritmos genéticos y evolución diferencial
        4. Búsqueda de enjambre de partículas (PSO)
        5. Métodos estocásticos de gradiente (SGD)
        6. Ruido térmico / ruido gaussiano para escapar mínimos locales
        7. Balance exploración vs explotación
        8. Hiperparámetros y sensibilidad al tuning
        9. Paralelización de evaluaciones de función objetivo
        10. Uso en calibración de modelos físicos complejos
      8. Métodos de Monte Carlo y muestreo aleatorio
        1. Generación de números pseudoaleatorios de alta calidad
        2. Muestreo uniforme vs muestreo por importancia
        3. Métodos de aceptación-rechazo
        4. Cadenas de Markov Monte Carlo (MCMC)
        5. Estimación estadística de integrales y esperanzas
        6. Varianza y errores de Monte Carlo
        7. Reducción de varianza (estratificación, control variate)
        8. Quasi-Monte Carlo y secuencias de baja discrepancia
        9. Paralelización masiva de simulaciones independientes
        10. Aplicación en física estadística, finanzas cuantitativas y confiabilidad
      9. Cuadratura adaptativa y métodos compuestos
        1. Subdivisión recursiva de intervalos según error estimado
        2. Refinamiento local donde la función es más compleja
        3. Control global del error absoluto y relativo
        4. Integración piecewise con reglas simples en cada subintervalo
        5. Manejo de singularidades locales
        6. Mezcla de reglas (trapecio, Simpson) según suavidad local
        7. Paralelización por bloques independientes
        8. Estimación de coste computacional incremental
        9. Criterios de parada adaptativos
        10. Uso en problemas con picos, capas límite o fronteras irregulares
      10. Minimización de energía y métodos variacionales
      11. Planteamiento de problemas físicos como minimización de energía libre
      12. Métodos variacionales y funcionales de energía
      13. Principio de mínima acción / mínima energía potencial
      14. Discretización espacial (elementos finitos) para energía continua
      15. Métodos iterativos de relajación de energía
      16. Restricciones físicas duras (incompresibilidad, límites geométricos)
      17. Métodos gradiente descendente proyectado
      18. Técnicas multiescala para relajar grandes sistemas físicos
      19. Estabilidad numérica de la relajación de energía
      20. Aplicaciones en mecánica estructural, elasticidad, materiales y fluidos
    3. Álgebra lineal numérica avanzada
      1. Descomposición LU, Cholesky, QR, SVD
        1. Factorización LU para resolver Ax=b
        2. Descomposición Cholesky para matrices simétricas definidas positivas
        3. Descomposición QR para mínimos cuadrados estables
        4. Descomposición en valores singulares (SVD)
        5. Estabilidad numérica de cada factorización
        6. Complejidad computacional y costo en FLOPs
        7. Uso de pivoteo parcial / completo para estabilidad
        8. Reducción de rango y compresión con SVD truncada
        9. Resolución sobredeterminada y subdeterminada
        10. Uso en regresión, compresión, PCA y filtrado de ruido
      2. Resolución directa de sistemas lineales
        1. Sustitución hacia adelante y hacia atrás
        2. Eliminación gaussiana clásica
        3. Pivoteo parcial para estabilidad numérica
        4. Factorización en bloques para explotar cache
        5. Sistemas densos vs dispersos
        6. Costos de O(n³) y límites prácticos en n grande
        7. Uso repetido de la misma factorización para múltiples RHS
        8. Efecto del condicionamiento de A en la precisión de x
        9. Impacto de errores de redondeo en el resultado final
        10. Implementaciones optimizadas con BLAS/LAPACK
      3. Métodos iterativos para sistemas lineales
        1. Jacobi y Gauss-Seidel
        2. Successive Over-Relaxation (SOR)
        3. Métodos basados en subespacios de Krylov
        4. Convergencia condicionada a propiedades espectrales de A
        5. Criterios de parada (residuo, norma relativa)
        6. Preacondicionamiento para acelerar convergencia
        7. Escalabilidad a sistemas muy grandes y dispersos
        8. Paralelización natural de métodos iterativos
        9. Almacenamiento más eficiente que métodos directos en gran escala
        10. Aplicación en simulación de campos, fluidos y estructuras
      4. Gradiente conjugado y variantes
        1. Método de gradiente conjugado para SPD (simétrica definida positiva)
        2. Relación con minimización de una forma cuadrática
        3. Precondicionadores (PCG)
        4. Estimación de convergencia según espectro de la matriz
        5. Limitaciones en matrices no SPD
        6. Flexible CG y adaptaciones prácticas
        7. Reutilización de precondicionadores entre pasos de simulación
        8. Parallel CG en clusters y GPU
        9. Reducción de comunicación entre nodos en HPC
        10. Estabilidad numérica en iteraciones largas
      5. GMRES, BiCGSTAB y métodos de Krylov generales
        1. GMRES para sistemas no simétricos
        2. Reinicio de GMRES (GMRES(m)) para limitar memoria
        3. BiCGSTAB para convergencia acelerada en no simétricas
        4. Métodos Krylov basados en subespacios crecientes
        5. Sensibilidad al precondicionador elegido
        6. Costos de almacenamiento de las bases de Krylov
        7. Estrategias para evitar pérdida de ortogonalidad
        8. Paralelización distribuida y comunicaciones colectivas
        9. Balance entre iteraciones baratas y iteraciones robustas
        10. Uso en simulaciones de dinámica de fluidos y electromagnetismo
      6. Problemas de autovalores y autovectores
        1. Potencia y potencia inversa
        2. Descomposición QR iterativa para autovalores
        3. Métodos de subespacio para autovalores dominantes
        4. Métodos de Lanczos (matrices simétricas grandes)
        5. Métodos de Arnoldi (no simétricas grandes)
        6. Cálculo de modos propios en sistemas físicos (vibraciones, modos normales)
        7. Extracción de pocos autovalores relevantes sin calcular todos
        8. Desplazamiento espectral (shift-and-invert)
        9. Estabilidad numérica en espectros muy cercanos
        10. Paralelización de cálculo espectral en HPC
      7. Descomposiciones espectrales y modos propios
        1. Descomposición espectral de matrices simétricas
        2. Representación modal de sistemas dinámicos lineales
        3. Descomposición modal en vibraciones estructurales
        4. Modos propios en mecánica cuántica / ecuaciones de onda
        5. Filtrado modal para reducción de orden de modelos
        6. Selección de modos dominantes y truncado modal
        7. Análisis de estabilidad mediante autovalores con parte real positiva/negativa
        8. Reducción de dimensionalidad guiada por espectro
        9. Construcción de bases reducidas (ROMs / reduced-order models)
        10. Proyección Galerkin y aproximaciones subespaciales
      8. Matrices dispersas y formatos de almacenamiento disperso
        1. Formato CSR / CSC (Compressed Sparse Row / Column)
        2. Formatos COO y DIA (diagonal)
        3. Bloques dispersos (Block CSR / BCSR)
        4. Impacto en el acceso a memoria y cache
        5. Multiplicación matriz-vector (SpMV) eficiente
        6. Carga en GPU y coalescing de accesos dispersos
        7. Ensamblaje de matrices dispersas en métodos de elementos finitos
        8. Reordenamiento de nodos para mejorar localidad (RCM, etc.)
        9. Compresión y trade-offs entre memoria y velocidad
        10. Serialización / intercambio de matrices dispersas entre nodos HPC
      9. Precondicionadores y mejora de convergencia
        1. Precondicionadores diagonales / Jacobi escalado
        2. ILU(0) y variantes incompletas
        3. Precondicionadores multigrid / algebraic multigrid (AMG)
        4. Precondicionadores basados en bloques
        5. Precondicionadores específicos de dominio físico (domain-specific)
        6. Balance entre costo de construir el precondicionador y ganancia en iteraciones
        7. Reutilización en pasos sucesivos de simulación transitoria
        8. Implementación distribuida en clústeres (domain decomposition)
        9. Efecto del precondicionador en la estabilidad numérica global
        10. Ajuste adaptativo del precondicionador durante la corrida
      10. Métodos multigrid y multiescala 11. Relajación en mallas finas y corrección en mallas gruesas 12. Ciclos V, W y F 13. Restricción y prolongación entre niveles de malla 14. Suavizado de errores de alta frecuencia 15. Convergencia casi independiente del tamaño del problema 16. Multigrid geométrico vs multigrid algebraico 17. Uso en ecuaciones de Poisson / difusión / elasticidad 18. Extensión a problemas no lineales (Full Approximation Scheme) 19. Paralelización natural por niveles y dominios 20. Combinación con precondicionadores para métodos de Krylov
      11. Factorizaciones de rango bajo
        1. Aproximación de matrices grandes por matrices de bajo rango
        2. SVD truncada y PCA numérica
        3. Descomposición CUR
        4. Low-Rank Approximation para compresión de operadores
        5. Métodos aleatorizados para bajo rango
        6. Reducción de costo en almacenamiento y cómputo
        7. Aplicación en modelos reducidos de sistemas físicos grandes
        8. Separación de señal/ruido mediante modos dominantes
        9. Uso en simulaciones de alta dimensión (fluidodinámica, clima)
        10. Trade-off entre precisión perdida y ahorro computacional
    4. Métodos para ecuaciones diferenciales ordinarias (EDO)
      1. Métodos explícitos de paso único
        1. Euler explícito
        2. Métodos de Taylor de orden bajo
        3. Métodos de Runge-Kutta explícitos básicos (RK2, RK4)
        4. Estabilidad condicionada al tamaño de paso
        5. Propagación de error local vs global
        6. Ventajas en problemas no rígidos y bien comportados
        7. Costos computacionales por paso bajos
        8. Paralelización simple en evaluación de la función derivada
        9. Limitaciones frente a ecuaciones rígidas
        10. Uso en simulaciones en tiempo real donde importa velocidad más que precisión fina
      2. Métodos implícitos de paso único
        1. Euler implícito (backward Euler)
        2. Métodos trapezoidales implícitos
        3. Estabilidad A-stable y L-stable
        4. Resolución de sistemas no lineales en cada paso
        5. Requerimiento de Jacobianos o aproximaciones del Jacobiano
        6. Adecuación a ecuaciones rígidas
        7. Costos computacionales más altos por paso
        8. Métodos de Newton para cerrar el paso implícito
        9. Buen control de amortiguamiento numérico en sistemas disipativos
        10. Uso en simulaciones de alta rigidez (química, circuitos eléctricos, reacciones rápidas)
      3. Métodos multistep
        1. Métodos de Adams-Bashforth (explícitos)
        2. Métodos de Adams-Moulton (implícitos)
        3. Métodos de diferenciación hacia atrás (BDF)
        4. Uso de historial de pasos anteriores para acelerar cómputo
        5. Estabilidad y rigidez: BDF para problemas muy rígidos
        6. Control de orden variable dinámico
        7. Arranque (startup) con métodos de paso único antes de aplicar multistep
        8. Control de error mediante estimadores embebidos
        9. Dificultades con eventos/discontinuidades (reset del historial)
        10. Eficiencia en simulaciones largas en el tiempo
      4. Métodos Runge-Kutta clásicos y de alto orden
        1. RK4 clásico como estándar generalista
        2. Runge-Kutta de orden adaptativo embebido (Fehlberg, Cash-Karp, Dormand-Prince)
        3. Métodos explícitos vs implícitos de Runge-Kutta
        4. Métodos diagonales implícitos para rigidez
        5. Orden alto (RK de orden 5,6,7+) y trade-off costo/precisión
        6. Control de error local incorporado en pares embebidos
        7. Métodos particionados (para sistemas desacoplados rígido/no rígido)
        8. Simplicidad de implementación vs complejidad analítica
        9. Uso extensivo en simulación física y animación científica
        10. Paralelización parcial de evaluaciones intermedias de la derivada
      5. Métodos adaptativos con control de paso
        1. Estimación de error local en cada paso
        2. Ajuste dinámico del tamaño de paso (step size control)
        3. Criterios absolutos vs relativos de tolerancia
        4. Rechazo y repetición de pasos cuando el error es demasiado alto
        5. Manejo de regiones con cambios rápidos vs suaves
        6. Evitar trabajo excesivo en zonas suaves usando pasos largos
        7. Evitar inestabilidad numérica en zonas rígidas con pasos cortos
        8. Métodos embebidos (par de órdenes p/p-1) para estimar error sin costo extra grande
        9. Detección de blow-up numérico y frenado de integración
        10. Relevancia en simuladores generales tipo “solve ODE” automáticos
      6. Sistemas rígidos y métodos para rigidez
        1. Definición de rigidez (stiffness) en EDO
        2. Restricciones severas de paso en métodos explícitos
        3. Métodos BDF para rigidez severa
        4. Runge-Kutta implícitos L-stable
        5. Linealización local y resolución de sistemas lineales internos
        6. Necesidad de Jacobianos o aproximaciones numéricas del Jacobiano
        7. Precondicionamiento en la resolución de los sistemas internos
        8. Estabilidad numérica frente a modos rápidos altamente amortiguados
        9. Problemas típicos rígidos: cinética química, circuitos eléctricos, reacciones nucleares
        10. Detección automática de rigidez y cambio de solver en caliente
      7. Conservación de invariantes y métodos geométricos
        1. Integradores simplécticos para sistemas Hamiltonianos
        2. Conservación de energía a largo plazo en sistemas conservativos
        3. Conservación de momento y otras cantidades invariantes
        4. Métodos de ángulo-acción y preservación de estructuras de fase
        5. Métodos de partición (split-step) para dinámica separable
        6. Integradores de rotación / rigid body preserving constraints
        7. Uso en mecánica celeste y dinámica molecular
        8. Evitar deriva numérica en simulaciones largas
        9. Métodos de Lie-Trotter y Strang splitting
        10. Métodos que respetan restricciones holónomas (constraint-preserving)
      8. Métodos linealizados y métodos de disparo
        1. Linealización local alrededor de trayectorias temporales
        2. Aproximaciones de primer orden para sistemas débilmente no lineales
        3. Método de disparo (shooting method) para problemas de contorno
        4. Ajuste iterativo de condiciones iniciales para satisfacer condiciones finales
        5. Sensibilidad extrema a condiciones iniciales en disparo directo
        6. Descomposición del problema en subintervalos para mejorar estabilidad
        7. Acoplamiento con métodos de optimización para cerrar condiciones de borde
        8. Variantes múltiples-disparo (multiple shooting)
        9. Uso en control óptimo y trayectorias balísticas
        10. Relación con métodos de contorno tipo collocation
      9. Solución de problemas de contorno
        1. EDO con condiciones en más de un punto (boundary value problems)
        2. Métodos de disparo simple y múltiple
        3. Métodos de colocation y aproximación por bases de funciones
        4. Ajuste de la solución en forma global en todo el dominio
        5. Linearización incremental y solución iterativa
        6. Estabilidad y sensibilidad a pequeñas variaciones en condiciones de borde
        7. Uso de splines / polinomios por tramos para forzar condiciones
        8. Métodos tipo Galerkin para problemas de contorno
        9. Conversión de problema de contorno en un sistema algebraico grande
        10. Aplicación en vigas, elasticidad 1D, transferencia de calor estacionaria
    5. Métodos para ecuaciones diferenciales parciales (EDP)
      1. Discretización por diferencias finitas
        1. Aproximación de derivadas espaciales por diferencias hacia adelante/atrás/centradas
        2. Esquemas explícitos en el tiempo (Forward Euler en PDE)
        3. Esquemas implícitos (Backward Euler, Crank–Nicolson)
        4. Orden de truncamiento espacial y temporal
        5. Estabilidad condicional y CFL en métodos explícitos
        6. Manejo de condiciones de borde (Dirichlet, Neumann, mixtas)
        7. Mallado uniforme vs no uniforme
        8. Discretización de operadores elípticos, parabólicos e hiperbólicos
        9. Tratamiento de términos convectivos y difusión numérica
        10. Implementación eficiente en mallas regulares (stencil computation)
      2. Discretización por elementos finitos
        1. Formulación débil / variacional del problema
        2. Funciones base locales (elementos lineales, cuadráticos, etc.)
        3. Ensamblaje de la matriz global de rigidez / masa
        4. Manejo de geometrías complejas y dominios irregulares
        5. Adaptación de malla local donde hay gradientes fuertes
        6. Elementos isoparamétricos y mapeos curvos
        7. Condiciones de borde naturales vs esenciales
        8. Métodos mixtos y formulaciones híbridas
        9. FEM para problemas elásticos, térmicos, flujo, electromagnetismo
        10. Uso de precondicionadores específicos de FEM en HPC
      3. Discretización por volúmenes finitos
        1. Conservación de flujo a través de volúmenes de control
        2. Balance integral sobre cada celda
        3. Cálculo de flujos numéricos en las fronteras de celda
        4. Adecuado para leyes de conservación (masa, momentum, energía)
        5. Manejo de discontinuidades (shock capturing)
        6. Esquemas de alta resolución con limitadores de pendiente
        7. Mallas estructuradas vs no estructuradas
        8. Conservación global garantizada por construcción
        9. Uso extensivo en dinámica de fluidos computacional (CFD)
        10. Fácil interpretación física del balance local
      4. Métodos espectrales y pseudoespectrales
        1. Expansión de la solución en series de funciones base globales (Fourier, Chebyshev)
        2. Alta precisión con pocos grados de libertad en problemas suaves
        3. Transformadas rápidas (FFT) para acelerar cómputo
        4. Tratamiento complicado de geometrías complejas
        5. Aliasing y dealiasing en no linealidades
        6. Métodos pseudoespectrales evaluando derivadas en el espacio físico
        7. Condiciones periódicas naturales en dominios tipo caja
        8. Captura de modos dominantes en turbulencia y flujo inestable
        9. Escalabilidad en paralelo vía descomposición de dominio espectral
        10. Uso en simulación de fluidos incompresibles y ondas
      5. Métodos de contorno e integrales de frontera
        1. Reformulación de la PDE como integral sobre la frontera del dominio
        2. Reducción de la dimensionalidad del problema (de 3D a 2D, etc.)
        3. Uso de funciones de Green
        4. Tratamiento muy eficiente para dominios infinitos / semi-infinitos
        5. Condiciones de borde complejas (acústica, electromagnetismo)
        6. Matrices densas resultantes y necesidad de aceleración (FMM, etc.)
        7. Dificultad con no linealidades fuertes
        8. Precisión alta en problemas de potencial estacionario
        9. Acoplamiento con métodos volumétricos en el interior
        10. Aplicaciones en scattering de ondas y problemas elípticos
      6. Esquemas conservativos y leyes de conservación
        1. Discretizaciones que respetan conservación de masa, momento, energía
        2. Flujos numéricos tipo Riemann solver
        3. Métodos upwind y Godunov
        4. Esquemas de alto orden con limitadores TVD / ENO / WENO
        5. Captura de shocks sin oscilaciones espurias
        6. Entropía numérica y estabilidad física
        7. Tratamiento de discontinuidades de contacto y ondas de choque
        8. Prevención de presión negativa / densidad negativa en fluidos comprimibles
        9. Métodos para hidrodinámica relativista y MHD
        10. Conservación exacta en cada celda como criterio de validez
      7. Estabilidad numérica y condición CFL
        1. Definición de la condición CFL (Courant-Friedrichs-Lewy)
        2. Relación entre paso temporal, velocidad característica y tamaño de celda
        3. Estabilidad condicional de esquemas explícitos hiperbólicos
        4. Elección de paso de tiempo seguro en simulaciones transitorias
        5. Schemas implícitos que alivian restricción CFL
        6. Impacto de CFL en precisión vs costo computacional
        7. Control adaptativo del paso de tiempo basado en CFL local
        8. Diferencias entre CFL global y CFL local en mallas no uniformes
        9. CFL en problemas multipropósito (ondas + difusión)
        10. Fallas típicas por violar CFL (explosión numérica)
      8. Métodos implícitos vs explícitos en EDP
        1. Métodos explícitos: más simples y paralelizables pero con pasos pequeños
        2. Métodos implícitos: más estables pero requieren resolver sistemas grandes
        3. Métodos semi-implícitos / IMEX (implícito-explícito híbrido)
        4. Diferencias para problemas difusivos vs convectivos
        5. Costo de ensamblar y factorizar matrices grandes en el caso implícito
        6. Uso de precondicionadores en métodos implícitos
        7. Trade-off costo por paso vs tamaño de paso permitido
        8. Elección práctica según rigidez y escala temporal del fenómeno
        9. Métodos particionados por física (tratando términos distintos con esquemas distintos)
        10. Consideraciones de memoria y comunicación en HPC
      9. Refinamiento de malla adaptativo (AMR)
        1. Refinamiento espacial local donde hay alta variación
        2. Coarsening donde la solución es suave
        3. Niveles jerárquicos de malla anidada
        4. Criterios de refinamiento basados en gradiente / curvatura / error estimado
        5. Balance de carga entre nodos HPC con mallas refinadas localmente
        6. Interpolación entre niveles de refinamiento
        7. Conservación de cantidades físicas al refinar / desrefinar
        8. Adaptación dinámica en el tiempo (refinamiento que se mueve con la onda / shock)
        9. AMR en 2D vs 3D y costos de memoria
        10. Integración con multigrid y solvers iterativos
      10. Métodos de partículas y SPH (Smoothed Particle Hydrodynamics)+
        1. Representación lagrangiana: el fluido como partículas
        2. Kernel de suavizado para estimar campos continuos
        3. Manejo natural de grandes deformaciones y superficies libres
        4. No requiere malla fija (mesh-free)
        5. Tratamiento de fronteras y condiciones de contorno en SPH
        6. Estabilidad y viscosidad numérica artificial
        7. Conservación de masa y momentum a través de interacciones entre partículas
        8. Uso en astrofísica, fluidos libres, impactos y rompimiento de materiales
        9. Escalabilidad en GPU con vecindarios locales
        10. Dificultad para capturar fenómenos altamente compresibles con alta precisión
      11. Métodos de frontera inmersa
        1. Representación de objetos sólidos inmersos en un fluido sin mallar el sólido explícitamente
        2. Fuerzas de interacción sólido-fluido distribuidas en la malla del fluido
        3. Manejo de geometrías móviles / complejas sin re-mallado completo
        4. Uso en biomecánica (válvulas cardíacas, organismos nadadores)
        5. Desacople entre resolución del fluido y del sólido
        6. Tratamiento de condiciones de no deslizamiento (no-slip) aproximadas
        7. Posibles fugas numéricas cerca de la interfaz si no se refina suficiente
        8. Costo computacional adicional por imponer la condición de frontera inmersa
        9. Extensión a flujos no newtonianos y multicomponente
        10. Acoplamiento con estructuras elásticas deformables
      12. Tratamiento numérico de discontinuidades y shocks
        1. Captura de shocks sin introducir oscilaciones numéricas espurias
        2. Limitadores de pendiente para evitar overshoot/undershoot
        3. Métodos de Godunov y Riemann solvers aproximados
        4. Técnicas ENO / WENO para alta resolución sin oscilaciones
        5. Rastreo explícito de la discontinuidad vs captura difusa
        6. Entropía física y selección de la solución físicamente correcta
        7. Prevención de valores no físicos (densidad negativa, presión negativa)
        8. Interacción de shocks múltiples y reflexión en paredes
        9. Shocks relativistas y choques magnetizados en MHD
        10. Validación contra soluciones analíticas de referencia / problemas estándar (Sod, blast wave)
    6. Simulación científica por dominio físico
      1. Dinámica de fluidos computacional (CFD)
        1. Resolución de ecuaciones de Navier-Stokes (incompresibles y compresibles)
        2. Modelos de turbulencia (RANS, LES, DNS)
        3. Estabilidad numérica en flujos de alta velocidad (Mach alto)
        4. Captura de capas límite, separación de flujo y arrastre
        5. Métodos de presión-velocidad (proyección, SIMPLE, PISO)
        6. Flujo multifásico y seguimiento de interfaces (VOF, Level Set)
        7. Flujos reactivos y combustión numérica
        8. Simulación de cavitación y erosión por vórtices
        9. Acoplamiento fluido-estructura (FSI)
        10. Paralelización masiva en mallas 3D de alta resolución
      2. Mecánica de sólidos y análisis estructural
        1. Elasticidad lineal y no lineal
        2. Plasticidad y endurecimiento
        3. Grandes deformaciones y no linealidad geométrica
        4. Elementos finitos para tensión y deformación
        5. Análisis modal de vibraciones estructurales
        6. Estabilidad estructural y pandeo
        7. Contacto y fricción entre cuerpos
        8. Fatiga y vida útil bajo cargas cíclicas
        9. Materiales compuestos y anisotropía
        10. Optimización topológica de estructuras
      3. Fractura, plasticidad y mecánica del daño
        1. Mecánica de la fractura lineal elástica (LEFM)
        2. Criterios de iniciación y propagación de grietas
        3. Modelos cohesivos de zona de fractura
        4. Plasticidad dependiente de la historia de carga
        5. Daño acumulativo y degradación de rigidez
        6. Fractura dinámica y fragmentación rápida
        7. Efectos térmicos y termo-mecánicos en propagación de grietas
        8. Modelos multiescala (microestructura → macrocomportamiento)
        9. Simulación de impacto, penetración y balística
        10. Evaluación de vida útil y tolerancia al daño en ingeniería crítica
      4. Electromagnetismo computacional
        1. Resolución numérica de las ecuaciones de Maxwell
        2. Métodos FDTD (Finite-Difference Time-Domain)
        3. Métodos de elementos finitos electromagnéticos
        4. Métodos de contorno para scattering electromagnético
        5. Propagación de ondas electromagnéticas en medios complejos
        6. Guías de onda, antenas y cavidades resonantes
        7. Acoplamiento electromagnético de alta frecuencia y efectos de radiación
        8. Interferencia, difracción y absorción en materiales reales
        9. Simulación de compatibilidad electromagnética (EMC/EMI)
        10. Optimización de dispositivos RF / microondas / fotónica integrada
      5. Física de plasmas y magnetohidrodinámica
        1. Ecuaciones MHD (magnetohidrodinámica) acopladas
        2. Dinámica de campos magnéticos congelados en el fluido
        3. Reconección magnética y liberación de energía
        4. Inestabilidades de plasma (Rayleigh-Taylor, Kelvin-Helmholtz, kink)
        5. Modelos cinéticos vs modelos de fluido para plasmas
        6. Métodos de partículas-celda (PIC) para plasmas collisionless
        7. Ondas de choque magnetizadas y estructuras de choque MHD
        8. Confinamiento magnético en fusión nuclear
        9. Transporte anisotrópico de calor en plasmas magnetizados
        10. Simulación de plasmas espaciales y astrofísicos
      6. Astrofísica computacional y relatividad numérica
        1. Evolución gravitacional N-cuerpos auto-gravitantes
        2. Colapso gravitacional y formación de estructuras cósmicas
        3. Simulación hidrodinámica cosmológica con expansión del universo
        4. Simulaciones acopladas radiación-hidrodinámica
        5. Relatividad general numérica (ecuaciones de Einstein discretizadas)
        6. Ondas gravitacionales y fusiones de objetos compactos
        7. Modelos de acreción alrededor de agujeros negros
        8. Eyección relativista de jets y campos magnéticos extremos
        9. Seguimiento de especies químicas en evolución estelar y medios interestelares
        10. Resolución adaptativa de malla en escalas astronómicas enormes
      7. Dinámica molecular clásica
        1. Simulación de movimiento de partículas según fuerzas clásicas
        2. Potenciales interatómicos empíricos (Lennard-Jones, Morse, etc.)
        3. Integradores simplécticos para conservar energía a largo plazo
        4. Condiciones periódicas de contorno (cajas periódicas)
        5. Termostatos y barostatos (NVT, NPT)
        6. Cálculo de propiedades termodinámicas (energía libre, difusividad)
        7. Análisis de trayectorias y correlaciones temporales
        8. Simulación de procesos de difusión, mezcla, autoensamblado
        9. Modelos coarse-grained vs atomísticos detallados
        10. Aceleración con GPU y descomposición espacial entre nodos
      8. Dinámica molecular ab initio
        1. Fuerzas derivadas directamente de cálculos de estructura electrónica
        2. DFT (Teoría del Funcional de la Densidad) acoplada a dinámica atómica
        3. Altísimo costo computacional por paso de tiempo
        4. Escalas temporales cortas pero alta fidelidad cuántica
        5. Simulación de reacciones químicas y enlaces que se forman/rompen
        6. Propiedades electrónicas bajo condiciones extremas (alta P, alta T)
        7. Comparación con potenciales clásicos ajustados
        8. Métodos híbridos QM/MM (cuántico-molecular)
        9. Optimización de estructuras moleculares y búsqueda de estados metaestables
        10. Uso en materiales nuevos, catálisis y química de superficies
      9. Física estadística y simulación de Monte Carlo
        1. Simulación de ensambles canónico, microcanónico, gran canónico
        2. Método de Metropolis-Hastings
        3. Simulación de sistemas de espines (Ising, Potts)
        4. Transiciones de fase y fenómenos críticos
        5. Técnicas de recocido simulado (simulated annealing)
        6. Reponderación de histogramas y análisis de estados raros
        7. Caminatas aleatorias y difusión browniana
        8. Métodos de muestreo avanzado (cluster updates, parallel tempering)
        9. Cálculo de observables promediados estadísticamente
        10. Estimación de incertidumbre estadística y autocorrelación
      10. Modelos climáticos y geo-simulación
        1. Modelos acoplados océano-atmósfera
        2. Ecuaciones de transporte de calor, humedad y momento a escala planetaria
        3. Dinámica de circulación general atmosférica
        4. Modelos de hielo, criosfera y dinámica de glaciares
        5. Modelos de ciclo del carbono y biogeoquímica
        6. Resolución de procesos de nubes y precipitación sub-resueltos (parametrizaciones)
        7. Asimilación de datos observacionales en el modelo numérico
        8. Simulación de eventos extremos (huracanes, olas de calor)
        9. Escalabilidad en supercomputadores para predicciones de largo plazo
        10. Análisis de incertidumbre y ensembles de proyecciones climáticas
      11. Sismología y propagación de ondas
        1. Ecuaciones de onda elástica en medios heterogéneos
        2. Modelado de propagación sísmica en 3D
        3. Métodos espectrales y de elementos finitos para ondas sísmicas
        4. Discontinuidades de interfaces geológicas y fallas
        5. Modelación de fuentes sísmicas realistas (rupturas dinámicas)
        6. Atenuación, disipación y dispersión del pulso sísmico
        7. Inversión sísmica para obtener estructuras internas de la Tierra
        8. Simulación de escenarios de terremotos para ingeniería sísmica
        9. Propagación de tsunamis y acoplamiento océano-suelo
        10. Necesidad de mallas adaptativas en regiones urbanas / costeras
      12. Biofísica computacional y dinámica de proteínas
        1. Simulación del plegamiento de proteínas
        2. Interacciones proteína-ligando y afinidad de unión
        3. Canales iónicos y transporte a través de membranas
        4. Modelos de ADN/ARN y dinámica conformacional
        5. Métodos coarse-grained para sistemas biológicos grandes
        6. Simulación de membranas celulares y microdominios lipídicos
        7. Dinámica conformacional lenta y rare-event sampling
        8. Predicción de estabilidad de mutaciones
        9. Acoplamiento con datos experimentales (crio-EM, rayos X)
        10. Exploración de rutas de transición entre estados funcionales
      13. Simulación de reactores nucleares y transporte de radiación
        1. Ecuaciones de transporte neutrónico (neutrones en medios materiales)
        2. Difusión neutrónica y métodos multigrupo de energía
        3. Cálculo de criticidad y factores de multiplicación
        4. Termohidráulica acoplada (flujo + calentamiento del combustible)
        5. Gestión de combustibles y quemado (burnup)
        6. Transporte de radiación gamma / fotones energéticos
        7. Métodos Monte Carlo para trayectorias de partículas
        8. Blindaje y protección radiológica
        9. Simulación transitoria de accidentes y scram (apagado rápido)
        10. Validación frente a mediciones experimentales y benchmarks estándar
    7. Programación científica
      1. Lenguajes y ecosistemas dominantes (Fortran moderno, C/C++, Julia)
        1. Fortran moderno (Fortran 90+ con módulos, arrays n-dimensionales, paralelismo)
        2. C para cómputo cercano al hardware y control de memoria explícito
        3. C++ para metaprogramación, genéricos y abstracciones sin costo
        4. C++ moderno (C++17/C++20) con plantillas y expresiones constantes evaluables en compile-time
        5. Julia como lenguaje de alto nivel con performance cercano a C
        6. Interoperabilidad entre lenguajes (por ejemplo, C/Fortran → Python)
        7. Gestión manual de memoria vs recolección de basura controlada
        8. Estabilidad numérica y reproducibilidad entre implementaciones
        9. Soporte para paralelismo nativo por lenguaje
        10. Portabilidad entre arquitecturas (CPU, GPU, aceleradores)
      2. Bibliotecas numéricas de bajo nivel (BLAS, LAPACK)
        1. BLAS nivel 1/2/3 (operaciones vector, matriz-vector, matriz-matriz)
        2. Implementaciones optimizadas específicas de hardware (MKL, OpenBLAS, BLIS)
        3. LAPACK para resolución de sistemas lineales densos
        4. Factorizaciones LU, QR, Cholesky mediante llamadas estándar
        5. Cálculo de autovalores/autovectores
        6. Interfaz procedural y convenciones de memoria (column-major)
        7. Uso en cómputo de alto rendimiento sin reescribir álgebra básica a mano
        8. Enfoque en matrices densas vs necesidad de extensiones para matrices dispersas
        9. Llamadas desde lenguajes de más alto nivel
        10. Vinculación estática vs dinámica y problemas de ABI
      3. Bibliotecas científicas de más alto nivel (FFTW, PETSc, Trilinos)
        1. FFTW para transformadas rápidas de Fourier multidimensionales
        2. PETSc para álgebra lineal dispersa y solvers iterativos escalables
        3. Trilinos para solvers multipropósito en entornos paralelos distribuidos
        4. Manejo de mallas, discretizaciones y operadores diferenciales discretizados
        5. Solución de EDP acopladas en paralelo
        6. Precondicionadores avanzados ya implementados
        7. Soporte para descomposición de dominio y cómputo distribuido
        8. Integración con MPI y OpenMP
        9. Abstracción de vectores y matrices con distinta representación interna
        10. Reutilización en simulación multi-física compleja
      4. Programación con precisión controlada
        1. Elección entre float32, float64, float128
        2. Árbitro de costo vs precisión requerida física
        3. Acumulación de sumas en precisión extendida
        4. Uso de tipos de punto fijo en hardware embebido científico
        5. Control de redondeo y modos IEEE-754
        6. Rescate de estabilidad numérica usando precisión mixta
        7. Estrategias de reproducibilidad bit a bit
        8. Minimización del error catastrófico en restas casi iguales
        9. Impacto de la precisión reducida en desempeño GPU
        10. Uso de precisión mixta en métodos iterativos con refinamiento
      5. Programación vectorial explícita y extensiones SIMD
        1. SIMD (Single Instruction Multiple Data) en CPU (AVX, NEON, SVE)
        2. Vectorización automática del compilador vs vectorización manual
        3. Alineamiento de datos y layout contiguo
        4. Desenrollado de loops para mejorar throughput
        5. Instrucciones de fusión de operaciones (FMA)
        6. Minimización de dependencias de datos en el loop
        7. Estructura de datos AoS vs SoA (Array of Structs vs Struct of Arrays)
        8. Uso de intrinsics específicos de arquitectura
        9. Portabilidad del código vectorizado entre arquitecturas
        10. Interacción entre vectorización y cachés L1/L2/L3
      6. Uso de plantillas y metaprogramación para rendimiento
        1. Metaprogramación en C++ para generar kernels especializados en compile-time
        2. Eliminación de capas de abstracción en tiempo de compilación (zero-cost abstractions)
        3. Expresión de álgebra lineal como expresiones template (expression templates)
        4. Inlining agresivo y eliminación de funciones virtuales
        5. Selección de rutas de cómputo optimizadas según tipo/dimensión
        6. Generación de código estático para tamaños de bloque conocidos
        7. Especialización parcial para arquitecturas específicas
        8. Plantillas para fusionar loops y reducir pasadas de memoria
        9. Codegen de kernels específicos de problema
        10. Costos de compilación y mantenibilidad vs ganancia de performance
      7. Modelos de cómputo distribuido científico (MPI)
        1. Paso de mensajes explícito punto a punto
        2. Comunicación colectiva (broadcast, scatter, gather, all-reduce)
        3. Particionamiento de dominio espacial entre procesos
        4. Decomposición 1D / 2D / 3D de mallas
        5. Sincronización de bordes (halo exchange)
        6. Comunicaciones bloqueantes vs no bloqueantes
        7. Minimización de latencia entre nodos
        8. Overlap de cómputo y comunicación
        9. Escalamiento a miles o millones de procesos
        10. Tolerancia a fallos en ejecuciones largas
      8. Directivas paralelas (OpenMP, OpenACC)
        1. Paralelización con anotaciones pragmas en el código
        2. Creación y gestión automática de hilos
        3. Distribución de loops entre hilos de CPU
        4. Control de afinidad de hilos y binding a núcleos
        5. Reducciones paralelas seguras
        6. Regiones críticas y secciones atómicas
        7. Paralelización incremental sin reescribir toda la base de código
        8. OpenACC para offload a GPU con directivas
        9. Balance entre sencillez de directivas y control fino
        10. Interacción con vectorización y jerarquías NUMA
      9. Modelos de cómputo acelerado (CUDA, HIP, OpenCL)
        1. Kernels ejecutados masivamente en GPU
        2. Jerarquías de hilos, bloques y grids
        3. Memoria global vs compartida vs registros
        4. Coalescing de accesos a memoria y alineamiento
        5. Ocultamiento de latencia mediante sobre-subscription de hilos
        6. Portabilidad entre proveedores (CUDA vs HIP vs OpenCL)
        7. Transferencia CPU↔GPU y solapamiento con cómputo
        8. Uso de bibliotecas aceleradas (cuBLAS, cuFFT, rocBLAS)
        9. Kernel fusion para reducir tráfico a memoria
        10. Ajuste fino de occupancy y límites de registros
      10. Lenguajes y DSLs específicos de dominio
        1. DSLs para ecuaciones diferenciales parciales
        2. Lenguajes declarativos para mallas y discretizaciones
        3. DSLs para álgebra lineal dispersa
        4. Lenguajes simbólicos que generan kernels numéricos
        5. Generación automática de código optimizado para GPU/CPU
        6. Plantillas de simulación para ciertos dominios (CFD, FEM, EM)
        7. Abstracción de hardware sin perder eficiencia
        8. Minimización de errores humanos en discretizaciones complejas
        9. Exploración rápida de nuevos modelos físicos
        10. Reutilización científica entre equipos de investigación
      11. Envolturas científicas en Python y bindings nativos
        1. Python como capa de orquestación y análisis
        2. Llamadas a kernels en C/C++/Fortran desde Python
        3. Uso de ctypes, cffi, pybind11
        4. Numpy como representación estándar de arreglos numéricos
        5. SciPy como wrapper de librerías nativas de álgebra y optimización
        6. Compilación just-in-time (Numba) para acelerar loops críticos
        7. Gestión del GIL en cómputo intensivo
        8. Interoperabilidad con GPU (CuPy, PyCUDA)
        9. Construcción de prototipos rápidos antes de portar a C++/Fortran
        10. Entornos reproducibles con dependencias científicas complejas
      12. Entornos interactivos de exploración científica
        1. Notebooks interactivos para experimentación numérica
        2. Visualización inmediata de resultados parciales
        3. Exploración de parámetros y sensibilidad
        4. Registro de decisiones experimentales junto al código
        5. Reproducibilidad de cálculos paso a paso
        6. Integración con librerías de plotting científico
        7. Interacción con clúster remoto desde entorno interactivo
        8. Post-procesamiento de simulaciones HPC masivas
        9. Comparación visual de distintas corridas / configuraciones
        10. Comunicación de resultados a no especialistas dentro del equipo
    8. Arquitecturas HPC y rendimiento extremo
      1. Supercomputadores y clústeres HPC
        1. Nodos de cómputo dedicados interconectados a alta velocidad
        2. Nodo de login vs nodos de ejecución
        3. Jerarquías de colas y asignación por proyecto
        4. Balance entre cómputo CPU y aceleradores (GPU, TPU)
        5. Redes internas dedicadas de baja latencia
        6. Sistemas de archivos paralelos compartidos
        7. Refrigeración y consumo eléctrico masivo
        8. Escalabilidad a cientos de miles de núcleos
        9. Chequeo de salud del clúster en operación continua
        10. Mantenimiento planificado y ventanas de inactividad
      2. Topologías de interconexión de alto rendimiento
        1. Topología malla (mesh)
        2. Topología toro (torus) 2D/3D
        3. Fat-tree / árbol gordo
        4. Dragonfly / HyperX
        5. Clos networks
        6. Impacto de la topología en latencia entre nodos
        7. Balance de tráfico y hotspots
        8. Afinidad de tareas según proximidad física
        9. Escalabilidad de la topología al crecer el clúster
        10. Resiliencia de la topología ante fallos de enlace
      3. Redes de baja latencia y alto ancho de banda
        1. Minimización del overhead de comunicación entre nodos
        2. Comunicación RDMA (Remote Direct Memory Access)
        3. Evitar intervención de CPU en transferencias de datos
        4. Ancho de banda agregado sostenido vs pico
        5. Jitter de latencia y su impacto en sincronización paralela
        6. Alineación de buffers de red con memoria de usuario
        7. Offload de protocolo en NICs inteligentes
        8. Agrupamiento de mensajes pequeños en bursts más grandes
        9. Priorización de tráfico crítico
        10. Compatibilidad con librerías MPI de alto rendimiento
      4. Tecnologías de interconexión (InfiniBand, Omni-Path)
        1. InfiniBand como estándar de facto en HPC
        2. Omni-Path y alternativas propietarias
        3. Latencia sub-microsegundo
        4. RDMA para acceso directo remoto
        5. QoS y partición lógica del tejido de red
        6. Escalamiento del tejido a miles de nodos
        7. Integración con GPU Direct (GPU↔GPU entre nodos)
        8. Costos de hardware especializado vs Ethernet optimizada
        9. Gestión de congestión en redes de muy alto rendimiento
        10. Diagnóstico y monitoreo de la salud del fabric
      5. Jerarquías de memoria en HPC (HBM, NUMA, NVRAM)
        1. Memoria local por CPU (NUMA domains)
        2. Memoria de alta banda ancha (HBM) junto a la CPU/GPU
        3. Cachés compartidas multinivel
        4. Memoria persistente rápida (NVRAM / PMem)
        5. Latencia variable según cercanía NUMA
        6. Colocación explícita de datos para minimizar saltos remotos
        7. Desbordamiento hacia almacenamiento rápido como “casi RAM”
        8. Administración explícita de memoria cercana a GPU
        9. Técnicas de tiling / blocking para localización espacial y temporal
        10. Estrategias para minimizar movimientos de memoria como cuello de botella
      6. Arquitecturas manycore y vector engines
        1. CPUs con decenas o cientos de núcleos ligeros
        2. Aceleradores vectoriales especializados (vector engines)
        3. GPUs orientadas a throughput masivo
        4. Co-procesadores dedicados a álgebra lineal
        5. Arquitecturas híbridas CPU+vector engine en el mismo nodo
        6. Schedulers que asignan kernels al dispositivo más adecuado
        7. Explotación de paralelismo de datos extremo
        8. Desafíos de memoria compartida entre muchos núcleos
        9. Limitaciones de ancho de banda interno al escalar núcleos
        10. Programación portable para arquitecturas heterogéneas
      7. Escalamiento fuerte y escalamiento débil
        1. Escalamiento fuerte: resolver el mismo problema más rápido con más recursos
        2. Escalamiento débil: resolver problemas más grandes con más recursos manteniendo el tiempo
        3. Speedup ideal vs speedup real
        4. Eficiencia paralela (speedup / número de procesos)
        5. Ley de Amdahl y limitación por la parte secuencial
        6. Ley de Gustafson en escalamiento débil
        7. Overhead de comunicación al aumentar procesos
        8. Desequilibrios de carga entre procesos
        9. Escalado a miles de nodos vs decenas de nodos
        10. Métricas para justificar costo de hardware adicional
      8. Modelos de equilibrio cómputo/memoria (roofline model)
        1. Roofline model como visualización de límites teóricos de rendimiento
        2. Intensidad aritmética (operaciones por byte transferido)
        3. Límite por cómputo vs límite por ancho de banda
        4. Detección de kernels ligados a memoria (memory-bound)
        5. Optimización para subir en el eje de intensidad aritmética
        6. Uso del roofline para priorizar optimizaciones
        7. Comparación entre distintas arquitecturas objetivo
        8. Aplicación a kernels de álgebra lineal dispersa
        9. Identificación de cuellos de botella de memoria compartida
        10. Trazabilidad de mejoras tras cambios de código
      9. Cómputo exascale y arquitecturas exascale
        1. Objetivo: ≥10^18 operaciones por segundo sostenidas
        2. Fuertes requisitos de paralelismo masivo
        3. Tolerancia a fallos como requisito central (fallos frecuentes esperables)
        4. Energía y refrigeración como limitante físico
        5. Jerarquías de memoria más profundas y especializadas
        6. Heterogeneidad extrema (CPU+GPU+aceleradores específicos)
        7. Nuevos modelos de programación resilientes a fallos
        8. Localidad de datos como factor dominante del rendimiento
        9. Replanteamiento de algoritmos para reducir comunicación global
        10. Co-diseño hardware-software-algoritmo
      10. Eficiencia energética y cómputo verde
        1. Rendimiento por watt como métrica clave
        2. DVFS (Dynamic Voltage and Frequency Scaling) en nodos HPC
        3. Apagado selectivo de unidades no usadas
        4. Localidad de datos para minimizar consumo de movimiento de memoria
        5. Agrupamiento de trabajos para optimizar enfriamiento y uso térmico
        6. Reutilización de calor residual
        7. Programación energéticamente consciente (energy-aware scheduling)
        8. Balance entre precisión numérica y costo energético (precisión reducida)
        9. Selección dinámica de acelerador más eficiente para cada kernel
        10. Métricas de sostenibilidad para justificar diseño de nueva infraestructura
      11. Heterogeneidad CPU/GPU/FPGA en nodos de cómputo
        1. Nodos con múltiples tipos de procesador especializados
        2. Asignación dinámica de tareas según el tipo de carga (cómputo denso, streaming, IO-bound)
        3. FPGAs para aceleración de kernels específicos
        4. Programación de kernels reconfigurables en FPGA
        5. Comunicación directa GPU↔GPU y GPU↔NIC
        6. Balance de memoria entre dispositivos heterogéneos
        7. Estrategias de scheduling multi-dispositivo
        8. Portabilidad de código entre distintas arquitecturas
        9. Superposición de cómputo en varios aceleradores simultáneos
        10. Complejidad de depuración y profiling en entornos heterogéneos
      12. Reducción de movimiento de datos como limitante físico
        1. El costo energético/milimétrico de mover datos supera a veces el costo de computar
        2. Computar “donde están los datos” para minimizar transferencia
        3. Fusión de kernels para evitar escrituras/lecturas intermedias
        4. Bloqueo (tiling) espacial y temporal para reusar datos en caché
        5. Almacenamiento intermedio en memoria cercana al acelerador
        6. Reducción en línea (on-the-fly reduction) en vez de recolectar todo
        7. Cómputo in-situ sobre datos científicos sin moverlos al host
        8. Desduplicación de datos compartidos entre procesos cercanos
        9. Compresión rápida en memoria/registro antes de enviar datos
        10. Cambios algorítmicos diseñados explícitamente para minimizar comunicación
    9. Administración y operación de clústeres HPC
      1. Gestión de recursos compartidos multiusuario
        1. Asignación de CPU/GPU/RAM entre distintos usuarios/grupos
        2. Políticas de uso justo (fair share)
        3. Aislamiento entre trabajos concurrentes
        4. Cuotas de almacenamiento y límites de IO
        5. Control de saturación de nodos críticos
        6. Administración de colas por prioridad científica o contractual
        7. Coordinación entre requerimientos de grandes campañas de simulación
        8. Gestión de accesos y cuentas de usuario
        9. Monitoreo de abuso o mal uso intencional/involuntario
        10. Reportes de uso para financiamiento/proyectos
      2. Planificadores y colas de trabajo por lotes
        1. Envío de trabajos batch con scripts de especificación
        2. Reserva anticipada de nodos completos
        3. Tiempo máximo de ejecución permitido por cola
        4. Priorización según tamaño/urgencia/proyecto
        5. Preempción de trabajos de baja prioridad
        6. Backfilling (llenar huecos libres con trabajos cortos)
        7. Agrupación de trabajos similares para eficiencia energética
        8. Gestión de dependencias entre trabajos
        9. Reintentos automáticos en caso de fallo transitorio
        10. Políticas para trabajos interactivos vs trabajos largos
      3. Sistemas de colas (SLURM, PBS, LSF)
        1. SLURM como estándar común en centros HPC
        2. PBS/Torque y LSF en entornos heredados/industriales
        3. Solicitud de recursos (nodos, CPUs, GPUs, memoria, tiempo)
        4. Control de afinidad NUMA y binding de hilos
        5. Array jobs para barridos paramétricos masivos
        6. Recolección de logs de job y salidas estándar
        7. Limitación de acceso a colas especiales (GPU, alta memoria)
        8. Integración con contenedores HPC (Singularity/Apptainer)
        9. Contabilidad automática de horas de cómputo
        10. Integración con sistemas de monitoreo y dashboards
      4. Gestión de módulos y entornos de compilación
        1. Módulos de entorno (module load) para seleccionar toolchains
        2. Versiones múltiples de compiladores (gcc, clang, Intel, NVHPC)
        3. Versiones múltiples de MPI y BLAS/LAPACK
        4. Evitar conflictos de librerías en /usr/lib global
        5. Reproducibilidad de builds mediante entornos módulo-fijados
        6. Documentación de qué módulos cargar para cada workflow
        7. Despliegue centralizado de nuevas librerías científicas
        8. Módulos específicos para GPU / CUDA
        9. Aislamiento de entornos de usuario vs entornos del sistema
        10. Limpieza y auditoría de módulos obsoletos
      5. Gestión de dependencias científicas y toolchains
        1. Compilación optimizada con flags específicos de CPU
        2. Toolchains consistentes (compilador + MPI + BLAS)
        3. Control de ABI y binarios compatibles
        4. Libraries matemáticas propietarias vs open source
        5. Construcción reproducible (Spack, EasyBuild)
        6. Versionado paralelo de la misma librería para distintos usuarios
        7. Minimizar recompilaciones masivas tras actualización del sistema
        8. Testing de regresión de rendimiento tras update
        9. Integridad criptográfica de toolchains instaladas
        10. Documentación de combinaciones soportadas oficialmente
      6. Sistemas de archivos paralelos (Lustre, GPFS, BeeGFS)
        1. Almacenamiento compartido entre miles de nodos
        2. Altísimo throughput agregado de lectura/escritura
        3. Distribución de archivos en múltiples servidores de datos
        4. Metadata distribuida y bots de metadata dedicados
        5. Stripeado de archivos grandes en muchos discos/nodos
        6. Limitaciones de latencia para muchos archivos pequeños
        7. Políticas de cuota por usuario/proyecto
        8. Recuperación ante fallo de nodo de almacenamiento
        9. Optimización de IO secuencial vs IO aleatorio
        10. Limpieza periódica de datos temporales de simulaciones
      7. Políticas de prioridad y fairness
        1. Priorización por proyecto financiado / grupo investigador
        2. Fair-share dinámico (prioridad baja si ya usaste muchas horas)
        3. Reservas especiales para deadlines críticos
        4. Jobs urgentes de emergencia científica / industrial
        5. Balance entre jobs largos y jobs cortos
        6. Slottime “sobrante” reutilizado con backfilling
        7. Prevención del acaparamiento de GPUs de alta gama
        8. Transparencia de colas y razones de espera
        9. Negociación entre equipos por ventanas de uso exclusivas
        10. Auditoría de cumplimiento de SLAs internos
      8. Contabilidad y uso de horas de cómputo
        1. Registro de consumo de CPU-horas / GPU-horas
        2. Asociar gasto computacional a proyectos/grants
        3. Límites presupuestarios por período
        4. Reportes automáticos para facturación interna o externa
        5. Penalización por jobs que fallan repetidamente
        6. Ajuste de prioridad según consumo histórico
        7. Análisis de eficiencia (tiempo reservado vs tiempo realmente usado)
        8. Atribución de costo energético aproximado
        9. Métricas para justificar ampliación de capacidad
        10. Trazabilidad histórica para auditorías
      9. Monitoreo y telemetría de clúster
        1. Uso de CPU, GPU y memoria por nodo en tiempo real
        2. Temperatura y salud térmica de nodos
        3. Estado de enlaces de red de alta velocidad
        4. Carga de IO en el sistema de archivos paralelo
        5. Detección temprana de nodos inestables o lentos
        6. Alertas automáticas ante degradaciones
        7. Dashboards operativos agregados
        8. Historial de performance para detectar tendencias
        9. Correlación entre fallos de hardware y cargas extremas
        10. Integración con sistemas de tickets / incidentes
      10. Seguridad y aislamiento de usuarios en HPC
        1. Cuentas por usuario autenticadas centralmente
        2. Aislamiento de procesos y jobs entre usuarios
        3. Control de acceso a datos sensibles de investigación
        4. Cifrado de datos en reposo y en tránsito interno
        5. Restricción de conectividad externa desde nodos de cómputo
        6. Auditoría de accesos y ejecución de binarios
        7. Escaneo de cargas maliciosas o minado no autorizado
        8. Gestión de claves SSH y certificados internos
        9. Cumplimiento de normativas (por ej. datos biomédicos)
        10. Contención de incidentes sin apagar todo el clúster
      11. Mantenimiento predictivo y gestión de fallos de nodo
        1. Monitoreo de temperatura, ventiladores, energía
        2. Alertas por errores de memoria ECC recurrentes
        3. Reemplazo proactivo de nodos “inestables”
        4. Migración de jobs fuera de nodos sospechosos
        5. Downtime planificado por rack / fila
        6. Diagnóstico remoto de hardware sin intervención física inmediata
        7. Gestión de repuestos críticos (NICs, GPUs, fuentes)
        8. Análisis de MTBF y confiabilidad de componentes
        9. Registro histórico de fallos por lote de hardware
        10. Minimizar pérdidas de simulaciones largas ante cortes imprevistos
      12. Planificación de capacidad y escalamiento físico
        1. Proyección de demanda futura (CPU, GPU, memoria, IO)
        2. Necesidades de potencia eléctrica y refrigeración
        3. Espacio físico en racks y densidad térmica
        4. Evaluación de nuevas arquitecturas (nuevas GPUs, aceleradores IA)
        5. Balance entre nodos “grandes” vs muchos nodos pequeños
        6. Planificación de upgrades sin romper compatibilidad software
        7. Costo total de propiedad (TCO) del hardware adicional
        8. Impacto en el sistema de archivos paralelo y la red central
        9. Riesgos de obsolescencia tecnológica acelerada
        10. Justificación presupuestaria y priorización entre grupos usuarios
    10. Optimización de rendimiento científico
      1. Perfilado y trazado de rendimiento
        1. Perfilado de CPU (tiempo por función / por línea)
        2. Perfilado de GPU (tiempo por kernel)
        3. Perfilado de memoria (allocs, frees, leaks)
        4. Conteo de FLOPs y ancho de banda usado
        5. Trazas temporales (timeline) de ejecución paralela
        6. Instrumentación manual vs muestreo estadístico
        7. Análisis de regiones críticas con alto tiempo bloqueado
        8. Herramientas específicas (perf, VTune, Nsight, TAU)
        9. Medición reproducible y controlada (misma entrada, mismo entorno)
        10. Identificación de variabilidad entre corridas
      2. Análisis de hotspots y kernels críticos
        1. Detección de funciones que consumen la mayor parte del tiempo total
        2. Agrupación de tiempo en operaciones repetitivas (loops internos)
        3. Determinar si el hotspot es cómputo-bound o memory-bound
        4. Extraer el kernel crítico como unidad aislada
        5. Microbenchmarks del kernel aislado
        6. Reescritura manual del kernel crítico
        7. Evaluación del impacto de una optimización local en el total
        8. Evitar optimizar secciones no dominantes
        9. Uso de roofline model para orientar el esfuerzo
        10. Iterar: volver a perfilar tras cada mejora
      3. Vectorización automática y manual
        1. Revisión de informes de vectorización del compilador
        2. Uso de restrict / no-aliasing para ayudar al compilador
        3. Reorganización de bucles para eliminar dependencias falsas
        4. Alineamiento de datos en memoria
        5. Uso de intrinsics SIMD específicos de la arquitectura
        6. Cambiar AoS → SoA para acceso contiguo
        7. Desenrollado de bucles (loop unrolling)
        8. Fusión de operaciones en instrucciones FMA
        9. Verificación de resultados numéricos tras vectorizar
        10. Caer a rutas escalares seguras en arquitecturas sin SIMD
      4. Afinidad de CPU y pinning de hilos
        1. Fijar hilos a núcleos específicos (CPU pinning)
        2. Evitar migración de hilos entre núcleos
        3. Considerar la topología NUMA al asignar hilos
        4. Alinear acceso a memoria con el nodo NUMA local
        5. Balancear hilos entre sockets físicos
        6. Separar hilos de cómputo y hilos de IO
        7. Minimizar contención en recursos compartidos del core
        8. Ajustar afinidad para jobs mixtos CPU/GPU
        9. Medir efectos en latencia y jitter temporal
        10. Uso de herramientas de afinidad (numactl, taskset)
      5. Optimización de caché y localidad de datos
        1. Mejorar localidad espacial (acceso secuencial a memoria)
        2. Mejorar localidad temporal (reuso rápido de los mismos datos)
        3. Tiling / blocking de bucles anidados
        4. Reordenamiento de bucles (loop interchange)
        5. Alinear estructuras a límites de caché
        6. Reducir stride grande en accesos a arreglos
        7. Evitar falsos compartidos entre hilos
        8. Prefetching explícito o asistido por compilador
        9. Minimizar misses de caché L1/L2 críticos
        10. Ajustar tamaño de bloque al tamaño real de la caché
      6. Bloqueo y tiling de bucles
        1. Dividir dominios grandes en sub-bloques (tiles) más pequeños
        2. Ajustar tiles para caber en caché L1/L2
        3. Aplicar tiling en espaciales (x,y,z) y temporal (t)
        4. Evitar traer repetidamente datos fríos desde RAM
        5. Fusionar loops que acceden a las mismas regiones de memoria
        6. Separar loops que destruyen localidad entre datos distintos
        7. Intercambiar orden de iteración para acceso contiguo
        8. Tiling jerárquico en multinivel de caché
        9. Tiling específico para kernels de álgebra lineal
        10. Evaluación del impacto en la vectorización
      7. Reducción de costo de comunicación
        1. Minimizar llamadas MPI punto a punto frecuentes
        2. Usar comunicaciones colectivas eficientes (all-reduce en árbol)
        3. Agrupar mensajes pequeños en buffers más grandes
        4. Evitar sincronizaciones innecesarias entre procesos
        5. Reorganizar el dominio para reducir superficie de intercambio halo
        6. Computar más localmente antes de comunicar
        7. Mantener datos derivados en caché local
        8. Evitar “chatter” entre nodos lejanos
        9. Evaluar topología física de red para mapear procesos
        10. Usar algoritmos con menor complejidad de comunicación global
      8. Solapamiento comunicación / cómputo
        1. Comunicación no bloqueante (MPI Isend/Irecv)
        2. Computar en regiones interiores mientras llegan halos
        3. Pre-post de recepciones antes del cómputo
        4. Pipelines entre etapas de cómputo y transferencia
        5. Offload de comunicación a NICs inteligentes
        6. Uso de streams asíncronos en GPU
        7. Desacoplar threads de comunicación vs threads de cómputo
        8. Máscara de latencia de red con trabajo útil
        9. Solapamiento IO disco ↔ CPU ↔ GPU
        10. Validación de coherencia de datos antes de usar resultados recién llegados
      9. Minimización de sincronizaciones globales
        1. Evitar barreras globales innecesarias
        2. Reemplazar reducciones globales frecuentes por reducciones jerárquicas
        3. Uso de algoritmos asíncronos cuando la física lo permite
        4. Algoritmos tolerantes a retrasos (“latency tolerant”)
        5. Desacoplar pasos de avance de procesos lentos
        6. Relajar sincronía estricta entre subdominios
        7. Técnicas de comunicación eventual en métodos iterativos
        8. Menos global all-reduce en solvers lineales grandes
        9. Aislar nodos lentos sin frenar toda la simulación
        10. Métricas de overhead de sincronización frente a cómputo puro
      10. Escalabilidad paralela y eficiencia
        1. Escalabilidad fuerte vs débil medida empíricamente
        2. Speedup y eficiencia paralela por número de procesos
        3. Detección de pérdida de eficiencia por comunicación
        4. Balanceo dinámico de carga entre procesos/hilos
        5. Análisis de desbalance espacial en dominios físicos
        6. Sensibilidad del rendimiento al tamaño de problema
        7. Saturación de memoria compartida como limitante
        8. Escalado hasta miles de núcleos sin caída abrupta
        9. Identificación de “punto dulce” de escalamiento
        10. Reportes comparables entre arquitecturas distintas
      11. Portabilidad de rendimiento entre arquitecturas
        1. Código que rinde bien en CPU y también en GPU
        2. Uso de capas de abstracción portables (Kokkos, RAJA)
        3. Evitar dependencias rígidas de una sola ISA vectorial
        4. Adaptación a distintos anchos SIMD
        5. Ajuste de tamaño de bloque específico por backend
        6. Minimizar llamadas a librerías propietarias no portables
        7. Autotuning por arquitectura destino
        8. Selección dinámica de kernels especializados en runtime
        9. Mantenimiento de una sola base de código
        10. Validación numérica cruzada entre targets
      12. Auto-tuning y generación de kernels óptimos
        1. Búsqueda automática de parámetros de bloque / tile
        2. Variación sistemática de flags de compilación
        3. Selección adaptativa de algoritmos según tamaño de problema
        4. Mediciones empíricas para elegir la mejor variante
        5. Generación de kernels especializados por hardware
        6. Ajuste dinámico en runtime (JIT tuning)
        7. Almacenamiento de perfiles óptimos para reuso futuro
        8. Exploración heurística/genética de configuraciones
        9. Meta-programación que produce múltiples implementaciones candidatas
        10. Integración con pipelines CI para reevaluar al cambiar hardware
    11. Computación heterogénea y aceleradores
      1. GPU de propósito general
        1. Ejecución masivamente paralela tipo SIMT
        2. Miles de hilos ligeros en paralelo
        3. Memoria global con alta latencia oculta por concurrencia
        4. Memoria compartida rápida por bloque
        5. Uso de kernels especializados para álgebra lineal densa y dispersa
        6. Librerías optimizadas (cuBLAS, cuFFT, cuSPARSE)
        7. Overhead de transferencia host↔device
        8. Streams y concurrencia solapada de kernels
        9. Ajuste fino de occupancy y uso de registros
        10. Escalamiento multi-GPU y comunicación peer-to-peer
      2. Aceleradores matriciales especializados
        1. Tensor cores / matrix cores
        2. Unidades de multiplicación-acumulación masiva
        3. Rendimiento extremo en multiplicación densa de matrices
        4. Precisión reducida (FP16, BF16, INT8) como palanca de performance
        5. Aplicación fuera de IA: álgebra lineal científica clásica
        6. Mapeo de kernels científicos a operaciones de bloques matriciales
        7. Limitaciones cuando la matriz es dispersa/no estructurada
        8. Ajuste de layout de datos para explotar ancho de bloque
        9. Impacto en eficiencia energética (GFLOP/s por watt)
        10. Evolución rápida del hardware entre generaciones
      3. FPGA para cómputo científico
        1. Lógica reconfigurable orientada al problema
        2. Pipelines de datos completamente personalizados
        3. Latencia ultra baja en ciertas operaciones
        4. Paralelismo espacial en vez de temporal
        5. Uso en filtrado de señales, correlaciones masivas, cálculo específico
        6. Ancho de palabra arbitrario (precisión fija optimizada)
        7. Desarrollo complejo (HDL, HLS) y tiempos de síntesis largos
        8. Dificultad de mantenimiento vs GPU programable
        9. Excelente rendimiento/consumo en kernels bien definidos
        10. Integración en nodos HPC especializados
      4. Offloading selectivo de kernels
        1. Identificar kernels altamente paralelizables
        2. Medir si el costo de transferencia compensa la aceleración
        3. Dividir el pipeline en etapas CPU vs GPU/FPGA
        4. Solapar transferencia de datos con cómputo
        5. Evitar offload de rutinas con poco paralelismo
        6. Mantener datos residentes en el acelerador varias etapas
        7. Diseño de interfaces de llamada claras (host → device → host)
        8. Reutilización de buffers en el acelerador
        9. Selección en runtime de a qué acelerador mandar cada kernel
        10. Balancear precisión numérica al migrar kernels sensibles
      5. Modelos de memoria unificada y memory pooling
        1. Memoria unificada CPU/GPU (UMA / UVA)
        2. Acceso compartido a la misma dirección virtual
        3. Migración automática/transparente de páginas de memoria
        4. Reducción del overhead de copias explícitas
        5. Riesgo de accesos remotos con gran latencia
        6. Pool de memoria común entre múltiples GPUs
        7. Coordinación de grandes datasets en nodos heterogéneos
        8. Políticas de colocación preferida (preferred location)
        9. Ajuste fino manual cuando el runtime no decide bien
        10. Interacción con NUMA y memoria cercana a aceleradores
      6. Balanceo dinámico CPU/GPU
        1. Repartir trabajo entre CPU y GPU según carga actual
        2. Detectar desequilibrios entre dispositivos
        3. Mover kernels entre CPU y GPU en ejecución prolongada
        4. Adaptar granularidad del trabajo para mejor overlap
        5. Coordinar uso de memoria compartida y cachés
        6. Evitar que la GPU quede ociosa esperando a la CPU (y viceversa)
        7. Modelos de predicción de tiempo de ejecución por kernel
        8. Scheduling consciente del costo de transferencia de datos
        9. Priorización de etapas críticas en el acelerador más rápido
        10. Ajustes en caliente según telemetría de rendimiento
      7. Co-scheduling de múltiples aceleradores
        1. Nodos con varias GPUs trabajando en paralelo coordinado
        2. Pipeline por etapas (GPU A → GPU B)
        3. Reparto de subdominios espaciales entre aceleradores
        4. Comunicación directa GPU↔GPU sin pasar por CPU
        5. Minimizar congestión del bus de interconexión
        6. Sincronización ligera entre aceleradores
        7. Replicación de datos comunes en varias GPUs
        8. Balance de carga entre GPUs heterogéneas (diferentes generaciones)
        9. Evitar starvation de un acelerador lento que frena toda la cadena
        10. Telemetría multinodo para ajustar distribución de trabajo
      8. Estrategias NUMA-aware en nodos heterogéneos
        1. Entender dominios NUMA internos del nodo (sockets múltiples)
        2. Asignar hilos cerca de la memoria que usan
        3. Colocar buffers GPU en la memoria más cercana a esa GPU
        4. Evitar saltos inter-socket de alta latencia
        5. Afinidad de IRQ/red hacia el socket correcto
        6. Política “first touch” para inicializar memoria en el nodo adecuado
        7. Migración dinámica de memoria NUMA mal colocada
        8. Monitorizar contadores NUMA miss
        9. Ajustar topología de procesos MPI dentro del nodo
        10. Combinar NUMA-awareness con pinning de hilos y afinidad GPU
      9. Codiseño hardware-software
        1. Ajustar algoritmos numéricos al hardware disponible
        2. Cambiar discretización para favorecer acceso contiguo a datos
        3. Reformular kernels para usar aceleradores matriciales
        4. Especializar precisión numérica para ahorrar energía
        5. Integrar hardware emergente (neuromórfico, óptico) en flujos científicos
        6. Feedback iterativo entre equipo de hardware y equipo de simulación
        7. Automatización de generación de kernels específicos de plataforma
        8. Minimizar movimiento de datos como objetivo de diseño inicial
        9. Diseñar librerías reutilizables paramétricas por arquitectura
        10. Anticipar escalamiento a arquitecturas exascale heterogéneas
    12. Métodos estocásticos y muestreo masivo
      1. Monte Carlo clásico
        1. Muestreo aleatorio independiente de configuraciones/estados
        2. Estimación de integrales de alta dimensión
        3. Ley de los grandes números como base de convergencia
        4. Error estadístico ~ 1/sqrt(N)
        5. Variance reduction (control variates, antithetic sampling)
        6. Importancia de generadores aleatorios de alta calidad
        7. Paralelización trivial repartiendo semillas distintas
        8. Aplicación en transporte de radiación, finanzas cuantitativas, difusión
        9. Detección de convergencia estable de estimadores
        10. Almacenamiento y reproducibilidad de semillas iniciales
      2. Monte Carlo de cadenas de Markov (MCMC)
        1. Construcción de una cadena que converge a la distribución objetivo
        2. Métodos de Metropolis-Hastings
        3. Gibbs sampling
        4. Mezcla (mixing) y tiempo de autocorrelación
        5. Burn-in y descarte de muestras iniciales
        6. Diagnóstico de convergencia de múltiples cadenas
        7. MCMC paralelo: cadenas independientes y análisis combinado
        8. Hamiltonian / Hybrid Monte Carlo para saltar regiones de baja probabilidad
        9. Uso en inferencia bayesiana de parámetros complejos
        10. Costos de evaluación de la función de probabilidad objetivo
      3. Muestreo de Importancia y reponderación
        1. Muestreo según una distribución propuesta fácil de simular
        2. Reponderación (weights) para estimar la distribución objetivo real
        3. Reducción de varianza enfocando en regiones relevantes
        4. Degeneración de pesos (pocos pesos dominan)
        5. Normalización numérica estable de pesos
        6. Uso en integración de alta dimensión con colas pesadas
        7. Sequential Importance Sampling (SIS)
        8. Particle filters en sistemas dinámicos
        9. Resampling estratificado / sistemático
        10. Aplicaciones en seguimiento probabilístico de estados ocultos
      4. Cuasi-Monte Carlo y secuencias de baja discrepancia
        1. Uso de secuencias deterministas (Sobol, Halton)
        2. Cobertura más uniforme del espacio de integración
        3. Convergencia potencialmente más rápida que 1/sqrt(N)
        4. Importancia de la dimensión efectiva del problema
        5. Scrambling aleatorio para estimar error estadístico
        6. Alineación de ejes y correlaciones entre dimensiones
        7. Rendimiento en pricing financiero y problemas suaves
        8. Limitaciones en problemas altamente discontinuos
        9. Paralelización conservando las propiedades de baja discrepancia
        10. Interacción con técnicas de reducción de varianza clásicas
      5. Rare-event sampling y métodos de eventos raros
        1. Estimación de probabilidades extremadamente bajas
        2. Splitting / branching de trayectorias prometedoras
        3. Importance sampling dirigido a colas extremas
        4. Accelerated Monte Carlo para choques muy improbables
        5. Técnicas de genealogía de trayectorias
        6. Aplicaciones en confiabilidad estructural y riesgo extremo
        7. Estimación de tiempos de fallo en ingeniería
        8. Simulación de catástrofes naturales o nucleares poco frecuentes
        9. Control estricto de error estadístico en colas
        10. Validación de resultados con métodos analíticos aproximados
      6. Análisis de incertidumbre y propagación de errores estadísticos
        1. Propagar incertidumbre de parámetros de entrada
        2. Barridos estadísticos de sensibilidad paramétrica
        3. Métodos no intrusivos basados en muestreo
        4. Cuantificación de intervalo de confianza en salidas físicas
        5. Estimación de correlaciones entre parámetros de entrada y métricas de salida
        6. Métodos polinomiales de Caos Generalizado (gPC)
        7. Reducción de dimensionalidad en el espacio de incertidumbre
        8. Visualización de superficies de respuesta probabilísticas
        9. Comparación entre incertidumbre numérica vs incertidumbre física real
        10. Uso en certificación de modelos predictivos
      7. Inferencia bayesiana computacional de gran escala
        1. Evaluación de posteriori en modelos complejos con datos masivos
        2. MCMC a gran escala distribuido
        3. Variational Inference como aproximación determinista
        4. Métodos Laplace y Gaussian approximation alrededor del modo
        5. SMC (Sequential Monte Carlo) para inferencia dinámica
        6. Amortized inference con redes neuronales que aproximan posteriori
        7. Uso de GPUs para evaluar likelihood y gradientes masivos
        8. Factorización de la verosimilitud para datos particionados
        9. Cálculo de evidencia / Bayes factors
        10. Trazabilidad de incertidumbre en parámetros inferidos
      8. Simulación de ensambles y métodos de réplicas
        1. Simulación simultánea de múltiples copias del sistema (réplicas)
        2. Réplica-exchange / parallel tempering para cruzar barreras de energía
        3. Ensambles canónicos, isobáricos, gran canónicos simultáneos
        4. Exploración de paisajes energéticos rugosos
        5. Intercambio controlado de temperatura / presión entre réplicas
        6. Aceleración del muestreo de estados metaestables raros
        7. Estimación robusta de propiedades termodinámicas globales
        8. Identificación de transiciones de fase y estados intermedios
        9. Uso intensivo de paralelismo masivo (cada réplica en un nodo distinto)
        10. Análisis posterior conjunto para promediar observables entre réplicas
    13. Optimización matemática de gran escala
      1. Programación lineal
        1. Problemas lineales en forma estándar (minimizar cᵀx sujeto a Ax = b, x ≥ 0)
        2. Método símplex y variantes revisadas para alta dimensión
        3. Métodos de punto interior aplicados a programación lineal
        4. Escalamiento y normalización de restricciones para estabilidad numérica
        5. Descomposición de Dantzig-Wolfe y Benders para problemas estructurados grandes
        6. Relajaciones lineales de problemas enteros/mixtos
        7. Uso de PL en logística, planificación de recursos y flujo en redes
        8. Resolución distribuida y paralelizada de PL gigantes (millones de variables)
        9. Calentamiento de arranque (warm start) entre iteraciones sucesivas
        10. Sensibilidad y análisis de dualidad (precios sombra)
      2. Programación cuadrática
        1. Problemas con función objetivo cuadrática convexa y restricciones lineales
        2. QP estrictamente convexa vs indefinida
        3. Métodos activos de restricción (active set methods)
        4. Métodos de punto interior especializados en QP
        5. QP en control predictivo basado en modelo (MPC)
        6. Penalización cuadrática y regularización L2
        7. Uso en ajuste de portafolios, control, ajuste de curvas suaves
        8. Reducción de QP grandes a subconjuntos activos relevantes
        9. Aproximación de problemas no lineales locales como QP sucesivos (SQP)
        10. Solución en hardware acelerado (GPU/FPGA) para control en tiempo real
      3. Métodos de punto interior
        1. Barreras logarítmicas para mantener factibilidad estricta
        2. Trayectoria central y seguimiento de la curva óptima
        3. Resolución repetida de sistemas lineales tipo KKT
        4. Precondicionadores para sistemas lineales mal condicionados
        5. Escalabilidad a problemas con millones de variables y restricciones
        6. Paralelización de factorizaciones lineales internas
        7. Métricas de convergencia primal-dual
        8. Warm start entre problemas cercanos en simulaciones iterativas
        9. Estabilidad numérica en presencia de restricciones muy rígidas
        10. Aplicación en planificación energética, telecomunicaciones, enrutamiento
      4. Optimización no lineal sin restricciones
        1. Métodos de descenso de gradiente clásico
        2. Descenso de gradiente con paso adaptativo (line search, backtracking)
        3. Métodos de segundo orden (Newton puro)
        4. Newton amortiguado / Levenberg-Marquardt
        5. Métodos quasi-Newton sin Hessiana explícita
        6. Búsqueda en dirección conjugada
        7. Detección de mínimos locales vs sillas
        8. Condicionamiento del problema y escalamiento de variables
        9. Paralelización del cálculo de gradientes en HPC
        10. Evaluación masiva de la función objetivo en simulaciones de física
      5. Optimización con restricciones
        1. Formulación con restricciones de igualdad y desigualdad
        2. Multiplicadores de Lagrange
        3. Métodos de penalización y barrera
        4. Métodos de Augmented Lagrangian
        5. Sequential Quadratic Programming (SQP)
        6. Proyección sobre el conjunto factible
        7. Manejo de restricciones físicas duras (conservación de masa, energía)
        8. Inviabilidad numérica y relajación suave de restricciones
        9. Uso de lagrangianos distribuidos en HPC
        10. Escalabilidad en problemas con muchas restricciones acopladas
      6. Métodos de descenso de gradiente a gran escala
        1. Gradiente puro con pasos pequeños
        2. Gradiente con momento / momentum
        3. Gradiente acelerado tipo Nesterov
        4. Gradiente estocástico y mini-batch para datasets masivos
        5. Adaptación de tasa de aprendizaje (RMSProp, Adam en contextos científicos)
        6. Preacondicionamiento del gradiente
        7. Reducción de comunicación en gradiente distribuido (all-reduce eficiente)
        8. Cuantización / compresión de gradientes
        9. Métodos de gradiente en entornos de memoria limitada
        10. Estabilidad numérica al usar precisión reducida en GPU
      7. Métodos quasi-Newton y BFGS limitado
        1. BFGS como aproximación iterativa a la Hessiana inversa
        2. L-BFGS para problemas de muy alta dimensión (memoria acotada)
        3. Actualizaciones rank-1 / rank-2 de aproximaciones de Hessiana
        4. Superar el costo del cálculo Hessiano exacto
        5. Buenas propiedades de convergencia superlineal
        6. Uso frecuente en ajuste de parámetros científicos
        7. Tolerancia a ruido en evaluación de gradiente
        8. Implementación distribuida de L-BFGS
        9. Aceleración combinando L-BFGS con precondicionadores físicos
        10. Comparación con métodos puramente de gradiente en problemas rígidos
      8. Descomposición por bloques y coordenadas alternadas
        1. Optimización de subconjuntos de variables mientras las demás quedan fijas
        2. Métodos de coordenadas cíclicos vs aleatorios
        3. Block Coordinate Descent (BCD) para variables agrupadas
        4. Alternating Direction Method of Multipliers (ADMM)
        5. Separación natural en problemas con estructura espacial o física
        6. Computación distribuida asignando bloques a distintos nodos
        7. Convergencia en problemas convexos y no convexos
        8. Uso en problemas de imagen, tomografía, reconstrucción inversa
        9. Ajuste incremental en pipelines iterativos grandes
        10. Facilidad de paralelización cuando los bloques se desacoplan débilmente
      9. Métodos distribuidos y consenso
        1. Descomposición del problema global en subproblemas locales
        2. Consenso iterativo entre nodos para acordar variables compartidas
        3. Intercambio de información parcial entre subproblemas (no compartir todo)
        4. ADMM distribuido en clusters HPC
        5. Robustez frente a fallos parciales de nodos
        6. Reducción de latencia de sincronización global
        7. Escalamiento horizontal con más nodos de cómputo
        8. Aproximaciones descentralizadas sin coordinador único
        9. Métodos tolerantes a comunicación ruidosa o retrasada
        10. Aplicación en redes eléctricas, optimización de tráfico, control distribuido
      10. Control óptimo numérico
        1. Formulación de problemas de control óptimo continuo y discreto
        2. Discretización temporal y espacial del sistema dinámico
        3. Pontryagin y condiciones de optimalidad
        4. Control predictivo basado en modelo (MPC) resuelto en línea
        5. Resolución repetida de problemas QP/LP a cada paso de control
        6. Control de sistemas rígidos y no lineales
        7. Adjoint methods para obtener gradientes respecto a las entradas de control
        8. Optimización en lazo cerrado con restricciones físicas críticas
        9. Uso de hardware acelerado para control en tiempo real
        10. Integración con simuladores físicos de alta fidelidad
      11. Problemas inversos y ajuste de parámetros físicos
        1. Estimar parámetros desconocidos a partir de observaciones experimentales
        2. Ajuste de modelos PDE/EDP a datos reales
        3. Métodos adjuntos para calcular gradientes eficientes
        4. Regularización (L2, L1, Tikhonov) para estabilizar soluciones
        5. Inversión sísmica, tomografía médica, reconstrucción de imágenes
        6. Identificación de condiciones iniciales / de frontera desconocidas
        7. Sensibilidad y multiplicidad de soluciones
        8. Uso de métodos bayesianos para cuantificar incertidumbre
        9. Ejecución iterativa acoplada simulación ↔ optimización
        10. Escalamiento a alta dimensión espacial y temporal
    14. Ciencia de datos a gran escala en HPC
      1. Preprocesamiento masivo de datos científicos
        1. Limpieza de datos brutos provenientes de sensores / simulaciones
        2. Detección y eliminación de valores atípicos / corruptos
        3. Sincronización temporal de múltiples fuentes de medición
        4. Re-muestreo y alineamiento espacial de mallas / grids
        5. Normalización de unidades físicas y escalas
        6. Manejo de datos faltantes y reconstrucción
        7. Conversión entre formatos científicos (NetCDF, HDF5, Parquet)
        8. Paralelización de ETL científico en clúster
        9. Control de versiones de datasets intermedios
        10. Trazabilidad de transformaciones (data lineage)
      2. Limpieza y normalización de datos experimentales
        1. Calibración de instrumentos y sensores
        2. Sustracción de ruido de fondo
        3. Corrección de deriva y bias sistemático
        4. Fusión de datos de distintos experimentos / corridas
        5. Eliminación de artefactos numéricos o de medición
        6. Escalamiento por rango, z-score, normalización física
        7. Alineamiento espacial/temporal de datos heterogéneos
        8. Validación automatizada de calidad de datos
        9. Etiquetado confiable de metadatos
        10. Generación de datasets “curados” reutilizables
      3. Reducción de dimensionalidad y compresión
        1. PCA / SVD para capturar modos dominantes
        2. Autovectores y descomposiciones espectrales de campos físicos
        3. Compresión con pérdida controlada en simulaciones volumétricas
        4. Compresión específica de dominio (por ejemplo, wavelets)
        5. Mapas de baja dimensión para visualización científica
        6. Autoencoders entrenados en HPC
        7. Separación señal/ruido mediante modos principales
        8. Almacenamiento de snapshots reducidos para análisis posterior
        9. Trade-off entre compresión y errores inducidos
        10. Streaming de datos comprimidos entre nodos para análisis distribuido
      4. Análisis de series temporales de alta resolución
        1. Señales multicanal a alta frecuencia de muestreo
        2. Filtrado espectral y análisis en frecuencia/onda
        3. Cross-correlation y cross-spectral analysis entre sensores
        4. Detección de eventos transitorios poco frecuentes
        5. Modelos autorregresivos y VAR multivariados
        6. Predicción temporal con redes recurrentes / Transformers
        7. Segmentación automática en fases/regímenes dinámicos
        8. Detección de deriva lenta vs cambios abruptos
        9. Paralelización del análisis temporal en ventanas
        10. Almacenamiento indexado por tiempo para acceso rápido
      5. Pipelines de análisis batch y streaming científicos
        1. Procesamiento batch de simulaciones completas ya finalizadas
        2. Procesamiento near real-time de resultados parciales
        3. Flujos tipo “simular → analizar → decidir → retroalimentar simulación”
        4. Tolerancia a fallos y reanudación de pipelines largos
        5. Orquestación distribuida en clúster HPC
        6. Encadenamiento de etapas heterogéneas (simulación Fortran, análisis Python)
        7. Buffers compartidos en memoria de alta velocidad
        8. Persistencia intermedia mínima para bajar latencia
        9. Alertas/umbrales automáticos al detectar comportamientos críticos
        10. Auditoría de pasos y resultados intermedios
      6. Visualización científica de alto rendimiento
        1. Renderizado paralelo de volúmenes 3D / campos vectoriales
        2. Ray tracing científico para estructuras complejas
        3. Visualización “in situ” (sin escribir todos los datos a disco)
        4. Exploración interactiva de resultados masivos en remoto
        5. Submuestreo inteligente y refinamiento adaptativo
        6. Extracción de isosuperficies y líneas de corriente
        7. Visualización multi-escala (zoom desde macro a micro)
        8. Pipelines GPU para post-procesamiento visual
        9. Exportación de imágenes/animaciones de alta fidelidad
        10. Análisis colaborativo visual entre varios usuarios
      7. Gestión de datasets masivos y movimiento de datos
        1. Organización de petabytes de resultados de simulación
        2. Almacenamiento jerárquico (rápido vs archivo frío)
        3. Catalogación y metadatos buscables
        4. Minimizar transfers entre centros de cómputo
        5. Políticas de retención y expiración de datos antiguos
        6. Planificación de ancho de banda para mover datos de experimento a HPC
        7. Prefetch de datos necesarios para etapas siguientes
        8. Replicación geográfica para resiliencia
        9. Encriptación y cumplimiento normativo en tránsito
        10. Costos de IO vs costo de recomputar
      8. Indexación eficiente de resultados de simulación
        1. Indexación multimensional de campos físicos (x,y,z,t)
        2. Indexación espacial jerárquica (árboles octree / kd-tree)
        3. Catálogos consultables por rango de parámetros
        4. Búsqueda rápida de instantáneas con propiedades específicas
        5. Metadatos ricos (condiciones iniciales, constantes físicas)
        6. Etiquetado semántico de regiones de interés (por ejemplo, choque, fractura)
        7. Indexación compatible con visualización interactiva
        8. Uso de formatos autocontenidos (HDF5 con metadata)
        9. Precomputo de agregados estadísticos por bloque espacial
        10. APIs de consulta para análisis colaborativo entre equipos
      9. Exploración interactiva en entornos de supercómputo
        1. Acceso remoto a nodos de visualización con GPU
        2. Notebooks científicos conectados al clúster HPC
        3. Exploración de parámetros en vivo sin relanzar simulación completa
        4. Dashboards en tiempo (casi) real de evolución de la simulación
        5. Muestreo adaptativo de regiones interesantes del dominio físico
        6. Comparación lado a lado de distintas corridas / configuraciones
        7. Colaboración multiusuario observando el mismo dataset
        8. Resumen estadístico inmediato al explorar regiones
        9. Protección de datos sensibles en sesiones interactivas
        10. Generación rápida de reportes técnicos reproducibles
    15. Aprendizaje automático acelerado en HPC
      1. Entrenamiento distribuido de modelos profundos
        1. Sincronización de gradientes entre múltiples nodos (data parallel)
        2. All-reduce optimizado y jerárquico
        3. Entrenamiento en clúster con decenas o cientos de GPUs
        4. Checkpointing distribuido tolerante a fallos
        5. Reanudación tras caída de nodos
        6. Uso de redes de baja latencia para sincronización
        7. Mixed precision training (FP16/BF16) para acelerar cómputo
        8. Overlap de comunicación-gradiente con el cómputo forward/backward
        9. Control de desbalance entre GPUs heterogéneas
        10. Escalabilidad a modelos de miles de millones de parámetros
      2. Paralelismo de datos
        1. Cada réplica del modelo procesa un subconjunto distinto del batch
        2. Agregación de gradientes entre réplicas
        3. Tamaños de batch enormes para explotar todo el clúster
        4. Ajuste de tasa de aprendizaje al tamaño de batch
        5. Corrección de sesgo al escalar batch size
        6. Minimizar variabilidad estadística en batches gigantes
        7. Sharding eficiente de datos de entrenamiento
        8. Carga de datos distribuida sin cuello de botella de IO
        9. Data augmentation paralela
        10. Reproducibilidad entre corridas masivas
      3. Paralelismo de modelo
        1. Dividir el modelo entre múltiples dispositivos (model parallel)
        2. Partición por capas profundas consecutivas
        3. Partición por dimensión interna (tensor/model parallel)
        4. Sincronización de activaciones y gradientes entre particiones
        5. Minimizar el volumen de comunicación entre particiones
        6. Alineación de la topología de red física con la partición del modelo
        7. Manejo de capas gigantes que no caben en una sola GPU
        8. Entrenamiento de modelos de gran escala (transformers enormes)
        9. Balance de carga entre fragmentos del modelo
        10. Depuración de errores en forward/backward distribuido
      4. Paralelismo de pipeline
        1. Dividir el modelo en etapas secuenciales como una línea de ensamblaje
        2. Microbatches que fluyen a lo largo del pipeline
        3. Ejecución en “streaming” de forward y backward
        4. Minimizar burbujas (tiempo muerto entre etapas)
        5. Coordinación precisa de tiempos entre etapas
        6. Combinación con paralelismo de datos y de modelo
        7. Ajuste dinámico del tamaño de microbatch
        8. Recuperación tras fallo de una etapa del pipeline
        9. Medición de throughput del pipeline completo
        10. Escalado a pipelines con muchas etapas distribuidas en varios nodos
      5. Técnicas mixtas de paralelismo
        1. Combinación de paralelismo de datos + modelo + pipeline
        2. Diseño de mallas lógicas de GPUs/NICs para sincronización eficiente
        3. Sharding de parámetros en paralelo de datos
        4. Replicación parcial de capas críticas
        5. Mezcla de precisiones numéricas según la capa
        6. Fusión de comunicaciones para reducir overhead
        7. Checkpointing parcial por grupo paralelo
        8. Escalamiento de modelos tipo foundation models
        9. Balance entre complejidad operativa y ganancia de velocidad
        10. Automatización de estrategias híbridas en frameworks modernos
      6. Compiladores de grafos y optimizadores de kernels
        1. Fusión automática de operadores para minimizar tráfico de memoria
        2. Reordenamiento de operaciones para mejor localidad
        3. Generación de kernels especializados por hardware (codegen)
        4. Reducción de overhead de lanzamiento de kernels en GPU
        5. Planificación de ejecución para maximizar ocupación de GPU
        6. Cuantización y poda integradas en el grafo computacional
        7. Auto-tuning de tamaños de bloque y tiling
        8. Selección automática de primitivas de álgebra lineal óptimas
        9. Ajuste a aceleradores matriciales específicos
        10. Exportación a runtimes ligeros para inferencia
      7. Modelos informados por física (physics-informed ML)
        1. Redes neuronales que incorporan leyes físicas (conservación, simetrías)
        2. Penalización de violaciones de ecuaciones diferenciales en la pérdida
        3. Aceleración de simulaciones resolviendo aproximaciones aprendidas
        4. Estimación de campos continuos (presión, velocidad, temperatura)
        5. Aprendizaje de cierres (closures) en modelos de turbulencia
        6. Incorporación de invariantes físicos (energía, masa, momento)
        7. Validación física además de métrica estadística
        8. Reducción de costo de simulaciones de alta fidelidad
        9. Uso en problemas inversos con datos parciales
        10. Acoplamiento bidireccional simulación <-> red neuronal
      8. Surrogates y emuladores de simulaciones costosas
        1. Modelos aproximados (surrogates) que reemplazan una simulación completa
        2. Entrenamiento supervisado con datos de simuladores caros
        3. Evaluación ultrarrápida para exploración paramétrica
        4. Optimización y calibración usando surrogate en vez del solver físico
        5. Emulación estadística con Gaussian Processes / modelos profundos
        6. Redes reducidas para aproximar dinámica compleja
        7. Validación de fidelidad vs simulador base
        8. Cuantificación de incertidumbre del surrogate
        9. Uso en diseño de experimentos y control en línea
        10. Actualización incremental del surrogate con nuevos datos
      9. Inferencia optimizada de baja latencia
        1. Compilación del modelo para inferencia (TensorRT, XLA, etc.)
        2. Cuantización a baja precisión para acelerar inferencia
        3. Podado (pruning) de pesos y compresión estructurada
        4. Batch pequeño vs batch grande según latencia objetivo
        5. Inferencia distribuida en varias GPUs para throughput
        6. Pipeline de inferencia cerca del borde (edge HPC / centros de datos científicos)
        7. Minimización de transferencias CPU↔GPU durante inferencia
        8. Colocación óptima del modelo en nodos con aceleradores
        9. Monitoreo de latencia en ambientes de misión crítica
        10. Reconfiguración dinámica del runtime según carga
      10. AutoML y búsqueda de arquitecturas en HPC
        1. Búsqueda automática de hiperparámetros a gran escala
        2. Búsqueda neural architecture search (NAS) distribuida
        3. Evaluación paralela masiva de configuraciones candidate
        4. Reutilización de pesos (weight sharing) para acelerar NAS
        5. Selección multicriterio (precisión, costo computacional, energía)
        6. Checkpointing intermedio de candidatos prometedores
        7. Priorización inteligente usando modelos tipo bandit/bayesianos
        8. Uso de GPUs/TPUs a escala para barrer el espacio arquitectural
        9. Persistencia y comparación histórica de arquitecturas probadas
        10. Generación de modelos a medida del dominio físico específico
    16. Verificación, validación y reproducibilidad científica
      1. Verificación numérica de solvers
        1. Comparación con soluciones analíticas conocidas
        2. Convergencia de orden esperado bajo refinamiento de malla/paso de tiempo
        3. Conservación de invariantes físicos (masa, energía, momento)
        4. Análisis de estabilidad numérica en integración temporal
        5. Detección de drift numérico en simulaciones largas
        6. Chequeo de sensibilidad ante pequeñas variaciones del paso
        7. Comparación de precisión simple vs doble
        8. Cross-check entre formulaciones equivalentes del mismo operador
        9. Uso de problemas sintéticos controlados para depuración
        10. Pruebas de regresión numérica automatizadas
      2. Validación física frente a datos experimentales
        1. Comparación directa simulación vs medición real
        2. Calibración de parámetros físicos libres
        3. Ajuste de condiciones de frontera a ensayos experimentales
        4. Cuantificación de error relativo y absoluto
        5. Análisis de incertidumbre experimental vs incertidumbre numérica
        6. Evaluación de predicción fuera del rango medido
        7. Validación cruzada entre laboratorios / experimentos
        8. Ciclo iterativo “predecir → medir → refinar modelo”
        9. Identificación de física faltante (p.ej. disipación no modelada)
        10. Aceptación del modelo para uso ingenieril / regulatorio
      3. Comparación cruzada entre códigos independientes
        1. Ejecutar el mismo caso físico con distintos códigos/simuladores
        2. Asegurar consistencia de resultados clave (curvas, tensiones, campos)
        3. Evaluar diferencias numéricas por discretización (FEM vs FDM vs FV)
        4. Análisis de dependencia en el mallado
        5. Benchmarking con códigos de referencia de la comunidad
        6. Identificación de bugs por divergencias sistemáticas
        7. Uso en validación de nuevos métodos numéricos
        8. Documentación de discrepancias aceptables
        9. Generación de “casos patrón” para regresión futura
        10. Publicación conjunta de resultados comparativos
      4. Benchmarks y suites de referencia comunitarias
        1. Casos estándar compartidos en la disciplina (lid-driven cavity, canal turbulento, etc.)
        2. Datos base aprobados por la comunidad científica
        3. Métricas de error y figuras de mérito acordadas
        4. Repetibilidad de setup, malla, parámetros
        5. Rankings de desempeño numérico y eficiencia HPC
        6. Evolución histórica del benchmark para nuevas físicas
        7. Uso en propuestas de financiamiento / validación de código
        8. Inclusión de casos extremos (alta Re, no linealidades fuertes)
        9. Comparación entre hardware (CPU vs GPU vs aceleradores)
        10. Curación de benchmarks abiertos y accesibles
      5. Control de versiones de simulaciones y parámetros
        1. Versionado de input decks / archivos de configuración
        2. Registro de la versión exacta del código fuente
        3. Hashes/verificación criptográfica de binarios ejecutados
        4. Historial de parámetros físicos y numéricos
        5. Trazabilidad de cada resultado a su commit/tag
        6. Control de cambios graduales en el modelo físico
        7. Gestión de branches específicos para estudios científicos
        8. Congelamiento de configuraciones para publicaciones
        9. Reproducibilidad temporal (poder re-correr meses después)
        10. Integración con sistemas de control de versiones (Git) y metadatos científicos
      6. Gestión de semillas aleatorias y estados iniciales
        1. Registro explícito de semillas RNG
        2. Reproducibilidad de corridas estocásticas
        3. Uso de secuencias deterministas en entornos paralelos
        4. Control de streams de aleatoriedad por proceso MPI / GPU
        5. Evitar colisión de semillas entre nodos
        6. Trazabilidad de estados iniciales generados aleatoriamente
        7. Repetibilidad estadística para validar hallazgos
        8. Estimación de varianza entre corridas idénticas salvo RNG
        9. Validación de robustez frente a diferentes semillas
        10. Publicación de semillas usadas en resultados finales
      7. Bitácoras experimentales y trazabilidad completa
        1. Registro estructurado de cada corrida (input, versión, hora, nodo)
        2. Metadatos de hardware y topología de ejecución
        3. Logs de entorno (módulos cargados, variables de entorno)
        4. Captura automática de performance y recursos usados
        5. Registro de fallos y reinicios
        6. Asociación entre corrida y análisis posterior
        7. Bitácora tipo “laboratorio” digital y consultable
        8. Evidencia auditable para artículos científicos
        9. Cumplimiento de políticas de laboratorio / centro HPC
        10. Soporte a revisores externos
      8. Publicación de datasets reproducibles
        1. Liberar campos simulados / mediciones experimentales sin procesar
        2. Adjuntar scripts de post-procesamiento
        3. Documentar formato, unidades y mallas
        4. Licenciamiento y políticas de acceso abierto / restringido
        5. DOIs y citabilidad académica
        6. Versionado del dataset publicado
        7. Subconjuntos reducidos para descarga práctica
        8. Inclusión de incertidumbre asociada
        9. Curación en repositorios institucionales / comunitarios
        10. Reusabilidad por otros grupos de investigación
      9. Replicación de resultados publicados
        1. Re-ejecución independiente del experimento numérico original
        2. Reproducción del análisis estadístico / gráfico
        3. Comparación de métricas clave y conclusiones científicas
        4. Identificación de dependencias ocultas o supuestos no declarados
        5. Validación de afirmaciones antes de basar trabajo futuro en ellas
        6. Incentivos académicos a la replicación
        7. Reportes de reproducibilidad como material suplementario
        8. Cultura de resultados verificables, no solo “impresionantes”
        9. Compartición de pipelines CI científicos que regeneran figuras
        10. Refuerzo de confianza en simulaciones predictivas de alto impacto
    17. Metodologías de desarrollo de software científico
      1. Diseño modular y orientado a componentes físicos
        1. Separar fenómenos físicos (fluido, calor, química) en módulos claros
        2. Interfaces explícitas entre módulos acoplados
        3. Reemplazo de submodelos sin reescribir todo el solver
        4. Reutilización de módulos entre proyectos distintos
        5. Evitar dependencias circulares entre componentes físicos
        6. Control de versiones por módulo físico
        7. Claridad entre “modelo físico” y “infraestructura numérica”
        8. Posibilidad de probar cada módulo de forma aislada
        9. Desacople entre física y hardware específico
        10. Facilitar contribuciones de especialistas de dominio
      2. Separación entre física, discretización y solver
        1. Capa física continua (leyes PDE / EDP)
        2. Capa de discretización (FEM, FDM, FV)
        3. Capa de resolución algebraica (solvers lineales / no lineales)
        4. Intercambiabilidad de solvers sin cambiar la física base
        5. Comparación objetiva entre discretizaciones distintas
        6. Tuning independiente de la parte algebraica
        7. Limpieza conceptual para depurar
        8. Portabilidad del solver a nuevas arquitecturas
        9. Mejora incremental de cada capa sin romper las otras
        10. Reutilización del solver en múltiples dominios físicos
      3. Testing automatizado para kernels numéricos
        1. Tests unitarios de kernels matemáticos críticos
        2. Tests de regresión numérica (comparar con resultados previos)
        3. Tests de conservación/invariantes físicos
        4. Tests de convergencia de orden conocido
        5. Tests de estabilidad bajo pasos extremos
        6. Tests con precisión simple vs doble
        7. Tests en CPU y GPU para validar equivalencia
        8. Tests deterministas para reproducibilidad
        9. Tests de rendimiento mínimo aceptable
        10. Integración automática de tests en CI
      4. Validación continua y pipelines de CI científicos
        1. CI que ejecuta simulaciones reducidas de referencia
        2. Comparación automática con resultados esperados tolerancia ε
        3. Alertas cuando se rompe estabilidad numérica o conservación
        4. Generación de artefactos (figuras, métricas) como parte del CI
        5. Publicación de reportes CI accesibles al equipo científico
        6. Uso de contenedores/entornos fijos para CI reproducible
        7. Control de dependencias numéricas (librerías BLAS/MPI)
        8. Versionado de hardware virtualizado / emulado en CI
        9. CI con pruebas en GPU/accelerators
        10. Bloquear merges que degraden validación física clave
      5. Refactorización dirigida por rendimiento
        1. Identificación de kernels cuello de botella antes de refactorizar
        2. Limpieza de código orientada a vectorización / paralelización
        3. Remover abstracciones que impiden optimización crítica
        4. Mantener claridad científica pese a micro-optimizaciones
        5. Establecer métricas de performance objetivo
        6. Iteraciones guiadas por perfilado objetivo, no intuición
        7. Documentar el impacto de cada refactor sobre rendimiento
        8. Evitar regresiones numéricas tras refactor
        9. Balance entre legibilidad y velocidad extrema
        10. Minimizar la deuda técnica “de rendimiento”
      6. Documentación técnica y manuales de usuario científico
        1. Documentar supuestos físicos y rangos de validez
        2. Documentar ecuaciones discretizadas exactamente usadas
        3. Manual de entrada/salida (input decks, formatos de resultados)
        4. Guía de compilación e instalación en distintos clusters
        5. Ejemplos mínimos reproducibles
        6. Árbol de dependencias externas (MPI, BLAS, etc.)
        7. Advertencias sobre condiciones de borde delicadas
        8. Buenas prácticas de post-procesamiento
        9. Notas de versión con cambios científicos relevantes
        10. FAQ de estabilidad numérica y tuning
      7. Notebooks reproducibles y cuadernos ejecutables
        1. Uso de notebooks (Jupyter, etc.) enlazados a datos y código concretos
        2. Ejecución paso a paso documentada
        3. Captura de parámetros y resultados intermedios
        4. Generación automática de figuras para papers
        5. Comparación visual entre corridas
        6. Reproducibilidad del entorno (requirements, environment.yml)
        7. Compartición entre investigadores sin recompilar todo
        8. Versionado de notebooks como artefactos científicos
        9. Conversión a reportes PDF/HTML para difusión
        10. Riesgos de “código mutable” y necesidad de sellar versiones
      8. Automatización de campañas de simulación
        1. Barrido sistemático de parámetros (sweeps)
        2. Lanzamiento masivo de jobs en colas HPC
        3. Recolección automática de resultados y métricas clave
        4. Reintentos automáticos en caso de fallo de nodo
        5. Trazabilidad de qué job corresponde a qué punto en el espacio de parámetros
        6. Optimización adaptativa guiada por resultados previos
        7. Priorización dinámica de regiones “interesantes”
        8. Generación de mapas de fase / diagramas paramétricos
        9. Limpieza automática de resultados parciales corruptos
        10. Reportes ejecutivos de avance de campaña
      9. Gestión de configuraciones y barridos de parámetros
        1. Definir claramente parámetros físicos vs parámetros numéricos
        2. Plantillas de configuración con placeholders
        3. Versionado de cada set de parámetros probado
        4. Almacenamiento estructurado (YAML/JSON) para reproducibilidad
        5. Comparación automática entre configuraciones cercanas
        6. Rastreo de sensibilidad de cada parámetro
        7. Evitar combinaciones físicamente inválidas
        8. Reutilización de configuraciones históricas validadas
        9. Reanálisis rápido de configuraciones antiguas con hardware nuevo
        10. Generación automática de documentación del barrido
      10. Portabilidad entre supercómputo on-premise y entornos de investigación
        1. Empaquetar solvers y dependencias en contenedores reproducibles
        2. Adaptar a colas/planificadores distintos (SLURM vs PBS vs LSF)
        3. Asegurar que el código escala también en hardware académico más pequeño
        4. Mantener rendimiento razonable sin hardware exótico
        5. Sincronizar datasets entre instalaciones diferentes
        6. Estandarizar módulos de compilación y toolchains
        7. Soporte a aceleradores heterogéneos según el centro
        8. Portar pipelines de CI/CD científico a entornos restringidos
        9. Documentar dependencias propietarias / licencias
        10. Compartir binarios optimizados con colaboradores externos
    18. Computación de precisión mixta y aproximada
      1. Precisión simple, doble y extendida
        1. Trade-off entre costo computacional y precisión numérica
        2. Uso de precisión simple (FP32) vs doble (FP64) en distintos dominios físicos
        3. Precisión extendida para problemas extremadamente rígidos
        4. Impacto en la estabilidad de métodos iterativos
        5. Cambios en el error de redondeo acumulado
        6. Requerimientos regulatorios o científicos de precisión mínima
        7. Compatibilidad con librerías BLAS/LAPACK optimizadas
        8. Métricas de error aceptable según el fenómeno simulado
        9. Elección de precisión al generar resultados publicables
        10. Uso estratégico de precisión alta solo en pasos críticos
      2. Precisión mixta en solvers iterativos
        1. Precondicionador en baja precisión + refinamiento en alta precisión
        2. Iterative refinement
        3. Cálculo de productos matriz-vector en baja precisión
        4. Acumulación de sumas en mayor precisión para estabilidad
        5. Uso de half / BF16 en kernels acelerados
        6. Corrección final en doble precisión
        7. Aprovechamiento de tensor cores / aceleradores matriciales
        8. Control de pérdida de ortogonalidad en métodos de Krylov
        9. Validación de residuo real vs residuo en precisión reducida
        10. Detección automática de cuándo subir precisión
      3. Reducción de precisión en kernels críticos
        1. Identificar kernels dominantes en costo total
        2. Medir sensibilidad física del resultado a errores locales
        3. Bajar precisión solo donde el impacto científico es menor
        4. Generar versiones alternativas del mismo kernel por precisión
        5. Evaluar ganancia en FLOP/s y ahorro energético
        6. Validar que las conclusiones científicas no cambian
        7. Uso en cómputo en tiempo casi real
        8. Integración con auto-tuning para elegir precisión ideal
        9. Documentación de la pérdida de fidelidad introducida
        10. Mecanismos de rollback a precisión alta en regiones inestables
      4. Cómputo aproximado y tolerante a error
        1. Aceptar resultados con error controlado a cambio de gran aceleración
        2. Algoritmos aproximados para kernels lineales / solvers parciales
        3. Métodos probabilísticos como sustituto de cálculo determinista exacto
        4. Uso de muestreo estadístico como estimador en vez de cálculo exacto
        5. Técnicas de recorte de precisión espacial/temporal en simulaciones
        6. Ajuste dinámico del nivel de aproximación según fase de la simulación
        7. Monitoreo de desviaciones respecto a un baseline de alta fidelidad
        8. Adecuación para análisis exploratorio y screening de parámetros
        9. Riesgos en estudios finales o certificables
        10. Balance entre ciencia exploratoria vs ciencia regulada
      5. Estrategias de reescalado numérico
        1. Normalización de variables para evitar overflow/underflow
        2. Escalamiento adimensional de ecuaciones físicas
        3. Reescritura de ecuaciones para mejorar el condicionamiento
        4. Centrados y shifts para valores extremadamente grandes o pequeños
        5. Evitar cancelación catastrófica en restas casi iguales
        6. Mantener magnitudes similares entre términos sumados
        7. Reescalar campos físicos en unidades convenientes
        8. Seguimiento explícito de cambios de escala en el posprocesamiento
        9. Ajuste dinámico de escala durante simulación larga
        10. Documentación rigurosa del reescalado aplicado
      6. Propagación controlada de error
        1. Modelar cómo se amplifican los errores numéricos paso a paso
        2. Estimar cotas superiores de error total
        3. Detectar cuándo el error acumulado invalida la simulación
        4. Métodos adaptativos que refinan precisión cuando el error crece
        5. Ajustar paso temporal / tamaño de malla según el error estimado
        6. Comparar soluciones sucesivas para medir deriva
        7. Reportar barras de error en resultados científicos
        8. Separar incertidumbre física real vs error numérico
        9. Validar robustez de conclusiones frente a propagación de error
        10. Uso en toma de decisiones basada en simulación
      7. Aritmética estocástica y detección de inestabilidades
        1. Inyección de ruido aleatorio controlado en operaciones aritméticas
        2. Identificación de sensibilidad extrema a pequeñas perturbaciones
        3. Estimación estadística de estabilidad numérica
        4. Detección de cancelación catastrófica mediante perturbación aleatoria
        5. Cuantificación de confianza en resultados finales
        6. Comparación entre ejecuciones con ruido distinto
        7. Uso como herramienta de validación de robustez numérica
        8. Integración con análisis de incertidumbre
        9. Priorización de mejoras de estabilidad donde más se necesita
        10. Evaluación previa a publicar resultados críticos
    19. Resiliencia y tolerancia a fallos en HPC
      1. Checkpointing y reinicio
        1. Guardar el estado completo de la simulación periódicamente
        2. Reanudar tras fallo sin reiniciar desde t=0
        3. Tamaño y frecuencia de checkpoints como trade-off costo/riesgo
        4. Checkpoints consistentes entre múltiples procesos MPI
        5. Checkpoints comprimidos / diferenciales
        6. Almacenamiento distribuido tolerante a fallos
        7. Automatización del proceso de dump y restore
        8. Validación de integridad del checkpoint
        9. Checkpoint incremental vs completo
        10. Impacto en rendimiento global
      2. Checkpointing incremental y diferencial
        1. Guardar sólo las diferencias desde el último checkpoint completo
        2. Reducir uso de ancho de banda y almacenamiento
        3. Trackeo de páginas/variables modificadas
        4. Reconstrucción del estado combinando base + deltas
        5. Encriptación y compresión selectiva de deltas
        6. Menor impacto en simulaciones ultralargas
        7. Tiering de checkpoints (rápido local vs almacenamiento frío)
        8. Checkpoint adaptativo basado en criticidad del momento físico
        9. Coordinación con planificador de jobs
        10. Recuperación rápida tras cortes breves
      3. Algoritmos tolerantes a fallos (ABFT)
        1. Insertar redundancia matemática en el cálculo (checksums)
        2. Detección de errores silenciosos en álgebra lineal
        3. Corrección parcial sin reiniciar todo el cómputo
        4. ABFT en multiplicación de matrices distribuidas
        5. ABFT en solvers iterativos
        6. Trade-off entre sobrecosto computacional y resiliencia
        7. Detección temprana de corrupción de datos en RAM/GPU
        8. Integración con hardware con ECC
        9. Extensión a topologías de comunicación complejas
        10. Uso en ambientes exascale con fallos frecuentes
      4. Replicación activa de tareas críticas
        1. Ejecutar en paralelo la misma tarea en nodos distintos
        2. Comparar resultados para detectar corrupción silenciosa
        3. Fallback inmediato al resultado sano si uno falla
        4. Replicación selectiva: sólo para etapas críticas o irrepetibles
        5. Costos de duplicar/triplicar cómputo
        6. Detección de fallos transitorios de hardware
        7. Recuperación rápida sin esperar reintentos largos
        8. Validación de consistencia en tiempo (latencia similar)
        9. Uso en simulaciones que alimentan control en tiempo real
        10. Integración con colas HPC que asignan nodos redundantes
      5. Detección y corrección de bit flips
        1. Errores de un solo bit en memoria (soft errors por radiación cósmica)
        2. Uso de memoria ECC para corrección automática
        3. Monitoreo de tasas de error por nodo
        4. Reejecución de kernels numéricos sospechosos
        5. Validación de integridad de datos críticos en GPU
        6. Identificación de hardware degradado
        7. Limpieza / reinicio preventivo de nodos problemáticos
        8. Políticas de cuarentena de nodos “ruidosos”
        9. Registro para análisis de confiabilidad a largo plazo
        10. Priorización de nodos más confiables para simulaciones sensibles
      6. Recuperación tras caídas parciales de nodo
        1. Continuar ejecución con menos recursos activos
        2. Redistribución dinámica de dominio espacial entre nodos restantes
        3. Reinicialización de procesos fallidos sin matar el job completo
        4. Rebalanceo de carga después del fallo
        5. Preservación de datos en memoria del resto del clúster
        6. Coordinación con planificador (SLURM, PBS) para reasignar nodos
        7. Reconstrucción de halos/fronteras perdidas
        8. Salvaguarda de resultados parciales producidos hasta el fallo
        9. Registro del evento de fallo como parte de la trazabilidad científica
        10. Métricas de resiliencia por aplicación
      7. Elasticidad bajo fallos a escala masiva
        1. Jobs que sobreviven fallos frecuentes en sistemas exascale
        2. Ajuste dinámico del número de procesos MPI
        3. Reasignación de tareas a nodos sanos en caliente
        4. Mantener eficiencia paralela pese a pérdida de nodos
        5. Escalado hacia abajo temporal para estabilizar
        6. Prevención de cascadas de fallos
        7. Integración con tolerancia a fallos del runtime de ejecución
        8. Políticas automáticas de “graceful degradation”
        9. Toma de decisiones basada en criticidad científica vs costos de rescate
        10. Métricas de disponibilidad efectiva de cómputo útil
      8. Reconfiguración dinámica de trabajos a mitad de ejecución
        1. Cambiar el layout de procesos sin reiniciar
        2. Migración de subdominios entre nodos activos
        3. Ajuste del tamaño de timestep / mallado según recursos actuales
        4. Apagar etapas no críticas para salvar el experimento principal
        5. Preservar coherencia de datos tras la reasignación
        6. Actualización “hot” de parámetros de simulación
        7. Cambiar prioridades de colas en vivo
        8. Telemetría continua para decidir reconfiguración
        9. Validación de que la física simulada sigue siendo válida
        10. Documentación automática de la reconfiguración para trazabilidad
    20. Computación científica en tiempo real y alta fidelidad
      1. Simulación en línea para control experimental
        1. Ejecutar simulación predictiva junto a un experimento físico en curso
        2. Ajustar parámetros del experimento en vivo según predicciones
        3. Exigir latencia mínima y cálculo determinista
        4. Tolerancia cero a fallos prolongados
        5. Necesidad de modelos reducidos o surrogates ultra rápidos
        6. Sincronización temporal estricta con adquisición de datos
        7. Monitoreo continuo de desviaciones entre predicción y medición
        8. Alarmas en tiempo casi real
        9. Registro para auditoría científica y de seguridad
        10. Uso en física de plasma, aceleradores de partículas, reactores
      2. Gemelos digitales de sistemas físicos complejos
        1. Réplica numérica operativa de un sistema físico real
        2. Actualización continua con datos sensados
        3. Predicción de fallos y mantenimiento preventivo
        4. Evaluación de escenarios hipotéticos sin intervenir el sistema real
        5. Ajuste continuo del modelo con ML + física
        6. Integración de múltiples dominios físicos acoplados
        7. Requerimientos de cómputo casi en vivo
        8. Escalado desde equipos individuales hasta infraestructuras industriales
        9. Cuestiones de ciberseguridad en gemelos digitales conectados
        10. Trazabilidad para decisiones operativas críticas
      3. Control predictivo basado en simulación
        1. Uso de modelos numéricos para predecir el estado futuro
        2. Optimización de la acción de control bajo restricciones físicas
        3. MPC (Model Predictive Control) resuelto continuamente
        4. Reducción de orden del modelo para cumplir ventanas de tiempo
        5. Fusión con sensores en lazo cerrado
        6. Reacción rápida ante perturbaciones externas
        7. Garantías de estabilidad bajo incertidumbre
        8. Validación de seguridad antes de aplicar el control
        9. Co-ejecución en hardware dedicado en planta / laboratorio
        10. Adherencia a normativas de operación segura
      4. Fusión de datos experimentales en vivo con modelos numéricos
        1. Asimilación de datos (data assimilation) en tiempo casi real
        2. Kalman filters / EnKF / filtros de partículas para estimar estado
        3. Corrección continua de estados simulados
        4. Reconstrucción de campos no directamente medidos
        5. Uso en clima, fusión nuclear, biología in vivo
        6. Requisitos de latencia estrictos en la ingesta de datos
        7. Balance entre robustez estadística vs velocidad
        8. Control de ruido y outliers en señales experimentales
        9. Validación de plausibilidad física tras asimilar datos
        10. Escalado a redes distribuidas de sensores
      5. Procesamiento en el borde de instrumentos científicos
        1. Cómputo cerca del dispositivo que genera datos (beamlines, telescopios, microscopios)
        2. Filtrado y compresión en la frontera para reducir ancho de banda
        3. Detección temprana de eventos interesantes
        4. Decidir qué datos guardar y cuáles descartar
        5. Latencia ultrabaja para experimentos costosos en tiempo de haz
        6. Integración con clusters HPC centrales para post-procesamiento profundo
        7. Limitaciones de energía / espacio físico en el borde
        8. Robustez ante desconexiones intermitentes
        9. Seguridad física y lógica del nodo perimetral
        10. Cumplimiento normativo en instrumentación científica sensible
      6. Reducción automática de datos bajo latencia estricta
        1. Post-procesamiento inmediato de datos brutos en tiempo real
        2. Extracción de features relevantes en vivo
        3. Eliminación de datos redundantes o de poco valor científico
        4. Priorización de eventos raros / críticos
        5. Uso de inferencia acelerada (GPU/FPGA) para clasificación inmediata
        6. Políticas de retención adaptativas basadas en contexto experimental
        7. Minimizar IO a almacenamiento lento
        8. Garantizar que nada importante se pierda sin revisión humana
        9. Registro de criterios usados para descartar datos
        10. Capacidad de “replay” de ventanas temporales recientes
      7. Sistemas de alerta temprana basados en simulación
        1. Predicción de condiciones peligrosas o inestables antes de que ocurran
        2. Modelos físicos + ML para identificar umbrales críticos
        3. Alertas operacionales automáticas para personal humano
        4. Validación continua para evitar falsas alarmas dañinas
        5. Priorización de alarmas según severidad
        6. Integración con protocolos de seguridad industrial / laboratorio
        7. Registro y auditoría de alertas emitidas
        8. Evaluación post-evento de efectividad de la alerta
        9. Ajuste fino de umbrales bajo nuevas condiciones
        10. Uso en sismología, operación de reactores, clima extremo
    21. Ética, gestión y política científica en HPC
      1. Priorización de acceso a recursos de supercómputo
        1. Políticas de asignación de horas de cómputo entre proyectos
        2. Evaluación de mérito científico vs urgencia aplicada (por ejemplo, clima extremo)
        3. Equilibrio entre investigación básica y proyectos industriales
        4. Acceso justo para equipos pequeños / emergentes
        5. Transparencia en criterios de priorización
        6. Mecanismos de apelación / revisión por pares
        7. Impacto en carreras científicas y publicación
        8. Incentivos a compartir resultados y herramientas
        9. Reservas de emergencia para uso crítico inmediato
        10. Minimizar captura de recursos por pocos actores dominantes
      2. Cuotas de uso y gobernanza de clústeres compartidos
        1. Cuotas de CPU/GPU/almacenamiento por grupo
        2. Límites de prioridad en colas de trabajo
        3. Fairness entre usuarios concurrentes
        4. Penalización por abuso o uso ineficiente
        5. Monitoreo de consumo en tiempo casi real
        6. Reportes contables para sponsors / agencias
        7. Auditoría de compliance con acuerdos institucionales
        8. Planificación de capacidad a largo plazo
        9. Transparencia en costos internos imputados
        10. Políticas para proyectos colaborativos multi-institución
      3. Transparencia y trazabilidad de resultados numéricos
        1. Exigir reporte completo de configuración y parámetros
        2. Exigir publicar scripts de post-procesamiento
        3. Documentar las hipótesis físicas asumidas
        4. Reportar incertidumbre y sensibilidad
        5. Incluir detalles de hardware y librerías usadas
        6. Garantizar que los resultados sean auditables por terceros
        7. Evitar “caja negra” en hallazgos con implicancias públicas
        8. Asegurar interpretabilidad mínima en modelos de IA aplicados a física
        9. Mantener trazabilidad temporal (cuándo se generó el resultado)
        10. Declarar conflictos de interés tecnológicos / comerciales
      4. Reproducibilidad como criterio de publicación científica
        1. Requerir datos y código (o ejecutables verificables) junto al paper
        2. Requerir seeds y configuraciones exactas
        3. Requerir instrucciones de ejecución
        4. Revisiones por pares que incluyan intento de réplica
        5. Incentivar repositorios abiertos y DOIs permanentes
        6. Penalizar prácticas irreproducibles en revistas/conferencias
        7. Métricas de reproducibilidad declaradas en el artículo
        8. Cultura de “resultados confiables” más que “resultados espectaculares”
        9. Facilitar badges / certificaciones de reproducibilidad
        10. Evitar dependencia de infraestructura propietaria inaccesible al revisor
      5. Sostenibilidad energética del supercómputo
        1. Consumo energético de centros HPC a escala MW
        2. Eficiencia FLOP/J como métrica clave
        3. Recuperación y reutilización de calor residual
        4. Ubicación geográfica con acceso a energía limpia
        5. Programación de cargas intensivas en horas de menor costo energético
        6. Ajuste dinámico de frecuencia/voltaje (DVFS) para bajar consumo
        7. Migración de workloads a hardware más eficiente energéticamente
        8. Evaluación del costo ambiental de simulaciones gigantes
        9. Reportes de huella de carbono asociados a publicaciones científicas
        10. Incentivos institucionales a eficiencia computacional
      6. Huella de carbono del entrenamiento masivo de modelos
        1. Entrenamiento de modelos gigantes (miles de GPUs) y su consumo
        2. Comparar beneficio científico vs costo ambiental
        3. Uso de técnicas de eficiencia (pruning, distillation)
        4. Entrenamiento continuo vs fine-tuning incremental
        5. Reutilización de modelos pre-entrenados en vez de entrenar desde cero
        6. Transparencia sobre costo energético declarado en papers
        7. Optimización de scheduling para energías más limpias
        8. Diseño de arquitecturas de red más eficientes
        9. Balance entre precisión marginal y costo energético exponencial
        10. Políticas institucionales para limitar derroche computacional
      7. Manejo responsable de datos sensibles y confidenciales
        1. Datos biomédicos, climáticos estratégicos, o industriales propietarios
        2. Controles de acceso estrictos en almacenamiento HPC
        3. Anonimización / seudonimización de datos
        4. Cifrado en tránsito y en reposo
        5. Auditorías de acceso a datasets sensibles
        6. Cumplimiento regulatorio (privacidad, export controls)
        7. Limitación de copia / exfiltración de datos
        8. Entornos aislados para análisis seguro
        9. Procedimientos de borrado seguro de datos expirados
        10. Balance entre apertura científica y protección ética/legal
      8. Transferencia tecnológica hacia la industria
        1. Llevar simulación avanzada y HPC del laboratorio a aplicaciones reales
        2. Validación regulatoria de modelos numéricos para uso industrial
        3. Creación de herramientas de ingeniería basadas en solvers HPC
        4. Propiedad intelectual y licenciamiento
        5. Colaboraciones público-privadas en supercómputo
        6. Formación de personal técnico especializado transferible a industria
        7. Democratización de capacidades HPC vía servicios gestionados
        8. Impacto económico y competitivo de la simulación avanzada
        9. Responsabilidad sobre decisiones automatizadas basadas en simulación
        10. Estándares de seguridad, confiabilidad y ética en la adopción industrial
Última modificación October 27, 2025: changes (85a7032)