Cerebras Systems Inc. Introduction

Cerebras is looking for smart people who can finish projects and work in a group.

Position

Member of the Technical Staff (Senior Software Engineer)

Job Description

  • Develop, create, modify and review highly-scalable distributed software application frameworks.
  • Implement distributed algorithms such as model/data parallelism, parameters servers, and dataflow based asynchronous data communication. This is to include the analysis and design of architectures for data movement, such as databases, and the creation of data structures across application areas.
  • Develop MPI-like software frameworks for communication in deep learning applications, including developing distributed memory constructs, ensuring optimal performance, balanced job distribution, while minimizing communication overhead.
  • Optimize software for various computing hardware backends including GPU’s, CPU’s and Cerebras custom hardware.
  • Analyze user needs and develop software solutions for both specific and general applications in machine learning in general and the TensorFlow language in particular.
  • Design and modify, using performance analysis, the full software stack with the aim of optimizing operational efficiency, reducing latency and improving performance.
  • Interact with deep learning researchers to support different distribution frameworks.
  • Interact with driver developers to ensure no performance loss in distributed compute algorithms.
  • Interact with hardware architects to influence hardware features, so that distributed algorithms execute as quickly as possible.
  • Provide technical guidance to other software developers about the ability of the software to run said applications in a distributed fashion.

Skills and Qualifications

  • Master’s degree or foreign equivalent degree in Computer Engineering – CISE, Computer Science, or a related field required.
  • 2 years of related work experience required.

Location

  • Los Altos, CA

Attach Resume (.doc or .pdf):