MS degree in computer science focusing on compiler implementation, with minimum of 2+ years' hands-on experience developing optimizing compilers. Working knowledge of compiler phase structures, program representation, program optimization and transformation techniques, code generation, instruction and loop level parallelism, thread-level parallelism, process-level parallelism, vectorization. Experience and background in the following areas are beneficial: x86/x64 instruction set & register architectures, GNU compiler implementation, OpenMP, MPI, Fortran and C++ language features, and CPU micro-architectures.
Experience with some High-Performance Computing applications area or HPC software development is a plus, as is experience in porting and tuning complex scientific or engineering applications in a cluster environment. Experience with parallel computing with either MPI or OpenMP, and being able to tune the code and system for scalability is desirable. At least two years of experience in a computer systems or software company is desirable.
The candidate needs hands-on knowledge of compilers, Linux or Unix, and performance tools. Strong analytical problem solving skills are necessary. Good communications skills are an advantage. This individual will be responsible for our compiler code generators and submission of benchmark and customer code performance results both internally and externally
Position available immediately. Must be willing to relocate to the Rochester, MI area.
Candidates having any mix of the skills and experience listed above may be eligible for open positions.
|