Kernel Engineer - New Grad
cerebras · Sunnyvale
Job description
About the role
Cerebras Systems builds the world's largest AI chip, a custom massively parallel processor called the Wafer-Scale Engine. As a Kernel Engineer, you will develop high-performance software at the intersection of hardware and software for AI and high-performance computing workloads. You will help implement, optimize and validate machine learning and linear algebra operations, working alongside experienced kernel, compiler, performance and hardware engineers. The role suits a new graduate interested in computer architecture, parallel programming, low-level software and machine learning systems.
Key responsibilities
- Help design and implement machine learning and linear algebra kernels for the Cerebras Wafer-Scale Engine.
- Develop and debug high-performance kernel routines using low-level programming and the Cerebras Software Language, a custom C-like language.
- Apply parallel programming algorithms to map workloads efficiently onto the Cerebras architecture.
- Use mathematical analysis, performance data and profiling tools to evaluate kernel behavior.
- Investigate correctness, performance and hardware utilization issues.
- Develop unit tests and system-level validation methods for kernel libraries.
- Collaborate with kernel, compiler, performance and hardware engineers to improve software and system performance.
- Study emerging machine learning workloads and take part in code reviews and technical discussions.
Required profile
- Bachelor's, Master's or PhD in Computer Science, Computer Engineering, Electrical Engineering, Mathematics or a related field.
- Experience debugging software through coursework, internships, research, co-op placements or technical projects.
- Strong analytical and problem-solving skills, interest in low-level software and parallel computing, and ability to learn unfamiliar systems.
Required skills
- Programming fundamentals in C++ and familiarity with Python.
- Understanding of computer architecture concepts such as processors, memory hierarchies, instruction execution and data movement.
- Knowledge of data structures, algorithms and software development fundamentals.
- Preferred: kernel development, compilers, HPC or systems programming projects; parallel algorithms, multithreading or distributed memory; GPUs, FPGAs or accelerators; CUDA, OpenCL or assembly; PyTorch or TensorFlow; profiling and benchmarking tools.
Questions fréquentes
Why are you reporting this job?
Explore further
Salaries, guides and searches in the United States.
Salaries by job title
- Delivery Specialist 330
- Line Cook 258
- Restaurant Host 249
- Dishwasher 241
- Shift Supervisor 226
- Parts Specialist 208
- Retail Service Specialist 176
- Server - Red Robin 140
Apply in 30 seconds
Enter your email to apply. An account will be created automatically.
By continuing, you accept our terms of use.
Already have an account? Login
A question about this job?
Ask it here: you will get the full job summary by e-mail, right away.
Published 5 hours ago
Expires 1 month from now
2 views · 0 interested
Boost your chances
Upload your CV — we will match you with relevant openings.
Analyzing your CV...
cerebras
Sunnyvale