Heterogeneous Multicore Compiler Engineer
Mar 29, 2019 Xilinx Inc.,   San Jose, CA, United States

Application Link: https://careers.xilinx.com/jobs/3656684-heterogeneous-multicore-compiler-engineer



Xilinx develops highly flexible and adaptive processing platforms that enable rapid innovation across a variety of technologies - from the endpoint to the edge to the cloud. Xilinx is the inventor of the FPGA, hardware programmable SoCs and the ACAP (Adaptive Compute Acceleration Platform), designed to deliver the most dynamic processor technology in the industry and enable the adaptable, intelligent and connected world of the future in a multitude of markets including Data Center (Compute, Storage and Networking); Wireless/5G and Wired Communications; Automotive/ADAS; Emulation & Prototyping; Aerospace & Defense; Industrial Scientific & Medical, and others. Xilinx's core strengths simultaneously address major industry trends including the explosion of data, heterogeneous computing after Moore's Law, and the dawn of artificial intelligence (AI). 

Our global team is growing and we are looking for bold, collaborative and creative people to help us lead the industry transformation to build an adaptable intelligent world. We believe that by embracing diverse ideas, striving for excellence in all that we do, and working together as a unified team, we can accomplish anything. Come do your best work and live your best life as part of the ONEXILINX team!


Xilinx is looking for a world class Compiler Engineer to help us build the next-generation, parallel programming environment for current and future Xilinx devices, including the recently announced Versal ACAP. You will be working in a broad area creating compilers, debuggers and performance analysis tools to support heterogeneous systems consisting of processors and FPGA fabric.


As a member of the team, you will be responsible for design and implementation of parts of a heterogeneous, multi-core compiler. You will get a chance to tackle cutting-edge, interesting and challenging problems working on compilers for heterogeneous multicore systems.


Job requirements

  • BS/MS (PhD preferred) in CS/EE with a minimum of 6 years experience developing compilers and parallel programming environments.
  • Experience with various aspects of implementing compilers for programming languages. Good understanding of programming languages and parallel programming models.
  • Experience in implementing many of the following in production compilers:
    • Global optimization, dependence analysis, vectorization, auto-parallelization, inter-procedural analysis and optimization, profile-feedback optimization, language front-end design and implementation, and code generation. 
    • Building a good compiler framework.
    • LLVM experience. Experience with ARM compilers is a plus.
  • Solid understanding of machine architectures and micro-architectural performance considerations.
  • Experience with VLIW compilers and architectures a plus.
  • Experience with compiling for reconfigurable architectures a plus.
  • Demonstrated C/C++ programming skills with production system software.
  • An understanding of applications in one or more of the following domains is also desirable: Machine Learning, Wireless, Signal processing and Video.
  • Must be a hands-on person who takes initiative and does whatever is necessary to make a project successful.
  • Excellent written/verbal communication skills.
  • Proven ability to work with cross-functional and geographically distributed teams.
  • Team player with ability to work across a diverse team.