Flag job

Report

System Software Engineer

Min Experience

4 years

Location

Richardson, Texas, United States of America

JobType

full-time

About the job

Info This job is sourced from a job board

About the role

Our vision is to transform how the world uses information to enrich life for all. Micron Technology is a world leader in innovating memory and storage solutions that accelerate the transformation of information into intelligence, inspiring the world to learn, communicate and advance faster than ever. As a system software engineer in Micron's Scalable Memory Systems group, you will be part of a software engineering team in a pathfinding and strategy organization that is exploring future memory architectures for high-performance compute (HPC) and artificial intelligence (AI) systems! You will support broad software development needs that may include proof-of-concept system software development, application optimization and analysis, system performance benchmarking, development tool support, and open-source software advancement. You will have an opportunity to work on proof-of-concept heterogeneous memory and compute systems that include multiple host servers, GPUs, and memory accelerators. This hybrid work schedule position is located in Richardson, TX. Your responsibilities may include, but are not limited to: Developing applications and libraries in C++, C, Python, Rust, SYCL and/or CUDA Developing software that configures and enables proof-of-concept system hardware Porting, optimizing, and analyzing parallel processing, scientific compute and AI applications and libraries for heterogeneous computer systems Improving software engineering processes and tools Collaborating with hardware and software engineers to root cause and fix complex integration issues with proof-of-concept system hardware in a lab environment Working closely with software technical leads and system architects to clarify early-stage requirements We are seeking candidates with the following: (Required) Bachelor's, Master's or PhD degree in Computer Engineering, Software Engineering, Computer Science, or equivalent degree (Required) 4 or more years of relevant work experience, or PhD research experience (Required) C++, C and Python programming experience (Required) Linux programming experience (Required) Strong understanding of computer system architecture concepts including compute and memory components, caching, virtual memory and GPU offloading Experience developing drivers and/or user-space applications to interact with low-level hardware primitives such as control and status registers is highly desired Experience with AI and Machine Learning models and software (PyTorch, TensorFlow, etc.) is highly desired Understanding of parallel computing, shared memory, inter-process communications and host-to-host communications is highly desired Experience programming GPUs (using CUDA, OpenCL, SYCL, etc.) is highly desired Experience with scaling and parallelization technologies and libraries, including the following, is desired: CXL, NvLink, OpenMP, MPI, oneAPI Experience with application performance benchmarking is desired Strong debug and problem-solving skills Willingness to work on a wide variety of different types of software assignments depending on dynamic organizational needs of a pathfinding organization Excellent verbal and written communication skills Ability to work in a team environment that includes both on-site and remote team members

About the company

Micron Technology is a world leader in innovating memory and storage solutions that accelerate the transformation of information into intelligence, inspiring the world to learn, communicate and advance faster than ever.

Skills

c++
c
python
rust
sycl
cuda
linux
ai
machine learning
pytorch
tensorflow
parallel computing
gpu
cuda
opencl
sycl
cxl
nvlink
openmp
mpi
oneapi
performance benchmarking