Resume / CV / Curriculum Vitae

Shaun Nirenstein’s Overview
(click here for linkedin profile)

Current
Past
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 2011Present)

My mandate is to research and implement new “secret sauce”.

Software Engineering Manager
NVIDIA (October 2008June 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 2004October 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 2003September 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 2000February 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 19972000 (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
19992003

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
20032003

A short cerificate for practicing software engineers.

University of Cape Town

B.Sc. (hons), Computer Science
19981998

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
19951997

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