developing scalable library software using modern tools and languages for various numerical method
performance tuning, optimization, and benchmarking of algorithms on various architectures.
working closely with product management and other internal and external partners to understand feature and performance requirements and contribute to the technical roadmaps of libraries,
providing technical leadership and guidance to library engineers working with you,
find opportunities to improve library performance and abstractions that allow to re-architect code for reduced maintenance cost.
PhD or MSc’s degree in Computational Science, Computer Science, Applied Math, or related science or engineering field of study is preferred (or equivalent experience).
5+ years experience developing, debugging, and optimizing high-performance parallel numerical applications on modern computing platforms, with GPU acceleration using CUDA
Excellent C/C++ programming and software design skills
Proven experience in leading and completing software development projects.
Excellent collaboration, communication, and documentation habits.
Good knowledge of CPU and/or GPU hardware architecture,
Experience with adopting and advancing, software development practices such as CI/CD systems and project management tools such as JIRA,
Experience with working in a globally distributed organization,
Advanced skills in debugging, profiling, and testing for accuracy and performance,