Job Title: Senior Member of the Technical Staff (Software Engineer)

Job Duties:

    • Develop design specifications for mapping machine learning and linear algebra kernels to the Cerebras WSE System using various parallel programming algorithms and techniques.
    • Develop and debug a software library of highly optimized Low-Level Assembly instructions and C-like domain specific programming language routines utilizing SIMD vectorization and other key architectural features of the Cerebras WSE.
    • Design efficient distributed computing algorithms by overlapping the computation and communication routines of the processing elements and establishing efficient memory access optimizations across the memory hierarchy.
    • Develop unit and system testing methodologies using C++ and Python to verify the correct functionality and performance of kernel libraries.
    • Conduct a performance analysis of the software library and develop reference performance models of the kernels using C++ and Python.
    • Develop CPU or host side kernels using MPI and OpenMp parallel programming frameworks for efficient host and WSE operations.
    • Study emerging trends in distributed and shared memory parallel programming methodologies to address computational challenges of state-of-the-art deep learning and scientific computing applications and map them to the Cerebras WSE architecture.
    • Interact with chip and system architects to optimize instruction sets, microarchitecture, and IO of next generation systems.
    • Collaborate with other parts of the software stack and systems teams to efficiently integrate the software library into popular ML frameworks like PyTorch and TensorFlow.

Minimum Requirements: 

Master’s degree or foreign equivalent degree in Computer Engineering, Computer and Information Science, Computer Science, Computer Architecture, or a related field and 1 year of work experience as a Research Assistant, High-Performance Computing Research Engineer, Senior Software Engineer, Software Engineer, Senior Member of the Technical Staff (Software Engineer), or a related occupation required. Employer accepts full-time or equivalent part-time experience (including academic research experience) gained before, after or during graduate studies.

Required Skills:

    • Low-level assembly programming and debugging techniques;
    • C, C++, Python, PyTorch and TensorFlow;
    • OpenMP for shared-memory parallel programming;
    • MPI (Message Passing Interface) for distributed-memory programming;
    • Memory access optimization using loop tiling;
    • SIMD vectorization;
    • Profiling and performing performance analysis of high performance computing applications; and
    • Optimizing linear algebra operations for applications in deep learning and scientific computing.

Additional Information:

Employer’s name: Cerebras Systems Inc.
Job site: 1237 E Arques Avenue, Sunnyvale, CA 94085
Telecommuting permitted
Salary Range: $220,000.00 per year to $245,000.00 per year

If you are interested in applying for this position, please apply online on this web page or mail resume to HR at Cerebras Systems Inc., 1237 E Arques Avenue, Sunnyvale, CA 94085. Please reference Job # 136 on resume or cover letter.

Apply for this Job

*Required