William Zhang

headshot_cropped.JPG

I am a third-year computer engineering student at the University of Waterloo.

My interests span a wide variety of areas. One of my latest foci is CPU and domain-specific architecture all levels of the stack, including chip design, compilers, ASIC and GPU kernels, and systems programming.

Another area that I am passionate about is convex optimization. I have applied it in my personal projects and open-source contributions to CVXPY. In particular, I like interpreting problems in a wide variety of applications using optimization, and applying mathematical optimization algorithms to solve them.

Experience

  • Cerebras Systems May 2026 - Present
    Software Engineering Intern Toronto, Canada
  • Trend Micro Sept. 2025 - Dec. 2025
    Software Engineering Intern Ottawa, Canada
  • Ford Motor Company Jan. 2025 - Apr. 2025
    Software Engineering Intern Ottawa, Canada
  • Ford Motor Company May 2024 - Aug. 2024
    Software Engineering Intern Ottawa, Canada

Open-Source Contributions

Some of the open-source projects that I have contributed to include:

  • CVXPY, a Python-embedded modelling language for convex optimization problems, with over 4M downloads/month. Originates from a research project at Stanford University.
  • CVXPYlayers, a Python library for convex optimization-based layers in deep neural networks, compatible with PyTorch, JAX, and MLX.
  • DCCP (Discplined Convex-Concave Programming), a convex heuristic for solving nonconvex problems.
  • Tilus a GPU domain-specific language by NVIDIA that provides explicit low-level control and hardware abstraction.