Tianfang Guo

Tianfang Guo

M.S. in Computer Engineering
Texas A&M University
Computer Engineering Systems Group
Advisor: Paul Gratz
Email: tiaguo@tamu.edu
Resume (PDF)


About

Hi, I'm Tianfang Guo. I received my Bachelor's degree from UT Austin, where I studied Electrical and Computer Engineering with a focus on Computer Architecture and Embedded Systems.

My primary interest is computer architecture. I'm currently in the Computer Engineering Systems Group at TAMU, and my advisor is Paul Gratz.

Projects

Experience

I could write about all the technical details of my internships, but that's what my resume is for. I think it's more interesting to talk about other things I've learned during my time in the industry.

Texas Instruments — First Internship

My gig at Texas Instruments was my first ever internship. Thus, I was actually woefully prepared for it. But as it turns out, not much is actually expected of a college sophomore.

I learned a multitude of things that summer, not the least of which was that Dallas people don't know how to drive. The true rigidness of a corporate job was also somewhat gently instilled within me. I learned about deadlines, sprints, how badly internal tools are documented; but perhaps most importantly, I learned how to survive this jungle.

Qualcomm — Second Internship

Second times the charm; DV at Qualcomm! This was a big boy internship. I was ready to get things done, network, and conquer the world. What I was actually met with was a mostly empty office, a natural consequence of a 3 day WFH schedule. This desolation of course doesn't speak to the technical rigor of the internship, but perhaps resulted in me working with more independence than I would have liked.

Incidentally, this was also the summer I truly fell in love with Austin. I was at a somewhat tumultuous time in my life, and with relatively more free time on hand compared to during the semester, I turned to exploring the city, which kept me grounded.

Arm — Upcoming

I accepted a gig with Arm for this summer. Unbeknownst to me at the time, this is located in San Diego. Therefore I shall soon make the pilgrimage to California, the state of controversies. Perhaps I will remember to update this page afterwards, when I need to find a real job.

Research Interests

My research is in hardware prefetching and computer architecture. I am relatively far away (although not so much so) from something of a completed manuscript for my thesis, so here is a collection of thoughts that provide a general direction for my intents.

A way to quantify prefetching is to compare existing hardware prefetchers to some magical oracle prefetcher. You can do this by analyzing the specific prefetch streams generated by said prefetchers. When you compare these streams, you can generally separate them into four sets:

It is easy to separate Sets 1, 2, and 3+4, but it's much harder to separate Set 3 from Set 4, which is the set we really care about, since Set 3 contains hard-to-make prefetches that can guide future prefetcher design.

The first-order concern is to actually create motivation to do this research. That is, is Set 3+4 actually large enough to justify putting effort into discovering its contents? There are multiple ways to do this, none of which seem (at least to me) particularly more correct than the others. The main point here is to quantify the difference between oracle streams and other prefetcher streams.

One way to do this is via compression, as a proxy for finding the Kolmogorov complexity of the streams. If you can compress a file well, it means there is less entropy in the file. I should add that the point of needing to calculate the entropy/k-complexity is that if a stream has a high amount of entropy, then it is naturally unpredictable. If the oracle stream had high entropy, it would mean the oracle is making seemingly random or unpredictable decisions on what to prefetch using its prescient information. However, according to my data so far, this is not the case—the oracle stream generally has one of the lower entropies across many benchmarks. This means the oracle is actually making relatively more patterned decisions than existing prefetchers. I am currently at this stage, which is to say mainly data collection and analysis.

Next comes the much harder part of actually separating Set 3 from Set 4. Again, there are multiple ways to do this:

Ultimately, I suspect what's going to happen is some combination of multiple of these methods (conservatively) acting as filters that generates some subset of Set 3.

Coursework

Spring 2026

Advanced Computer ArchitectureProf. Paul Gratz
Special Topics on Branch PredictionProf. Daniel Jimenez

Fall 2025

Parallel ComputingDr. Vivek Sarin
Intro to Hardware DVDr. David Kebo Houngninou
Deep Learning and LLMsDr. Tomer Joseph Galanti

Spring 2025

Hardware Architecture for Machine LearningDr. Lizy John
Requirements EngineeringDr. Suzanne Barber
UT SEEK

Fall 2024

Operating SystemsDr. Ramesh Yeraballi
Digital System Design w/ HDLDr. Lizy John
UT SEEK

Spring 2024

CompilersDr. Mattan Erez
AlgorithmsDr. Pedro Santacruz
Honors Senior Design IIDr. Frank Register
UT SEEK

Fall 2023

Computer ArchitectureDr. Mattan Erez
Digital Logic DesignDr. Nur Touba
Honors Senior Design IDr. Frank Register
Public Communication of Science and TechnologyOnline

Spring 2023

Probabilities and Random ProcessesDr. Gustavo de Veciana
Engineering CommunicationsDr. Bill Fagelson
Embedded Systems Design LabDr. Jon Valvano
True Crime PodcastsDr. Robert Quigley
Federal GovernmentOnline

Fall 2022

Software Implementation IDr. Valleth Nandakumar
Linear Systems and SignalsDr. Jon Tamir
Linear AlgebraDr. Arie Israel
Gems and MineralsDr. Elizabeth Catlos
World LiteratureOnline

Spring 2022

Intro to Embedded SystemsDr. Lucas Holt
Circuit TheoryDr. Earl Schwarzlander
Differential EquationsDr. Charles Mills
Intro to Classical MethologyOnline

Fall 2021

Intro to Electrical EngineeringDr. Edward Yu
Intro to ComputingDr. Yale Patt
CalculusDr. Theresa Martines
American MusicalsDr. Hannah Lewis

2019-2020 (at LSC)

Federal Government
Macroeconomics
US History
Intro to Computers
Physics
Calculus
Composition/Rhetoric