Deloitte
Normal Computing Corporation
Ingeniero de Runtime
El puesto
Normal Computing | Construye con nosotros
Normal es una empresa de IA aplicada que resuelve los problemas más complejos en IA y semiconductores. Desarrollamos hardware y software fundamentales para la industria de semiconductores, infraestructura crítica de IA y los sistemas más amplios que impulsan nuestro mundo, en colaboración con las instituciones más avanzadas a nivel global. Trabajamos como un solo equipo en Nueva York, Silicon Valley (Mountain View), Londres, Copenhague y Seúl.
El hardware de Normal ejecuta las partes de la inferencia de modelos grandes que más dependen de la memoria directamente en la memoria, en lugar de transferir pesos a un procesador. El software que hace esto programable aún no existe de forma estándar. El runtime es la capa a través de la cual se ejecuta el resto de ese software: es la forma en que los programas compilados se cargan, programan y ejecutan en nuestro hardware. Serás responsable de su diseño y gran parte de su implementación, además de definir su dirección técnica.
Este es un puesto senior y práctico. Nuestro chip se encuentra en fase pre-silicio, por lo que construirás el runtime sobre nuestros simuladores y prototipos FPGA primero, bajo una única interfaz, para que el software por encima del runtime no cambie cuando llegue el silicio.
De qué serás responsable
- Arquitectura del Runtime: Responsable del diseño del runtime: gestión de dispositivos, asignación de memoria y transferencia host-dispositivo, carga de ejecutables y envío de comandos. El éxito significa que el compilador y las capas de servicio programan nuestro hardware a través de una interfaz estable.
- Abstracción de Hardware: Ocultar las diferencias entre simuladores, prototipos FPGA, silicio y futuras generaciones de hardware detrás de esa interfaz.
- Estado del Dispositivo: Gestionar el estado que reside en nuestro hardware entre solicitudes, como los pesos de los modelos residentes, para que la capa de servicio pueda depender de ello.
- Rendimiento: Mantener la sobrecarga del runtime fuera de la ruta crítica para la inferencia de LLM, medido por la latencia y el rendimiento de extremo a extremo.
- Interfaces entre equipos: Definir el límite con el compilador por encima del runtime, y con el controlador y el firmware por debajo, de los cuales es responsable nuestro equipo de hardware.
- Liderazgo Técnico: Establecer la dirección técnica del runtime, revisar diseños que dependan de él y trabajar con ingenieros de compiladores y de servicio para asegurar que la interfaz les sea útil.
Qué te hace un candidato ideal
- Experiencia en la creación de runtimes, controladores o capas de abstracción de hardware para aceleradores u otro hardware no estándar.
- Sólida programación de sistemas en C++ o Rust: gestión de memoria, concurrencia y rendimiento de bajo nivel.
- Historial de responsabilidad sobre un componente de sistemas complejo de principio a fin, desde el diseño hasta la producción, e impulsando decisiones técnicas entre equipos.
- Comprensión de las cargas de trabajo de inferencia de LLM y lo que requieren de un runtime.
- Comodidad construyendo software para hardware que aún está en evolución, desde la simulación hasta la puesta en marcha.
Puntos extra
- Experiencia con diseños de runtime abiertos como HAL de IREE, o con los internos de runtime de CUDA o ROCm.
- Experiencia con computación en memoria u otro hardware no von Neumann.
- Experiencia integrando un runtime con un servidor de inferencia como vLLM.
- Contribuciones a infraestructura de sistemas o runtime de código abierto.
Declaración de Igualdad de Oportunidades en el Empleo
Normal Computing es un empleador que ofrece igualdad de oportunidades. Celebramos la diversidad y estamos comprometidos a crear un entorno inclusivo para todos los empleados. Todos los candidatos cualificados serán considerados para el empleo sin distinción de raza, color, religión, sexo, orientación sexual, identidad de género, origen nacional, discapacidad, condición de veterano o cualquier otro estatus legalmente protegido.
Adaptaciones por accesibilidad
Normal Computing se compromete a proporcionar adaptaciones razonables a personas con discapacidad. Si necesitas asistencia o una adaptación debido a una discapacidad, por favor háznoslo saber en accommodations@normalcomputing.com.
Aviso de privacidad
Al enviar tu solicitud, aceptas que Normal Computing pueda recopilar, utilizar y almacenar tu información personal para fines relacionados con el empleo de acuerdo con nuestro Aviso de Privacidad para Candidatos.
