Amplify Energy Services LLC
Thunder Compute
El mundo está construyendo cantidades masivas de capacidad de GPU. Mientras tanto, las GPU desplegadas solo se utilizan al 20%.
Esto se debe a que las GPU no están virtualizadas, mientras que cualquier otro tipo de hardware sí lo está. Por ejemplo, las CPU y el almacenamiento se asignan a través de abstracciones virtuales que gestionan eficientemente el hardware físico, mientras que las GPU se asignan de forma estática sobre una base de uno a uno.
Thunder Compute está construyendo esta capa de virtualización para GPU. Hemos recaudado más de $17.5M de Matrix Partners, Y Combinator y destacados inversores ángeles de Coreweave, Microsoft, Cognition y Anthropic.
Las soluciones líderes para la infrautilización se sitúan en la capa de carga de trabajo y, por lo tanto, solo pueden optimizar casos de uso específicos. Creemos que la solución ideal de optimización de clústeres debe ser invisible para los desarrolladores y compatible con todas las cargas de trabajo; por lo tanto, debe situarse en la capa de sistemas.
Somos un equipo de investigadores de sistemas que estamos llevando a producción investigaciones de vanguardia sobre virtualización de GPU para construir esta capa de optimización de propósito general.
Concretamente, nuestra biblioteca de virtualización abstrae las GPU a través de redes TCP. Utilizamos una biblioteca shim de espacio de usuario, cargada mediante LD_PRELOAD, para interceptar las llamadas a CUDA y enviarlas a través de gRPC a un servidor host conectado a una GPU física en otro lugar del centro de datos.
Esto permite algo parecido a "Ceph para GPU": las GPU se convierten en recursos de red que pueden abstraerse, agruparse y asignarse dinámicamente a través de un clúster para mejorar la utilización sin requerir que los desarrolladores modifiquen sus cargas de trabajo.
Tu trabajo se centrará en construir los sistemas centrales de C++ detrás de nuestra capa de virtualización. Esto incluye la optimización del rendimiento de baja latencia, la depuración de sistemas distribuidos, la fiabilidad en producción y la investigación de nuevas técnicas para mejorar la utilización de las GPU.
Te harás cargo de sistemas complejos desde la experimentación inicial hasta el despliegue en producción. Algunos ejemplos de proyectos pueden incluir:
Pasarás tus días alternando entre los detalles técnicos de sistemas complejos y críticos para el rendimiento que están activos en producción. Una semana, podrías estar rastreando un error de sincronización en una carga de trabajo distribuida de CUDA; a la siguiente, podrías estar rediseñando una ruta de datos crítica para eliminar microsegundos de sobrecarga.
Este trabajo no es fácil. Combina las partes más difíciles de la investigación de sistemas y la ingeniería de producción.
Buscamos un talento excepcional en ingeniería de bajo nivel, una sólida ética de trabajo y una atención extrema al detalle. Debemos movernos rápido mientras entregamos código de sistemas fiable y de alta calidad.
Te unirás lo suficientemente pronto como para dar forma significativa a la arquitectura, los estándares de ingeniería y la dirección técnica de la empresa.
Trabajarás directamente con los fundadores en un problema de sistemas que define la categoría, con un camino corto entre escribir código y verlo ejecutarse en producción. Los sistemas que construyas formarán la base de una nueva capa de infraestructura para la computación con GPU.
Reportarás al cofundador y CTO Brian Model, anteriormente desarrollador cuantitativo en Citadel Securities
Este puesto es a tiempo completo y presencial, cinco días a la semana, en nuestra oficina en el centro de San Francisco
Se ofrece apoyo para la reubicación y patrocinio de visado
Plataforma de reclutamiento inverso para programadores