Acerca del puesto
Acerca de Turing
Con sede en San Francisco, California, Turing es el acelerador de investigación líder mundial para laboratorios de IA de frontera y un socio de confianza para empresas globales que despliegan sistemas avanzados de IA. Turing apoya a los clientes de dos maneras: primero, acelerando la investigación de frontera con datos de alta calidad, pipelines de entrenamiento avanzados y los mejores investigadores de IA especializados en programación, razonamiento, STEM, multilingüismo, multimodalidad y agentes; y segundo, aplicando esa experiencia para ayudar a las empresas a transformar la IA de prueba de concepto en inteligencia propietaria con sistemas que funcionan de manera confiable, generan un impacto medible y producen resultados duraderos en el estado de resultados (P&L).
Resumen del rol
Creamos datos de entrenamiento y benchmarks de ingeniería de hardware para laboratorios de IA de frontera. Como ingeniero de diseño front-end, conviertes trabajo real de RTL en tareas que miden qué tan bien los modelos de IA diseñan hardware: cada tarea tiene una especificación, un diseño inicial, una solución de referencia y las pruebas que la califican. En esta línea, construirás las tareas de diseño en sí: problemas de diseño RTL, corrección de errores y PPA (potencia, rendimiento, área) sobre IP real, calificados con los mismos flujos de simulación, síntesis y verificación de equivalencia que se usan para el tape out de chips. Este es fundamentalmente un rol de diseño front-end: escribes RTL, lo llevas por síntesis comercial y de código abierto, y puedes explicar por qué el área, el timing y la potencia resultaron como lo hicieron. Los artefactos que produces se convierten en la verdad fundamental (ground truth) de la que aprenden estos modelos y contra la que se miden. Tus especificaciones, soluciones de referencia y pruebas moldean lo que la próxima generación de modelos aprende sobre diseño digital, por lo que cada uno debe resistir el mismo escrutinio que un diseño que va a tape-out.
¿Cómo es el día a día?
- Crear tareas de diseño: convertir IP real en tareas precisas de diseño RTL, corrección de errores y optimización de PPA: la especificación, el punto de partida y una solución de referencia que cumpla todos los requisitos.
- Establecer el estándar de PPA: ejecutar síntesis comercial y de código abierto para establecer líneas base de área, potencia y timing, y fijar objetivos que recompensen la ingeniería real en lugar de configuraciones de herramientas afortunadas.
- Demostrar la corrección: crear las pruebas ocultas y las verificaciones de equivalencia que una solución debe superar, para que ningún diseño pueda sacrificar funcionalidad a cambio de un mejor número.
- Romper tus propias tareas: atacar cada tarea como lo haría un modelo (lógica eliminada, lagunas en las restricciones, casos límite no probados) y cerrar las brechas antes de que se lance.
Requisitos
- Educación: Licenciatura/Maestría en Ingeniería Eléctrica, Electrónica o en Computación, o experiencia práctica equivalente.
- Experiencia: 3+ años de diseño digital front-end en proyectos ASIC o FPGA, desde RTL hasta síntesis.
- Diseño RTL: dominio fluido de Verilog / SystemVerilog: microarquitectura, rutas de datos, FSMs, pipelines, FIFOs, cruces de dominios de reloj y clock gating.
- Síntesis y PPA: experiencia práctica en síntesis lógica con restricciones de timing. Lees informes de timing y de calidad de resultados y sabes qué cambio en el RTL o en las restricciones afecta el área, el timing o la potencia.
- EDA comercial: experiencia práctica en síntesis comercial en la industria, en investigación o en proyectos: Cadence Genus, Synopsys Design Compiler / Fusion Compiler o, para objetivos FPGA, AMD Vivado (incluidos los flujos de Vitis HLS).
- EDA de código abierto: experiencia práctica en síntesis de código abierto con Yosys, directamente o mediante un flujo OpenLane / LibreLane, y simulación de código abierto con Icarus Verilog o Verilator, directamente o con cocotb.
- Verificación: testbenches autoverificables en cocotb (Python) o SystemVerilog, y depuración a nivel de formas de onda.
- Programación de scripts: Python y Tcl para la automatización de flujos; con soltura en entornos Linux, Git y basados en Docker. Así se ejecuta cada tarea.
Ventajas de trabajar como freelance con Turing
- Trabajar en un entorno totalmente remoto.
- Oportunidad de trabajar en proyectos de IA de vanguardia con empresas líderes en LLM.
Detalles de la oferta
- Compromisos requeridos: mínimo de 40 horas por semana con una superposición diaria de 4 horas con PST.
- Tipo de contratación: asignación como contratista (sin licencia médica/remunerada)
- Duración del contrato: 2 meses (ajustable según la contratación)
- Ubicación:
Proceso de evaluación
- Entrevista de entrega