Josef B. Spjut

I am a computer generalist with experience in graphics architecture, embedded systems and displays. My interests in human relationships and human computer interfacing have led me to augmented reality and esports research. I work to create a future where people are closer than ever and computers provide the means for deeper human relationships.

Research Interests

Computer Graphics: Esports, Ray Tracing, Augmented Reality, Video Games

Computer Architecture: GPUs, Application Specific Architectures, Embedded Systems

Education

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

Professional Experience

NVIDIA Durham, NC, USA

Research Scientist June 2015 - Present

Augmented reality and esports 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 and research for the Ray Tracing Core in the Turing GPU architecture.

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.

Skills

Languages : C, C++, Python, SystemVerilog, VHDL, Assembly, Javascript.

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

Refereed Publications

  1. Jonghyun Kim, Youngmo Jeong, Michael Stengel, Kaan Aksit, Rachel Albert, Ward Lopes, Trey Greer, Ben Boudaoud, Alexander Majercik, Josef Spjut, Morgan McGuire, David Luebke; Foveated AR: Dynamically-Foveated Augmented Reality Display, ACM SIGGRAPH Proceedings, Los Angeles, July, 2019. (to appear) paper
  2. Mona Jalal, Josef Spjut, Ben Boudaoud, Margrit Betke; SIDOD: A Synthetic Image Dataset for 3D Object Pose Recognition with Distractors, Women in Computer Vision Workshop, Long Beach, June 16, 2019. (to appear) paper
  3. Jose Barreiros, Houston Claure, Bryan Peele, Omer Shapira, Josef Spjut, David Luebke, Malte Jung, Robert Shepherd; Fluidic Elastomer Actuators for Haptic Interactions in Virtual Reality, IEEE Robotics and Automation Letters (RA-L), None, February, 2019. paper
  4. Adam Marrs, Josef Spjut, Holger Gruen, Rahul Sathe, Morgan McGuire; Adaptive Temporal Antialiasing, High-Performance Graphics (HPG 2018), Vancouver, August 10-12, 2018. paper
  5. 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. paper
  6. 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. paper
  7. Trey Greer, Josef Spjut, David Luebke, Turner Whitted; Hybrid Modulation for Near Zero Display Latency, Society of Information Display, May 24-27, 2016. paper
  8. Daniel Kopta, Konstantin Shkurko, Josef Spjut, Erik Brunvand, Al Davis; Memory Considerations for Low Energy Ray Tracing, Computer Graphics Forum, August 7, 2014. paper
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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

Book Chapter

  1. Rahul Sathe, Holger Gruen, Adam Marrs, Josef Spjut, Morgan McGuire, Yury Uralsky; Adaptive Anti-Aliasing using Conservative Rasterization and GPU Ray Tracing, GPU Zen 2, April, 2019. paper
  2. Adam Marrs, Josef Spjut, Holger Gruen, Rahul Sathe, Morgan McGuire; Improving Temporal Antialiasing with Adaptive Ray Tracing, Ray Tracing Gems, March, 2019. paper

Technical Demos

  1. Jonghyun Kim, Michael Stengel, Jui-Yi Wu, Ben Boudaoud, Josef Spjut, Kaan Aksit, Rachel Albert, Trey Greer, Youngmo Jeong, Ward Lopes, Alexander Majercik, Peter Shirley, Morgan McGuire, David Luebke; Matching Visual Acuity & Prescription: Towards AR for Humans, SIGGRAPH Emerging Technologies, Los Angeles, July 28 - August 1, 2019. (to appear) paper
  2. Kishore Rathinavel, Praneeth Chakravarthula, Kaan Aksit, Josef Spjut, Ben Boudaoud, Turner Whitted, David Luebke, Henry Fuchs; Steerable Application-Adaptive Near-Eye Displays, SIGGRAPH Emerging Technologies, Vancouver, August 12 - 16, 2018. (Best in show award) paper
  3. 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
  4. 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
  5. 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

  1. Josef Spjut, Ben Boudaoud; Foveated Displays: Toward Classification of the Emerging Field, SIGGRAPH Talk, Los Angeles, July 28-31, 2019. (to appear) paper
  2. Josef Spjut; The Augmented Frontier: Challenges for Near Eye Display Computing, AR In Action, Boston, January 16-17, 2018. paper
  3. 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
  4. Josef Spjut, Richard Piersall, Kirklann Lau; Build your own game controller, SIGGRAPH Studio, Los Angeles, August 10, 2015. (Studio Course) slides webpage

Dissertation

  1. Josef Spjut; Efficient Ray Tracing Architectures, University of Utah Dissertation, 2015. paper

Technical Reports

  1. Konstantin Shkurko, Tim Grant, Erik Brunvand, Daniel Kopta, Josef Spjut, Elena Vasiou, Ian Mallett, Cem Yuksel; SimTrax: Simulation Infrastructure for Exploring Thousands of Cores, Tech Report, March 29, 2018. paper
  2. 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
  3. 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
  4. 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
  5. Eric Storm, Josef Spjut; A Time-to-Recache Case Study, Tech Report, March, 2014. paper
  6. Andrew Carter, Max Korbel, Paula Ning, Josef Spjut; Qualitative Cache Performance Analysis, Tech Report, September, 2013. paper
  7. Josef Spjut, Seth Pugsley; Time to Recache: Measuring Memory Miss Behavior, Tech Report, September, 2011. paper
  8. 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

Refereed Posters

  1. Joohwan Kim, Josef Spjut, Morgan McGuire, Alexander Majercik, Ben Boudaoud, Rachel Albert, David Luebke; Esports Arms Race: Latency and Refresh Rate for Competitive Gaming Tasks, Vision Science Society, St. Pete Beach, May 17-22, 2019. (to appear) paper
  2. Mona Jalal, Josef Spjut, Ben Boudaoud, Margrit Betke; Large-scale Synthetic Domain Randomized 6DoF Object Pose Estimation Dataset, New England Computer Vision Workshop, Boston, November 26, 2018. paper
  3. 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
  4. 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

Clinic Projects Advised

Funding and Donations

Awards and Honors

Professional Activities

Teaching

As a teaching assistant:

Game Projects

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/).