Josef B. Spjut

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.

Research Interests

Computer Graphics: Rendering, Real Time Ray Tracing, Global Illumination, 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

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.

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. Trey Greer, Josef Spjut, David Luebke, Turner Whitted; Hybrid Modulation for Near Zero Display Latency, Society of Information Display, May 24-27, 2016. paper
  2. Daniel Kopta, Konstantin Shkurko, Josef Spjut, Erik Brunvand, Al Davis; Memory Considerations for Low Energy Ray Tracing, Computer Graphics Forum, August 7, 2014. paper
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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

Technical Demos

  1. 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
  2. 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
  3. 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. 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
  2. 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. 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
  2. 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
  3. Eric Storm, Josef Spjut; A Time-to-Recache Case Study, Tech Report, March, 2014. paper
  4. Andrew Carter, Max Korbel, Paula Ning, Josef Spjut; Qualitative Cache Performance Analysis, Tech Report, September, 2013. paper
  5. Josef Spjut, Seth Pugsley; Time to Recache: Measuring Memory Miss Behavior, Tech Report, September, 2011. paper
  6. 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. 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
  2. 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/).