
Using GPUs effectively requires very detailed knowledge of the GPU architecture, knowledge of a lot of processing maneuvers to share data between CPU and GPU and to orchestrate the symbiotic operations required for this to work well. Phil's primarly goal is to allow a scientist to use the Java programming language to describe all the details of his processing, then automatically transform the processing into the intricate cooperation required to use massively parallel processing provided by GPUs to significantly speed up the program.
You will find a nice summary of this work in his defense slides and all the details in his thesis document, below:
While Phil was completing his Master's of Science degree he was admitted to a doctoral program in our department where he is continuing this research. He has now successfully completed his Written Qualifying Exams, Oral Examination on a relevant research paper, and his Disstertation Proposal Defense.