Hi! My name is William Liu (刘胥飞). I am a software engineer, as well as a computer scientist and cognitive scientist. I grew up in Madison, Wisconsin but have lived in quite a few other places.

I find that I am generally interested in high performance computing, computer systems with an architecture flavor, theoretical neuroscience, and education. In the future I hope to pursue a PhD in Computer Science to do research in systems for novel applications.

I received my Bachelor’s in Cognitive Science and minor in Computer Science from Carnegie Mellon University. I am currently pursuing my Master’s in Computer Science at The University of Texas at Austin part time.

While pursuing my Master’s degree I am working as a software engineer in Palo Alto, California at a stealth startup (what a weird phrase). We are developing a new chipset and compilation framework which accelerates high data throughput computation architectures, such as modern deep learning models.

Outside of my technical interests I’m also passionate about tricking, esports, anime/animation, video game design, and music. Having a creative outlet helps with being overwhelmed with the vast world of STEM.

If you’d like to reach me, my email is in the footer. I love discussing any interesting projects and ideas or anything really!

You can find my resume here and also a list of my projects here. I try my best to put my projects up on Github and keep them updated.

Github

Teaching

I care deeply about improving education at all levels in all places. I have been fortunate to have been a teaching assistant for many courses during my time at CMU, and I hope to continue teaching in the future.

Teaching Assistant roles at Carnegie Mellon University

  • 15-418/618 Parallel Computer Architecture and Programming
    • Semester: Spring 2020
  • 85-310 Research Methods in Cognitive Psychology
    • Semester: Spring 2020
  • 15-110 Principles of Computing
    • Semesters: Fall 2017, Spring 2018, Fall 2018, Fall 2019

Research

I generally find that I am interested in using mathematical models to analyze computation structures at a fine granularity in order to design better systems. In terms of at which level these systems are implemented at, I haven’t found anything I’m particularly partial towards. I’ve worked at the architecture level, runtime systems level, and compiler level depending on the specifics of the project. I have yet to invest deeply into any of these areas though I do have to admit that instrumenting and implementing at the compiler level has been the least frustrating experience.

I am also gently interested in machine learning research specifically as it pertains to neuro-inspired algorithms. I concentrated my cognitive science degree in theoretical neuroscience and viewing machine learning research through that lens is very interesting to me.

I am extremely fortunate to have been advised by Saugata Ghose since my freshman year at CMU. Most of the development in my technical interests were very positively shaped under his guidance.

I spent the summer after my freshman year doing research full time with my advisor and a couple of other research interns. Since then I have been doing research part time working on virtual memory projects.

Publications

S. Ghose, A. G. Yağlıçkı, R. Gupta, D. Lee, K. Kudrolli, W. X. Liu, H. Hassan, K. K. Chang, N. Chatterjee, A. Agrawal, M. O’Connor, and O. Mutlu. “What Your DRAM Power Models Are Not Telling You: Lessons from a Detailed Experimental Study.” In ACM SIGMETRICS, Jun. 2018. Published in Proc. of the ACM on Measurement and Analysis of Computing Systems (POMACS), Vol. 2, No. 3, Dec. 2018.