Hi all, Cray just opened up a position for a compiler person to work on LLVM. Details are below. I've been working in this group for over a decade now and it's a great team. The environment is very collegial and results-oriented. Engineers get significant projects to work on and have a direct impact in helping our customers tackle the largest and most challenging scientific problems in the world. While a lot of compiler work for high-performance computing overlaps with general compiler improvements, there are definitely features we've added that are pretty specific to supercomputing. It's an interesting space to work in, where the tradeoffs are sometimes much different than they are for more general computing workloads. In my time here I've done everything from developing new LLVM analysis and transformation passes to writing backends for new targets. Engineers have a lot of freedom and are encouraged to explore new ideas. Most of those ideas come out of real customer problems so you get some very real satisfaction that what you do makes a difference. Note that while the listing is for St. Paul, MN we will soon be moving our office a short distance away to the Mall of American in Bloomington, MN. So engineers will also be able to ride roller-coasters during our lunch breaks! Please feel free to e-mail me with questions. I will answer what I can. If you're interested in this position, please go to http://www.cray.com/company/careers, search for keyword 16-0127 to find this opportunity, and then click “Apply On-line” to create a profile and submit a resume. Best regards, -David --------- Requisition Number 16-0127 Title Software Engineer - Compiler Technology Location US-MN-St. Paul Position Type Full-Time Description Cray has an opening for a motivated and skilled software developer to join its Compiler development team. The Compiler Code Generation Engineer will work on improving the optimization and LLVM-based code generation phases of the Cray Fortran, C, and C++ compilers. This includes both significant research and product development activities, as Cray continues to advance the state of the art with automatic vectorization capabilities across a variety of architectures. This work includes the design and implementation of new compiler-based optimizations, enhancing the interface between the Cray optimizer and the LLVM-based code generator, adapting the compiler to new Cray architectures, and working to improve the overall quality of the compiler. Requirements Qualifications: · At least 3 years of experience in compiler development or equivalent combination of education and experience, particularly with regards to compiler optimization. · Background in high performance computing (HPC) architectures, including multiprocessing and vectorization, is highly desired. · Experience with the LLVM ecosystem is highly desired. · Proficiency writing in C++ and C is required. · Knowledge of Fortran is a plus. · B.S. Computer Science or similar discipline is required. Advanced degrees are welcome. · Experience in working with large projects, or an advanced thesis in an appropriate area. · Commitment to sound software engineering principles, outstanding problem solving skills, ability to work well in a cooperative development environment, and good written and verbal communications skills.