Shaun Nirenstein’s Overview
(click here for linkedin profile)
- Current
- R&D Architect at Jump Trading, LLC
- Past
- Software Engineering Manager at NVIDIA
- Senior 3D System Software Engineer at NVIDIA
- Researcher and Lead Developer at University of Cape Town
- Team Leader at EMSS
- Lecturer, Project Supervisor, Teaching Assistant, Tutor at University of Cape Town
- Education
- PhD, Computer Science
- B.Sc. (Hons), Computer Science
- B.Sc. Computer Science and Mathematics
Shaun Nirenstein’s Summary
I am a senior technologist with 16 years professional software development experience and a PhD in Computer Science.
I am a performance specialist, having spent many years designing and optimizing everything from high level algorithms and code, to low level implementation details such as microcode optimization requiring a deep understanding of CPU and GPU architecture. I have contributed directly to the tuning of GPU architectures for maximum performance and to the NVIDIA Direct3D device drivers. I have successfully applied these skills to the development of world class high frequency trading infrastructure and strategies.
I have worked as a software engineering manager for 4+ years, managing both application development and system software development.
I have extensive experience developing high performance computer graphics algorithms and super efficient system software. I have also worked as a graphics researcher for several years, and I have numerous academic publications on the topic.
I have had wide exposure to many advanced mathematical and quantitative topics, including extensive research into analytic visibility computations using higher dimensionality duality mappings
I have worked in many different environments including successful startups, research software development, large Silicon Valley corporations and financial technology.
Specialties
low latency networking, financial technology, software development management, low level CPU and GPU performance optimization, research, graphics algorithms, GPU architecture, system software development (OS/drivers/etc.), parallel programming, software architecture and design.
Shaun Nirenstein’s Experience
R&D Architect
Jump Trading, LLC (June 2011– Present)
My mandate is to research and implement new “secret sauce”.
NVIDIA (October 2008– June 2011, (2 years 9 months), Santa Clara, California
- As the DirectX Chips Performance Manager. I was responsible for:
- the performance of newly taped out and in-development chips on the Direct3D driver.
- a team of engineers working on architecture related performance optimizations.
- the bringup of new GPU architectures and derivative parts.
- maintaining a feedback loop between the software, architecture and developer technology groups on performance issues.
- the performance of the Direct Compute driver.
Senior 3D System Software Engineer
NVIDIA (October 2004– October 2008, (4 years 1 month), Santa Clara, California
GPU hardware and software performance analysis and optimization, system level software development, kernel mode development and debugging, problem solving, graphics algorithm development and analysis, software engineering principles.
Researcher and Lead Developer
University of Cape Town (March 2003– September 2004 (1 year 7 months) Cape Town, South Africa
I was the Lead Developer and Software Manager for a team of 8.
We developed a system that allowed non-programmers to easily construct multi-user 3D virtual environments and to define the behaviour of the actors and environment using a natural language interface.
Skills/Tools: C++, OO Design, Python, Qt, Visual Studio, Game-engine API programming and pipeline tools (NDL’s Gamebryo/Net-immerse).
The project was highly multidisciplinary, and required me to work closely with 3D modelers/artists, fine artists, anthropologists, media specialists and research psychologists.
I also lectured a graduate course on Graphics Algorithms for Virtual Reality Applications during my tenure of this position.
Team Leader
EMSS June 2000– February 2003 (2 years 9 months), Stellenbosch, South Africa
I wrote visualization software for EM simulations.
Skills/Tools: C++, Java, Qt, Hoops3D, multi-platform development(Linux, IRIX, HPUX, Solaris and Windows), portable software, developing and implementing visualzsation algorithms, software engineering principles.
Lecturer, Project Supervisor, Teaching Assistant, Tutor
University of Cape Town 1997– 2000 (3 years), Cape Town Area, South Africa
Various part-time teaching positions: C++, Java, Interactive Computer Graphics, Graphics for Virtual Reality, Undergraduate and Honours project supervisor
Shaun Nirenstein’s Publications
PhD Dissertation
Title: Fast and Accurate Visibility Pre-Processing (PDF)
Supervisor: Prof. Edwin Blake
Examination committee:
- Prof. Daniel Cohen-Or (Tel-Aviv University)
- Dr. François Sillion (iMAGIS)
- Prof. Seth Teller (M.I.T.)
Conference/Workshop/Journal
Denis Haumont, Otso Mäkinen and Shaun Nirenstein,
A low Dimensional Framework for Exact Polygon-to-Polygon Occlusion Queries,
Rendering Techniques 2005: Proceedings of the 16th Eurographics Symposium on Rendering, 211-222, Konstanz, Germany, June 2005. (PDF)
Shaun Nirenstein and Edwin Blake,
Hardware Accelerated Aggressive Visibility Preprocessing using Adaptive Sampling, Rendering Techniques 2004: Proceedings of the 15th Eurographics Symposium on Rendering, 207- 216, Norrköping, Sweden, June 2004. (PDF)
Adrian Sharpe, Matthew Hampton, Shaun Nirenstein, James Gain and Edwin Blake,
Accelerating Ray Shooting Through Aggressive 5D Visibility Pre-processing,
Afrigraph: Proceedings of the 2nd international conference on Computer graphics, virtual reality, visualisation and interaction in Africa. pg. 95 – 100, 2003. (PDF)
Shaun Nirenstein, Edwin Blake and James Gain,
Exact From Region Visibility Culling, Rendering Techniques 2002: Proceedings of the 13th Eurographics Workshop on Rendering,
Springer-Verlag, 191 – 202, Pisa, Italy 2002. (PDF)
Shaun Nirenstein, Edwin Blake, Simon Winberg and Ashton Mason,
Hierarchical Level of Detail Optimisation for Constant Framerate Rendering of Radiosity Scenes, South African Computer Journal, No. 29, pg. 32 – 40, November 29 – December 2002. (PDF)
Shaun Nirenstein, Edwin Blake, Simon Winberg and Ashton Mason,
Hierarchical Level of Detail Optimisation for Constant Framerate Rendering of Radiosity Scenes, Proceedings of SAICSIT 2001 (Superseded by SACJ publication)
Shaun Nirenstein’s Education
University of Cape Town
PhD,Computer Science
1999 – 2003
My PhD pertained to computer graphics and computational geometry. Specifically, I worked on solving 3D visibility pre-processing problems numerically using GPUs, and analytically by developing a tractable 5D CSG dual-space algorithm.
Activities and Societies:Management Committee member for National Computer Olympiad, Lecturer for Graphics for Virtual Reality course, TA for Graphics Course, Supervisor for several honours year main projects, Lecturer and tutor for Marang Voyage 5000 computer science crash course/outreach project
Faculty Training Institute
Certificate, Object Oriented Analysis and Design in UML
2003 – 2003
A short cerificate for practicing software engineers.
University of Cape Town
B.Sc. (hons), Computer Science
1998 – 1998
A lot of general CS coursework, some graduate math classes, and a published journal paper on optimized radiosity rendering. Graduated as First Class.
Activities and Societies:Management Committee member for National Computer Olympiad, TA for Computer Graphics course
University of Cape Town
B.Sc.,Computer Science and Mathematics
1995 – 1997
Double major in Computer Science and Pure Math. Two years of Applied Math, and courses in Psychology and Philosophy. On the Dean’s Merit List for my final year.
Activities and Societies:Management Committee member for National Computer Olympiad, Undergraduate C++ tutor