Senior Software Engineer - Compiler

Engineering · Full-time · Toronto, CA

Job description

About Us We believe AI will fundamentally transform how people live and work. CentML's mission is to massively reduce the cost of developing and deploying ML models so we can enable anyone to harness the power of AI and everyone to benefit from its potential.

Our founding team is made up of experts in AI, compilers, and ML hardware and has led efforts at companies like Amazon, Google, Microsoft Research, Nvidia, Intel, Qualcomm, and IBM. Our co-founder and CEO, Gennady Pekhimenko, is a world-renowned expert in ML systems who holds multiple academic and industry research awards from Google, Amazon, Facebook, and VMware.

Overview: Do you want to help drive the development of high-performance, power-efficient datacenter solutions for Deep Learning? Do you have an interest in how system architecture across GPU, networking, CPU and IO relate to brand new generative AI capabilities? Come join our team, and bring your experience and interests to help us optimize our next generation of inference and training frameworks/frameworks and to redefine the deep learning industry once again.

Responsibilities:

  • Communicate with our product teams and profile ML/DL workloads to acquire an in-depth understanding of the problems (e.g., slow kernels).
  • Figure out where the bottleneck of the slow GPU kernels with profilers
  • Optimize the GPU kernels.
  • Write tests and benchmarks to validate and evaluate our solutions.

Who you are:

  • Bachelors or higher degree in Computer Science or Engineering.
  • Excellent communication skills and the ability to work in a team.
  • Strong coding skills (in at least one of Python and C++).
  • Solid fundamentals in other computer science and computer engineering topics: algorithms and data structures, operating systems, computer architecture, etc.
  • Strong academic records for candidates with bachelor’s degrees.

You will stand out from the crowd if you have:

  • 5+ years of experience in researching or contributing to HPC/ML/DL systems, frameworks or libraries (including the time of being a graduate student).
  • Experience with GPU architecture and GPGPU programming:
  • NVIDIA GPUs: CUDA programming and libraries and toolkits (e.g., cuDNN, cuBLAS, CUTLASS, nvprof, Nsight Compute, Nsight Systems, etc.);
  • AMD GPUs: ROCm and its related libraries and toolkits.
  • OpenCL
  • Experience with developing high-performance kernels for CPUs.
  • Experience in developing ML or traditional compilers.
  • Experience with TPU.
  • Strong publication records in top HPC/ML/DL or computer system and architecture venues.

Peers

View in org chart