Do you have a background in HPC, parallel programming, and vectorization? Do you enjoy the challenge of improving the performance of computational code? Do you want to help enable and advance computational research by optimizing research software? If so, Princeton University’s Research Computing Department is recruiting a Performance Tuning Analyst to join the Research Software Engineering (RSE) Group.
In the RSE Group, we collectively provide computational research expertise to multiple divisions within the University. As a central team of software experts, we are focused on improving the quality, performance, and sustainability of Princeton’s computational research software. Our group is committed to building collaborative environments in which the best software engineering practices are valued, and to sharing and applying cross-disciplinary computational techniques in new and emerging areas. With this new position we are looking to expand our performance tuning expertise and capability.
In this role, you will collaborate with researchers from across multiple domains to accelerate active research code. You’ll meet with research groups to understand goals and current limitations, identify code that is in need of tuning, profile the code, and identify any bottlenecks. With the results of this process, you’ll work both independently, as well as with researchers and RSEs, to develop new algorithms, increase parallelization and/or vectorization, to ultimately reduce the time to solution. In many cases, the performance improvements you’ll make will enable researchers to produce fundamentally new results.
If you have a strong background in scientific computing, high performance computing, and experience making improvements to the performance of research code then you have the right skill set to make an immediate impact on multiple high-profile research projects. You will be poised to grow and expand your knowledge of current and future high-performance computing processors and accelerators and your expertise into a dynamic new set of computational research problems.
This position will require you to work closely with colleagues in Research Computing as well as with faculty, student/postdoctoral researchers, and technical staff in academic departments to enable and accelerate their research computing efforts.
A bachelor's degree in computer science, engineering, sciences, or related computational field required or a Masters/Ph.D. in computer science, applied science, or other related field with a strong computational focus preferred.
Princeton University is an Equal Opportunity/Affirmative Action Employer and all qualified applicants will receive consideration for employment without regard to age, race, color, religion, sex, sexual orientation, gender identity or expression, national origin, disability status, protected veteran status, or any other characteristic protected by law. EEO IS THE LAW