madiyaan
Dec 6, 2009
Graduate / Towards the democratization of supercomputing, my SOP for EECS PhD at Stanford [4]
Your statement of purpose should not be longer than 4000 characters (including spaces). Describe succinctly your reasons for applying to the proposed program, your preparation for this field of study and why our program is a good fit for you, your future career plans, and other aspects of your background as well as interests which may aid the admissions committee in evaluating your aptitude and motivation for graduate study.
Response:
Towards the democratization of supercomputing
Writing and debugging parallel programs is notoriously difficult. Current software developers have to invest a lot of manual effort to obtain high-performance on parallel systems. My research goal is to help create parallel architectures and runtimes to lower the manual cost of parallelization. The following paragraphs describe my background and the reasons why I think I am an excellent candidate for PhD at Stanford's PPL.
I have always had a passion for using technology to improve the quality of life of others. During high school, I wrote a program to help my sibling understand linear algebra. Ten years later the desire to create technology that empowers humanity still motivates me. Technology that helps developers write high-performance parallel code is an exciting possibility that I hope will develop as a result of my research at Stanford.
Another critical driving factor for my PhD is a desire to understand things. This understanding can often come about by looking at a problem from a different angle, and can lead to unification of formerly disparate theories one had before. I am thrilled by the prospects of exploring uncharted areas and unorthodox techniques during my PhD at Stanford and hope to further our understanding of automated parallelization in a fundamental way.
I started my academic career at [], where I completed my Bachelor's in ECE. During this time, I was involved in both graphics and computer architecture research, eventually winning the [award]. I participated in the gene visualization project with Prof. [] and worked with Prof. [] on DLL-conscious instruction fetching for SMTs in 2005/6. Later on I obtained a Master's degree from the same institution, improving my research experience in computer architecture. Working with Prof. [], I published papers in [], [] and [] and gained expertise in GPUs and multi-core CPUs. Though the Master's degree provided me with a good degree of breadth in terms of topics, I now want to explore a single topic in-depth during my PhD related to parallel programming.
During my academic career and after it, I have gained valuable industry experience by working with professionals at [], [] and []. During my work at [] in 2007, I explored a novel snoop-filter reduction mechanism that allowed easier scalability of multi-threaded software. This resulted in a paper published at []. At [] and [] I learned about the architectural trade-offs that processor architects make when designing scalable, low-power GPUs. Most recently at [] I have been spearheading an effort to reduce the amount of fixed-function image processing hardware, running the same algorithms on the programmable GPU instead. I have first-hand experience of the kind of issues faced by developers when writing scalable, parallel code and my research at Stanford and beyond will address those issues.
My research goals and future interests are very much aligned with those of Stanford PPL whose mission statement is to create the future parallel computing platform. I am excited by the prospects of working with Prof. Dally, Kozyrakis and Olokutun on parallel architectures. Prof. Hanrahan would be a fitting co-advisor for my research in developer-friendly parallel runtimes. Stanford has a successful history of creating parallel computers and languages (FLASH and Brook come to mind) and I hope to extend this further. After graduation I want to stay in academia and become a research faculty member, expanding the boundaries of parallel computing.
As progression in single-threaded performance flattens, highly parallel computers will become ubiquitous. Through my research that I hope to do at PPL, I plan to bridge the programming gap that exists between domain-experts and parallel machines of the future. Given my work and research experience I believe I am a fitting candidate for a PhD at Stanford's PPL.
Your statement of purpose should not be longer than 4000 characters (including spaces). Describe succinctly your reasons for applying to the proposed program, your preparation for this field of study and why our program is a good fit for you, your future career plans, and other aspects of your background as well as interests which may aid the admissions committee in evaluating your aptitude and motivation for graduate study.
Response:
Towards the democratization of supercomputing
Writing and debugging parallel programs is notoriously difficult. Current software developers have to invest a lot of manual effort to obtain high-performance on parallel systems. My research goal is to help create parallel architectures and runtimes to lower the manual cost of parallelization. The following paragraphs describe my background and the reasons why I think I am an excellent candidate for PhD at Stanford's PPL.
I have always had a passion for using technology to improve the quality of life of others. During high school, I wrote a program to help my sibling understand linear algebra. Ten years later the desire to create technology that empowers humanity still motivates me. Technology that helps developers write high-performance parallel code is an exciting possibility that I hope will develop as a result of my research at Stanford.
Another critical driving factor for my PhD is a desire to understand things. This understanding can often come about by looking at a problem from a different angle, and can lead to unification of formerly disparate theories one had before. I am thrilled by the prospects of exploring uncharted areas and unorthodox techniques during my PhD at Stanford and hope to further our understanding of automated parallelization in a fundamental way.
I started my academic career at [], where I completed my Bachelor's in ECE. During this time, I was involved in both graphics and computer architecture research, eventually winning the [award]. I participated in the gene visualization project with Prof. [] and worked with Prof. [] on DLL-conscious instruction fetching for SMTs in 2005/6. Later on I obtained a Master's degree from the same institution, improving my research experience in computer architecture. Working with Prof. [], I published papers in [], [] and [] and gained expertise in GPUs and multi-core CPUs. Though the Master's degree provided me with a good degree of breadth in terms of topics, I now want to explore a single topic in-depth during my PhD related to parallel programming.
During my academic career and after it, I have gained valuable industry experience by working with professionals at [], [] and []. During my work at [] in 2007, I explored a novel snoop-filter reduction mechanism that allowed easier scalability of multi-threaded software. This resulted in a paper published at []. At [] and [] I learned about the architectural trade-offs that processor architects make when designing scalable, low-power GPUs. Most recently at [] I have been spearheading an effort to reduce the amount of fixed-function image processing hardware, running the same algorithms on the programmable GPU instead. I have first-hand experience of the kind of issues faced by developers when writing scalable, parallel code and my research at Stanford and beyond will address those issues.
My research goals and future interests are very much aligned with those of Stanford PPL whose mission statement is to create the future parallel computing platform. I am excited by the prospects of working with Prof. Dally, Kozyrakis and Olokutun on parallel architectures. Prof. Hanrahan would be a fitting co-advisor for my research in developer-friendly parallel runtimes. Stanford has a successful history of creating parallel computers and languages (FLASH and Brook come to mind) and I hope to extend this further. After graduation I want to stay in academia and become a research faculty member, expanding the boundaries of parallel computing.
As progression in single-threaded performance flattens, highly parallel computers will become ubiquitous. Through my research that I hope to do at PPL, I plan to bridge the programming gap that exists between domain-experts and parallel machines of the future. Given my work and research experience I believe I am a fitting candidate for a PhD at Stanford's PPL.