Seeking research positions in the areas of Computer Graphics and Computer Architecture and related fields. I am particularly interested in advancing fields related to how humans interact with computers and enabling new human experiences.
Computer Graphics: Rendering, Real Time Ray Tracing, Global Illumination, Video Games.
Computer Architecture: GPUs, Application Specific Architectures, Embedded Systems.
University of Utah Ph.D. Computer Engineering 2013
Advisor: Erik Brunvand
Dissertation: Efficient Ray Tracing Architectures
University of California Riverside B.S. Computer Engineering 2006
Emphasis: Embedded Systems
NVIDIA Durham, NC, USA
Research Scientist June 2015 - Present
Virtual and Augmented reality architecture and rendering research.
Harvey Mudd College Claremont, CA, USA
Visiting Professor July 2012 - June 2015
Taught courses in Digital Design, Parallel Computer Architecture, and Microprocessor and Embedded System Design. Advised research students in the area of computer architecture.
NVIDIA Santa Clara, CA, USA
Research Intern/Consultant June 2013 - May 2015
Power and performance modeling for future graphics hardware.
University of Utah Salt Lake City, UT, USA
Graduate Research Assistant June 2007 - August 2012
Developed a variety of architectures for real-time ray tracing, a cycle accurate simulator for performance studies, and a compiler back-end for the architectures.
Teaching Assistant August 2006 - May 2007
Assisted Dr. John Carter and Dr. Peter Shirley with courses in Operating Systems, Computer Graphics and Network Game Design.
University of California, Riverside Riverside, CA, USA
Undergraduate Research Assistant June 2005 - March 2006
Analyzed the performance of soft-core microprocessors on Xilinx FPGAs to develop tools for increased performance with reduced development effort. Advisor: Dr. Frank Vahid.
System simulators : Simics, TRaX Simulator
CAD Tools : Cadence SOC Encounter, Virtuoso, Spectre; Synopsys Design Compiler; Altera Quartus II; Microchips MPLAB; Xilinx ISE, EDK
Misc. : LLVM, OpenGL, GLSL, CUDA, Unity3D, PyOpenGL, Pyglet, SDL, Google App Engine, Django, MySQL, LATEX, Git, Subversion, Mac, Linux, Windows
- Konstantin Shkurko, Tim Grant, Erik Brunvand, Daniel Kopta, Josef Spjut, Elena Vasiou, Ian Mallett, Cem Yuksel; SimTrax: Simulation Infrastructure for Exploring Thousands of Cores, ACM Great Lakes Symposium on VLSI, May 23-25, 2018. (to appear) paper
- Benjamin Mac Murray, Bryan Peele, Patricia Xu, Josef Spjut, Omer Shapira, David Luebke, Robert Shepherd; A Variable Shape and Variable Stiffness Controller for Haptic Virtual Interactions, IEEE International Conference on Soft Robotics, April 24-28, 2018. (to appear) paper
- Trey Greer, Josef Spjut, David Luebke, Turner Whitted; Hybrid Modulation for Near Zero Display Latency, Society of Information Display, May 24-27, 2016. paper
- Daniel Kopta, Konstantin Shkurko, Josef Spjut, Erik Brunvand, Al Davis; Memory Considerations for Low Energy Ray Tracing, Computer Graphics Forum, August 7, 2014. paper
- Daniel Kopta, Konstantin Shkurko, Josef Spjut, Erik Brunvand, Al Davis; An Energy and Bandwidth Efficient Ray Tracing Architecture, High-Performance Graphics (HPG 2013), Anaheim, July 10-21, 2013. paper
- Daniel Kopta, Thiago Ize, Josef Spjut, Erik Brunvand, Al Davis, Andrew Kensler; Fast, Effective BVH Updates for Animated Scenes, ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D 2012), Irvine, March, 2012. paper
- Josef Spjut, Daniel Kopta, Erik Brunvand, Al Davis; A Mobile Accelerator Architecture for Ray Tracing, 3rd Workshop on SoCs, Heterogeneous Architectures and Workloads (SHAW-3), New Orleans, February, 2012. paper slides
- Daniel Kopta, Josef Spjut, Al Davis, Erik Brunvand; Efficient MIMD Architectures for High-Performance Ray Tracing, IEEE International Conference on Computer Design (ICCD 2010), Amsterdam, October, 2010. paper
- Seth Pugsley, Josef Spjut, David Nellans, Rajeev Balasubramonian; SWEL: Hardware Cache Coherence Protocols to Map Shared Data onto Shared Caches, 19th International Conference on Parallel Architectures and Compilation Techniques (PACT-19), Vienna, September, 2010. paper
- Josef Spjut, Andrew Kensler, Daniel Kopta, Erik Brunvand; TRaX: A Multicore Architecture for Real-Time Ray Tracing, IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems (TCAD), December, 2009. paper
- Josef Spjut, Andrew Kensler, Erik Brunvand; Hardware-accelerated gradient noise for graphics, Proceedings of the 19th ACM Great Lakes Symposium on VLSI (GLSVLSI'09), Boston, May 10-12, 2009. paper
- Niladrish Chatterjee, Seth Pugsley, Josef Spjut, Rajeev Balasubramonian; Optimizing a Multi-Core Processor for Message-Passing Workloads, 5th Workshop on Unique Chips and Systems (UCAS-5), Boston, April, 2009. paper
- Josef Spjut, Solomon Boulos, Daniel Kopta, Erik Brunvand, Spencer Kellis; TRaX: A Multi-Threaded Architecture for Real-Time Ray Tracing, Symposium on Application Specific Processors (SASP), Anaheim, June 8-9, 2008. (Best paper award) paper
- Kaan Aksit, Ward Lopes, Jonghyun Kim, Josef Spjut, Anjul Patney, Peter Shirley, David Luebke, Steven A. Cholewiak, Pratul Srinivasan, Ren Ng, Martin S. Banks, Gordon D. Love; Varifocal Virtuality: A Novel Optical Layout for Near-Eye Display, SIGGRAPH Emerging Technologies, Los Angeles, July 30 - August 3, 2017. paper slides
- Robert Shepherd, Bryan Peele, Benjamin Mac Murray, Jose Barreiros, Omer Shapira, Josef Spjut, David Luebke; Stretchable Transducers for Kinesthetic Interactions in Virtual Reality, SIGGRAPH Emerging Technologies, Los Angeles, July 30 - August 3, 2017. paper
- Bryan Peele, Benjamin Mac Murray, Jose Barreiros, Robert Shepherd, Omer Shapira, Josef Spjut, David Luebke; Stretchable Transducers for Haptic Interactions in Virtual and Augmented Reality, GPU Technology Conference VR Village, San Jose, May 9 - 11, 2017.
Conference Talks and Courses
- Josef Spjut; The Augmented Frontier: Challenges for Near Eye Display Computing, AR In Action, January 16-17, 2018. paper
- Bryan Peele, Benjamin Mac Murray, Robert Shepherd, Jose Barreiros, Omer Shapira, Josef Spjut, David Luebke; Stretchable Transducers for Kinesthetic Interactions in Virtual Reality, SIGGRAPH Experience Presentations, Los Angeles, August 3, 2017. paper
- Josef Spjut, Richard Piersall, Kirklann Lau; Build your own game controller, SIGGRAPH Studio, Los Angeles, August 10, 2015. (Studio Course) slides webpage
- Chris Larson, Josef Spjut, Ross Knepper, Robert Shepherd; OrbTouch: Recognizing Human Touch in Deformable Interfaces with Deep Neural Networks, Tech Report, arXiv:1706.02542, June, 2017. paper
- Jean Sung, Sebastian Krupa, Andrew Fishberg, Josef Spjut; An Approach to Data Prefetching Using 2-Dimensional Selection Criteria, Tech Report, arXiv:1505.03899, May, 2015. paper
- Dong-hyeon Park, Akhil Bagaria, Fabiha Hannan, Eric Storm, Josef Spjut; Sphynx: A Shared Instruction Cache Exporatory Study, Tech Report, arXiv:1412.1140, December 3, 2014. paper
- Eric Storm, Josef Spjut; A Time-to-Recache Case Study, Tech Report, March, 2014. paper
- Andrew Carter, Max Korbel, Paula Ning, Josef Spjut; Qualitative Cache Performance Analysis, Tech Report, September, 2013. paper
- Josef Spjut, Seth Pugsley; Time to Recache: Measuring Memory Miss Behavior, Tech Report, September, 2011. paper
- Daniel Kopta, Andrew Kensler, Thiago Ize, Josef Spjut, Erik Brunvand, Al Davis; Fast, Effective BVH Updates for Dynamic Ray-Traced Scenes Using Tree Rotations, Tech Report, UUCS 11-002, University of Utah, July, 2011. paper
- Daniel Kopta, Josef Spjut, Erik Brunvand; Grid-Based Ray Tracing for a Parallel Computing Architecture, High Performance Graphics (HPG'09), New Orleans, August 1-3, 2009. paper
- Daniel Kopta, Josef Spjut, Erik Brunvand, Steven Parker; Comparing Incoherent Ray Performance of TRaX vs. Manta, IEEE Symposium on Interactive Ray Tracing (RT08), August 9-10, 2008. paper
Research Students Advised
- Andrew Carter, HMC CS B.S. 2013 (at LinkedIn)
- Max Korbel, HMC Engineering B.S. 2013 (at Intel)
- Paula Ning, HMC Engineering B.S. 2013 (at Intel)
- Jingbin Yang, HMC Engineering B.S. 2015 (at Cruise)
- Dong-hyeon Park, HMC Engineering B.S. 2014 (at Univ. of Michigan: PhD Student)
- Eric Storm, HMC Engineering B.S. 2015 (at Lincoln Labs)
- Paul Jolly, HMC Engineering B.S. 2016 (expected)
- Fabiha Hannan, HMC Engineering B.S. 2016 (at Intel)
- Akhil Bagaria, HMC Engineering B.S. 2016 (at Apple)
- Ivan Wong, HMC Engineering B.S. 2015 (at NVIDIA)
- Skyler Williams, HMC CS B.S. 2016 (expected)
- Ramy Elminyawi, HMC Engineering B.S. 2016 (expected)
- Amy Ngai, HMC Engineering B.S. 2016 (at Millenium Space Systems)
- Richard Piersall, HMC Engineering B.S. 2016 (at Millenium Space Systems)
- Kirklann Lau, HMC Engineering B.S. 2016 (expected)
- Andrew Fishberg, HMC Engineering B.S. 2016 (expected)
- Da Eun Shim, HMC Engineering B.S. 2016 (at Biosense Webster)
- Jean Sung, HMC CS B.S. 2016 (at Facebook)
- Sebastian Krupa, HMC Engineering B.S. 2016 (expected)
Clinic Projects Advised
- Clinic for Dart Neuroscience, 2014-2015. Fabiha Hannan, Guillaume Legrain, Maggie Rabasca, Zachary Vickland, Tiancheng Yang, Josef Spjut, Philip Cheung, John McNeil.
- Clinic for Ixia, 2014-2015. Olivier Cheng, Stephen Ibanez, Amy Ngai, Joshua Sanz, Avi Thaker, Josef Spjut, Alon Regev;.
- USB 3.0 to Multi-Protocol Interface Adapter, Clinic Report for Rambus Incorporate, Harvey Mudd College, 183 pages, May 2014. Antoine Billig, Chanel Chang, Austin Chen, Obosa Obazuaye, Jeffrey Steele, Sean Velazquez, Josef Spjut, Pradeep Batra, Adrian Torres, Julia Cline.
- Multiplicative Based Division, Clinic Report for Intel Corp, Harvey Mudd College, 117 pages, May 2013. Dylan Stow, Carl Pearson, Jeffrey Steele, Shreyasha Paudel, Adam Parower, Gurchetan Singh, Dong-hyeon Park, Josef Spjut, Warren Furguson.
- Immersive Audio Game Development Kit Clinic Report for Texas Instruments, Harvey Mudd College, 110 pages, May 2013. Allison Card, Kacyn Fujii, Hannah Kastein, Paula Ning, Matthew Tambara, Stephanie Fawaz, Josef Spjut, Sourabh Ravindran, Nitish Murthy.
Funding and Donations
- $400 Jetson TK1 Development boards. September 2014.
- $1440 FPGA Donation from Altera. July 2013.
- $2100 Microcontroller and Programmer Donation from Microchip. May-October 2013.
- University Teaching Assistant Award. Utah Fall 2010
Awards and Honors
- Tau Beta Pi member since 2005
- University Teaching Assistant Award, Utah 2010-2011
- Best Paper Award, SASP 2008
- Chancellor's Scholorship, UCR 2000-2001
- University Honors Program, UCR 2000-2004
- Member, IEEE
- Member, ACM
- Reviewer, Computers and Graphics (CAG)
- Reviewer, High Performance Graphics (HPG)
- Reviewer, Transactions on Circuits and Systems (TCAS)
- Reviewer, Transactions on Very Large Scale Integration Systems (TVLSI)
- Reviewer, SIGGRAPH General Submissions and VR Village
- Jury Member, SIGGRAPH VR Village
- Reviewer, Journal of Imaging
- Reviewer, Symmetry
- Digital Design and Computer Architecture; HMC E85; F2012, S2013, F2013, S2014, F2014, S2015
- Video Game Console Design; HMC E190U (new class): S2015
- Microprocessor Design; HMC E155; F2012, F2013, F2014
- Advanced Embedded Systems; HMC E190P (heavy revision); S2014
- Advanced Parallel Computer Architecture; HMC E190O (new class); S2013
- Parallel Hardware Ray Tracing; Utah CS6965; F2011
As a teaching assistant:
- Kinetic Sculpture and Engineering; Utah CS5968/Art4455; F2010
- Introduction to Computer Graphics; Utah CS5600; S2007
- Network GameDesign; Utah CS59XX; S2007
- Operating Systems; Utah CS5460/6460; F2006
Wizard Fight Race
Led a group of four contributors in developing a game from scratch using the Unity game engine. This project was meant to see what a group of relatively inexperienced developers could do in comparison to other 72-hour game development projects that more well-established game developers participate in. (Playable with unity plugin at http://josef.spjut.me/games/WFR7II_Web/WFR7II_Web.html).
PyGauntlet Open Source Game
PyGauntlet is a game project in Python from an undergraduate software engineering course where a group of 7 students developed a game over 8 weeks. After the course finished, I took over the lead of it and obtained permission to release the source code and continue development. I added an OpenGL based renderer to the engine and introduced engine optimizations to allow the game to run well even on slower processors. (Source code available at http://code.google.com/p/pygauntlet/).