Are you excited about speeding up scientific codes? Would you like to run software on cutting edge computer architectures? Do you want to help scale up science to the world's largest supercomputers? If so, consider joining NERSC as a HPC Performance (NESAP) Engineer.
As a NESAP engineer, you will be a part of a multidisciplinary team composed of computational and domain scientists working together to enable science that uses the capabilities of some of the largest supercomputers in the world.
NERSC is a supercomputing center that supports 7000 scientists whose research is supported by the US Department of Energy. Soon NERSC will begin deploying a new GPU-accelerated supercomputer called “Perlmutter” featuring next-generation AMD Milan CPUs, NVIDIA Ampere A100 GPUs, a novel high-speed interconnect, and an all-flash file system. The NESAP program will enable new scientific advancements using Perlmutter by working with scientists to exploit cutting-edge computational science techniques. It has focus areas in machine learning, data analysis, and simulation.
NESAP for Learning (N4L): focuses on developing and implementing cutting-edge machine learning (ML) and deep learning (DL) solutions to improve scientific discovery potential on experimental or simulation data or improving HPC applications by replacing parts of the software stack or algorithms with ML/DL solutions.
NESAP for Data (N4D): addresses data-intensive science pipelines that process massive datasets from experimental and observational science (EOS) facilities like synchrotron light sources, telescopes, microscopes, particle accelerators, or genome sequencers. The goal is seamless integration and data flow between EOS facilities and supercomputing resources to enable scalable real-time data analytics.
NESAP for Simulation (N4S): Cutting-edge simulation of complex physical phenomena requires increasing amounts of computational resources due to increasing model sizes, parameter space searches, and inclusion of additional physics for higher fidelity. N4S focuses on algorithm and data structure development and implementation on new architectures such as GPUs, exposing additional parallelism and improving scalability.
What You Will Do:
Work together with NERSC staff and scientific code teams to transition and optimize simulation, data analytics, or machine learning software for the Perlmutter system.
Working with domain experts to develop, adapt, and optimize state-of-the-art algorithms, techniques, and models to solve scientific problems on HPC systems.
Conduct profiling and scaling studies as well as parallelization, memory bandwidth, and I/O analyses for these codes; identify and capitalize on NERSC's combined HPC/data ecosystems.
Support at least one widely used scientific software package on NERSC systems.
What is Required:
Undergraduate degree in Computational Science, Data Science, Computer Science, Applied Mathematics, Physical Sciences or related science domain areas.
Ability to work productively both independently and as part of an interdisciplinary team balancing objectives involving research and code development.
Experience and knowledge in at least one of: computing, code development for machine learning, experimental science, and supercomputing.
Demonstrably effective communication and interpersonal skills.
For N4L positions:
Experience with machine learning/deep learning frameworks such as TensorFlow, PyTorch, scikit-learn.
Experience in building and training ML/DL models and keeping abreast with new deep learning innovations in training algorithms and neural network architectures.
Experience or interest in distributed training of complex deep learning models on large scientific datasets.
For N4D positions:
Experience with at least one high-level language (HLL) such as Python, Julia, Matlab, or R and corresponding data analytics packages, especially at large scale. Awareness of issues associated with optimizing and parallelizing HLL-based codes is a plus.
Familiarity with libraries or frameworks that enable productive data analytics, improve parallelism in general, or provide GPU acceleration for HLLs, for example: Numba or Dask.
Interest in one or more of the following areas: Container technologies (e.g. Docker), Jupyter notebooks, complex workflows and pipelines, and/or data analytics tools.
For N4S positions:
Experience writing software targeting GPU and parallel/manycore computer architectures, and/or optimizing software for GPU acceleration, multithreading, and/or vectorization.
Experience with numerical methods relevant to scientific HPC applications, such as particle or grid methods, etc.
Experience with C, C++, Fortran, MPI, or data structure transformations.
Experience with the development and performance optimization of scientific software in the HPC context, including algorithms design or applied mathematics.
Contributions to scientific and/or open source software projects, public code repositories, publication record.
To be considered applicants are strongly encourage to include the following with their application:
A Cover Letter: Include a cover letter introducing yourself, your application, and describing your interest in the program. Please be sure to highlight which NESAP program area interests you most: Simulation, Data, or Learning.
Curriculum Vitae/Resume: Either an academic CV or a resume is acceptable. Be sure to highlight technical skills, publications, and activities, relevant to the position.
Links to public code repositories, project portfolios, blog posts or other relevant career metrics are welcome!
This is a full-time 2 year, term appointment with the possibility of extension or conversion to Career appointment based upon satisfactory job performance, continuing availability of funds and ongoing operational needs.
This position will be hired at a level commensurate with the business needs and the skills, knowledge, and abilities of the successful candidate.
This position may be subject to a background check. Any convictions will be evaluated to determine if they directly relate to the responsibilities and requirements of the position. Having a conviction history will not automatically disqualify an applicant from being considered for employment.
Work will be primarily performed at Lawrence Berkeley National Lab, 1 Cyclotron Road, Berkeley, CA.
Equal Employment Opportunity: Berkeley Lab is an Equal Opportunity/Affirmative Action Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, age, or protected veteran status. Berkeley Lab is in compliance with the Pay Transparency Nondiscrimination Provision under 41 CFR 60-1.4. Click to view the poster and supplement: "Equal Employment Opportunity is the Law."
Lawrence Berkeley National Laboratory encourages applications from women, minorities, veterans, and other underrepresented groups presently considering scientific research careers.