Post Job Free
Sign in

Engineer Software

Location:
United States
Posted:
November 18, 2012

Contact this candidate

Resume:

Tim C. Schr der

Email: ***@*********.*** Skype: blitzcode LinkedIn Profile See www.blitzcode.net for further details

Experienced Software Engineer

System Programming / HPC / Computer Graphics Specialist

Solving challenging parallel programming problems, large datasets, realtime constraints, researching and

implementing algorithms on everything from a game console to a supercomputer. Writing maintainable

and efficient code for shipping software products. Diverse computer graphics background ranging from

games to physically based rendering. Experience with functional programming and AI techniques.

Skills

Programming Languages

Strong C/C++ (Many different platforms and environments, C++11, STL, Boost, Parallel

extensions like CUDA and OpenMP, Projects with >1M LoC, 10+ Years)

Working knowledge of C#, C++/CLI, Lua and Vim Script

Haskell (GHC), Various GPU and GPGPU Languages, HTML & CSS, XML

Linux / UNIX

Development experience on Linux and others like Darwin / BSD, SGI IRIX / Altix etc.

Working with standard tools, Makefiles, Vim power user, Highly networked environments (ssh,

X11, GNU screen, rsync, cURL, VPNs, etc.), pthreads, sockets and other POSIX APIs, Cygwin,

GCC and GNU Binutils, ELF file format, Build optimizations for CellBE SPUs

Debugging of complex multithreaded applications with TotalView Debugger, knowledge of gdb and

its various front ends, also familiar with SGI ProDev WorkShop Debugger (cvd)

Valgrind, Intel VTune Performance Analyzer for Linux

Macintosh

OS X power user with development experience, mostly from a UNIX perspective using multi-

platform tools and APIs, Apple Shark profiler, Mach kernel APIs, etc.

Windows

A decade of Windows programming practice (deep knowledge of tools and platform)

Win32/64 Expert (Processes & Threads, Memory Management, DLLs & Binary Compatible

Interfaces, Networking, .NET Environment, DirectX, Porting to / from UNIX etc.)

User interface development with Windows Forms, MFC and the raw Windows APIs

Visual Studio power user

Graphics Programming

Everything from realtime 3D for games to physically based rendering, techniques such as

Path Tracing, Photon Mapping, Surface Parameterization, Spherical Harmonics, Progressive

Meshes, Shadow Maps / Volumes, Spectral Rendering, Tone Mapping, Environment Map Lighting,

Image Compression (DCT based), BRDFs, Hardware Shaders, Precomputed Radiance Transfer,

10+ years of experience with Direct3D and OpenGL

Graphics experience on multi CPU / GPU systems, Game Consoles, CellBE and GPGPU platforms

Vertex and Pixel Shaders (Assembler, Cg, CgFX, GLSL, HLSL and FX Files)

mental ray HW Shaders, Phenomena and .mi Scene Description Language

Additional Algorithms / Techniques / Data Structures

Monte Carlo Tree Search / UCT, (Quasi-) Monte Carlo Integration, Out-of-Core Processing, Lock-

Free Programming, Data Compression (Burrows-Wheeler Transform, Huffman Codes, etc.), BVH &

kD Trees, Hash Tables, Stencil Codes, Functional Programming, ...

Additional Software

VMWare, Doxygen, VTune, Quantify, SVN / CVS, Perforce, SourceSafe, FogBugz, Bugzilla, Jira,

Visual Assist, IncrediBuild, Pulse, BoundsChecker, NVIDIA Visual Profiler, nvidia-smi,

PLAYSTATION 3 SDK & GameOS tools (including PA Suite, ProDG debugger), IBM and Sony Linux

CellBE SDKs, Classic XBox SDK, Basic knowledge of the 360 SDK

Professional Experience

NVIDIA (November 2010 Present, Senior Compute DevTech Engineer)

Opening up new domains of application for GPUs by researching and developing GPU computing

algorithms, driving their adoption with key application developers, and ensuring the best possible

performance of GPU computing applications on current and next-generation architectures

Supported HPC experts and domain scientists during GPU port of a major Numerical Weather

Prediction package. Software included stencil metaprogramming library in CUDA C++ and PGI

Accelerator instrumented F90 code. Deployment on Tesla GPU machines from Cray and HP.

Customer training through webinars, conference presentations, on-site visits and seminars

Gave feedback based on customer codes to internal driver, architecture, compiler and tool teams

Developed CUDA SDK samples (Peer-to-Peer, Unified Virtual Addressing etc.), Documentation

NaturalMotion (January 2010 April 2010, Senior Runtime Engineer)

Engineer on the PC and console (PS3 / 360) runtimes for morpheme / euphoria game animation

middleware (optimization, refactoring, development of new animation nodes, C++ / Lua,

Direct3D based renderer (characters, shadows, outdoor lighting) for demonstration application

mental images (May 2004 December 2009, Senior Graphics Software Engineer)

Autodesk ProMaterial shader support for iray renderer

Optimization work on mental ray's BSP2 renderer (memory, intersection)

Early development of a relighting tool, including algorithm / data structure design,

implementation of the GUI and file formats (project put on hold for business reasons)

Researched raytracing algorithms for CellBE processor using simulator / IBM Blade, successful

prototype led to contract for a CellBE port of mental ray

Worked with a large range of CellBE platforms: IBM QS20/22 Blades, Sony BCU-100 and

PLAYSTATION 3 (GameOS & Linux), implemented advanced concepts such as cooperative

multithreading for SPEs, a pipeline for loading and executing MetaSL SPE shader code, a C++

template library for DMA transfers, trained and supported team members in all things CellBE

Developed and documented strategy to port raytracing algorithm from proprietary chip to NVIDIA

CUDA platform, including implementation of a CPU based prototype

Maintained and enhanced mental ray's OpenGL / Cg rendering backend while doing a Direct3D /

HLSL / FX File port of it

Developed scalable rendering software on multi-GPU machines from SGI and PANTA Systems

Worked on next-generation rendering platform for RealityServer 2.0:

GLSL / Cg, Tile Rendering, OpenGL, Texturing, DDS Support, Shadowmaps, Anti-Aliasing,

Cubemaps, ...

Assisted in MetaSL / mental mill development (Cg backend, Direct3D rendering, early evaluation

of an VM platform, builds for external employees, CellBE port)

Early design and implementation of 2D annotation renderer for RealityServer 2.0

Supported hardware shader writers for 3ds Max and SolidWorks

Created testsuite to ensure quality of mental ray hardware rendering

Developed in a UNIX-centric environment using Linux / IRIX / Cygwin

Freelancer (March 2004 - May 2004)

Implemented Photon Mapping for walkthrough applications as C++ library for KPB

Created a lightmap compiler and viewer using C++ and OpenGL for S&P Software

Presented 'Realtime Shadow Techniques' at JOIN04 Conference

Crytek (March 2001 - August 2003, Software Engineer)

Developer on tools, game and engine code for Far Cry / CryENGINE

Worked on WYSIWYG game world editor (MFC application, procedural tex. generation & object

placement, heightfield editing & lighting, game engine integration,

Did basic rendering R&D and a proof of concept port of CryENGINE on the Xbox

Wrote game logic code in C++ / Lua (had to work in multiplayer scenarios)

Implemented Lua script code debugger integrated in game & editor (including GUI)

Programmed lightmap system that combines classic lightmaps with bumpmapping

Portfolio

Please visit my website www.blitzcode.net for examples of my work.



Contact this candidate