Micron Technologyposted 17 days ago
Full-time • Mid Level
Hybrid • Richardson, TX
Computer and Electronic Product Manufacturing

About the position

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.

Responsibilities

  • 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

Requirements

  • (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

Benefits

  • Choice of medical, dental and vision plans
  • Benefit programs that help protect your income if you are unable to work due to illness or injury
  • Paid family leave
  • Robust paid time-off program
  • Paid holidays
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service