La fragmentación del hardware para inteligencia artificial ha creado un problema silencioso pero costoso: cada nueva arquitectura —Apple Silicon, aceleradores personalizados, GPUs de distintos proveedores— exige reinventar las optimizaciones de bajo nivel que en el ecosistema CUDA tardaron años en madurar. Un equipo de Berkeley AI Research (BAIR) y Sky Lab acaba de demostrar que ese conocimiento puede migrarse automáticamente.
Su trabajo extiende K-Search, un marco de búsqueda evolutiva de kernels impulsado por IA, con un backend para MLX, el framework nativo de machine learning de Apple para sus chips M-series. La innovación central es una capa de traducción estructurada de CUDA a MLX que permite a K-Search tomar kernels CUDA existentes —atención, state space models, operaciones críticas— como base de conocimiento y adaptarlos a Apple Silicon, en lugar de partir de cero.
Los resultados son elocuentes: el kernel de atención generado alcanza un 0.97x frente a la implementación nativa de MLX optimizada a mano por expertos de Apple, y hasta 20x de aceleración en fase de prefill respecto a la implementación de referencia en PyTorch. En otras palabras, la IA recupera casi todo el rendimiento de décadas de ingeniería manual en una fracción del tiempo.
¿Por qué importa ahora? La industria entra en una era de heterogeneidad obligada. Las cargas de trabajo de IA ya no corren solo en tarjetas NVIDIA; los Macs con Apple Silicon son plataformas de inferencia y desarrollo reales, y proliferan aceleradores especializados (Groq, Tenstorrent, chips internos de hyperscalers). Cada ecosistema tiene su pila de software, sus intrincaciones de memoria unificada, sus unidades de tensor y sus modelos de programación. Portar kernels a mano no escala.
K-Search ataca el problema con una aproximación híbrida: usa la búsqueda evolutiva guiada por IA para explorar el espacio de optimizaciones —tiling, fusion, uso de shared memory, orden de acceso— pero semilla esa búsqueda con patrones probados en CUDA. La capa de traducción no mapea instrucción a instrucción; mapea «estrategias de optimización»: si en CUDA un kernel usa doble buffering en shared memory para ocultar latencia, K-Search busca el análogo en MLX (async copy + double buffer en unified memory) y lo valida empíricamente.
Esto cambia la economía del desarrollo de kernels. Un equipo que antes necesitaba especialistas por arquitectura puede mantener una base de conocimiento en CUDA —el lingua franca actual— y dejar que la búsqueda automática derive implementaciones nativas para cada target. El costo marginal de soportar una nueva plataforma cae drásticamente.
Quedan preguntas abiertas. La capa de traducción cubre hoy un subconjunto de patrones CUDA; operaciones con control de flujo complejo o dependencias de hardware específico (p.ej., TMA en Hopper) aún requieren intervención humana. Tampoco está claro cómo se generaliza a arquitecturas radicalmente distintas (procesadores en memoria, accelerators dataflow). Pero la dirección es clara: la optimización de kernels deja de ser un oficio artesanal por arquitectura para convertirse en un problema de búsqueda guiada por conocimiento transferible.
Para los ingenieros de ML en español, la señal es práctica: MLX deja de ser un framework de nicho para inferencia en Mac y se posiciona como target viable de alto rendimiento para cargas de entrenamiento e inferencia personalizadas, siempre que se adopten flujos de trabajo que aprovechen esta nueva capa de portabilidad. El código y los experimentos están abiertos en el repositorio de Sky Lab; la siguiente iteración promete soportar más backends (Metal, Triton, CUDA Graphs) y cerrar la brecha del 3% que queda frente al experto humano.