About The Role
As a core software developer, you will directly impact how scientific computing applications are executed on CPUs, GPUs to our own hardware. In this position, you will develop software for compilation, optimization, execution, acceleration, debugging, profiling, and/or integration of scientific computing applications.
Responsibilities
- Develop software in C++, CUDA or Python to optimize, compile, and/or execute scientific computing applications and numerical solutions to complex partial differential equations.
- Measure, analyze, debug, and improve the software stack that supports these models
- Integrate and deploy successful improvements into production software releases and to customers
Requirements
- Strong proficiency in C/C++, CUDA and Python
- Ability to operate at multiple levels of abstraction in a complex software system
- Engineering, Computer Science, Mathematics or related educational background. (Positions are available at all levels of seniority.)
Preferred Skills
- Familiarity with numerical methods to solve PDEs (finite difference methods etc.)
- Strong knowledge of computer science fundamentals