Skip to main content

About the role

Scientific Developer Axiom is seeking a Scientific Developer. Responsibilities include identifying and resolving performance bottlenecks in the UFS Weather Model with the newly integrated MPAS atmospheric dynamic core and coupled components. Opportunities for model performance improvement will be identified through code optimization, build configuration, and heterogeneous and portable computing, especially with CPU and GPU. Code run-time profiling for large parallel applications will be implemented, including profiling of CPU & GPU performance, memory usage, cache usage, and disk I/O. The integration of optimized, GPU/accelerator-enabled and profiling-enabled components into the UFS build system will be enabled, including configuration of compilers, packages, and profiling/instrumentation. Available computing hardware resources will be identified, and accelerated code will be ported and tested on appropriate systems, ensuring robust portability and reproducibility within acceptable tolerance. Bit-for-bit reproducibility in the context of CPU and GPU optimizations will be investigated, and appropriate reproducibility tests will be proposed and implemented. Strategic, technical, and other documentation regarding profiling/instrumentation, optimization, and GPU/portable programming will be contributed to. Collaboration with other teams to support models, forecast workflows, and other functions through the delivery of optimized code and profiling/instrumentation frameworks will be provided, along with technical guidance and mentoring to colleagues on profiling/instrumentation, optimization, and GPU/portable code development. The use of Generative AI (GenAI)/Large Language Models (LLMs) to improve the quality of code and the efficiency of the code development process will be explored and validated. Qualifications include a Bachelor's or Master's degree in meteorology, atmospheric science, physical sciences, mathematics, computer science, software engineering, scientific computing, or a closely related field with demonstrated numerical modeling or closely related scientific computing experience. Demonstrated experience in high-performance computing (HPC), software optimization, and building, running, debugging, and profiling large-scale parallel applications is required. Proficiency in C, C++, and/or Fortran, as well as MPI, is necessary. Familiarity with GPU/heterogenous programming and/or portability frameworks (e.g., CUDA, OpenACC, OpenMP target offloading, Kokkos, RAJA, PyTorch, JAX) is required. Familiarity with profiling concepts and/or tools (e.g., gprof, TAU, Scalasca) is required. Experience with Linux/Unix shell scripting and automation is required. Demonstrated experience with build systems (e.g., CMake, Meson, autotools, make) is strongly preferred, however, strong proficiency in configurable scripting and automation is acceptable. Demonstrated proficiency with Git or similar tools for code collaboration and management is required. Demonstrated ability to apply the concepts of software engineering and best practices is required. Preferred qualifications include a D. in a quantitative field with research computing experience. Direct experience with the Unified Forecast System (UFS), MPAS, or other atmospheric modeling systems is beneficial. Experience with workflow (ecFlow, Rocoto, Cylc) and package (Spack, pip) management tools in HPC environments is beneficial. Familiarity with leveraging GenAI/LLM tools to optimize and assist software development workflows is beneficial. Familiarity with continuous integration (CI) workflows and frameworks is beneficial. Axiom offers competitive compensation packages including comprehensive medical/dental/life insurance and matching 401(k) contribution. Equal Opportunity Employer/Protected Veterans/Individuals with Disabilities.

Matching similar jobs

JOB OVERVIEW

Experience level

Lead

Location

College Park, MD

Occupation

Software Developers

Industry

All Other Professional, Scientific, and Technical Services

Posted

3 days ago

Tired of running searches?

Rank the roles you'd take once, and matches like these arrive on their own.

CREATE PROFILE (opens in a new tab)