Vaibhav Saxena


               House No. 483, Sector 14, Gurgaon, Haryana - 122001                            

               Mobile:  +919811846404, saxena.vaibhav@gmail.com

 

Profile

·          3 yrs of experience in all phases of software development cycle - design, development, testing, packaging, release process and maintenance.

·          Solid background in developing cross-platform, high performance and scalable 3D graphics applications using graphics technologies e.g. OpenGL and different graphics APIs.

·          Good experience in working and developing software on wide range of Computer Platforms, Linux (x86, x86-64, IA64), MS Windows (x86), SGI IRIX and Sun Solaris.

·          Technology driven with ability to multi-task effectively.

 

Education

Indian Institute of Technology Delhi (IIT), New Delhi, India     

Five year Integrated Master of Technology in Mathematics and Computing, May 2003

o         Coursework included all aspects (theoretical and practical) of Computer Science and Mathematics.

o         Recipient of GATE assistantship for securing All India Rank 21 with percentile of 98.07 in Graduate Aptitude Test in Engineering  (GATE) 2002 in Mathematics.

 

UP Intermediate and High School Board Allahabad, Uttaranchal, India

Senior Secondary School Examination (XII), 1998

Secondary School Examination (X), 1996

 

Technical Expertise

 

Computer Languages                         C, C++, Java, MATLAB, perl, SML, HTML, JavaScript

                Compilers/Dev. Framework               GCC, ICC (Intel Compilers), VC++ (MFC), Visual Studio .NET               

APIs/Libraries/Tools                          OpenGL, OpenML, OpenSG, Xlib/GLX, Win32/WGL, Qt,

                                                            Imlib

Performance/Debugging                    Intel VTUNE, pfmon, gprof, gdb, valgrind

Languages                                         Hindi, English

            Computer Platforms

§          Operating System and Hardware Architecture - Windows, Linux (x86, x86-64, IA64) Redhat/FC/SUSE/SLES, IRIX, Sun Solaris.

§          System Structure - Single Processor desktop system, Workstation level SMP system to high-end multiprocessor, multi-pipe ccNUMA based systems.

§          Processor – Intel Pentium (IA32), Itaninum2 (IA64) and AMD Athlon 64 / Opteron (x86-64)

§          Graphics Hardware – ATI (FireGL, Radeon), NVIDIA (Geforce), both AGP and PCI Express based versions.

 

 

Professional Experience

 

            Employment Summary

Darshan Solutions, Gurgaon, India                                 - Dec 2005 till present.

Silicon Graphics (SGI) Gurgaon, India            - April 2004 – Dec 2005

Read-Ink Technologies, Bangalore, India     - July 2003 – April 2004

 

 

 

                       

Darshan Solutions  (A spin-off from SGI)                                       Gurgaon, India

                Software Consultant                                                                                                   Dec 2005 - Present

 

Darshan Solutions is a Spin-off Company from SGI and as part of this new company, for sometime I continued working on SGI’s software products OpenGL Multipipe SDK (MPK) and OpenGL Volumizer.  (Look under ‘Silicon Graphics’ for overview about these APIs)

 

            Tasks and Responsibilities:           

·          Adding support for SLES10 Linux (x86, x86-64 and IA64 version) to MPK and Volumizer.

·          Responsible for porting MPK to 32-bit Windows.

 

Keywords: Visual Studio .NET, Win32/WGL programming, Xlib, GLX, OpenGL, SUSE RPM build

            Platform – Linux, Windows, Language Used– C/C++, VC++/Visual Studio

 

            There were some other client specific projects:

               

Client: SGI India                                                                                                 Bangalore, India

                                                                                                                                April - Aug, 2006

 

Project Description

              The project was for one of the SGI's customers in India. SGI's customer wanted to

interactively visualize their large Aircraft model data on SGI's multiprocessor-multipipe visualization system Onyx4. The aim of the project was to demonstrate that SGI's hardware can perform up to customer's expectation and can fulfill their requirements.

 

Tasks and Responsibilities:

·          Developed application to interactively visualize customer's large Aircraft data managing multipipe processors, multiple graphics pipes and SGI's Scalable Graphics Capture (SGC) cards available on the system.

 

Keywords: SGC (Vanier) Cards, OpenML, speedshop, ogldebug, OpenGL Performer, runon/dplace, Platform – IRIX, Language Used– C/C++

 

 

Client: A software product company in CAD/CAM/CAE Area            Bangalore, India         

        July 2006 - Present

 

Project Description

               The Aim of the project is to find the replacement of Cosmo3D/OpenGL Optimizer API and move away to some other SceneGraph based API depending upon client's requirements.

 

Tasks and Responsibilities:

·          Investigating about available SceneGraph APIs like OpenSG, OpenSceneGraph, nvSG etc and determining their pros & cons based on feature set needed by the client.

·          Porting of some Cosmo3D/Optimizer based applications to other SceneGraph APIs demonstrating same features and capabilities in the ported application.

 

Platform – Windows, Language Used– VC++/Visual Studio .NET

 

 

Silicon Graphics (SGI)                                                                                           Gurgaon, India     

                Member of Technical Staff (MTS)                                                                         April 2004 – Dec 2005

 

As part of SGI’s Engineering Team in India, I was involved with following graphics software products:

 

q       OpenGL Volumizer

 

OpenGL Volumizer is a cross platform, high level volume rendering C++ API for interactive, high quality, scalable visualization of large volumetric data sets.

               

                Tasks and Responsibilities:           

·          Responsible for managing various aspects of the API

o         Extending the API by developing new and desired features

o         Adding support for different and newer platforms (Linux RHEL/FC/SUSE/SLES and Windows) for keeping the API cross-platform

 

·          Ported the Volumizer API to Windows from Linux. This task included

o         Debugging and helping with port of core Volumizer Library.

o         Porting existing sample applications and writing new sample applications.

o         Providing a build and test environment for sample code.

 

·          Managed Volumizer release related work, which involved

o         Fixing platform specific build and packaging issues.

o         Providing input to technical writers for updating end user documentation based on the features added and other changes made in the product.

o         Providing input to product release team to ensure accuracy of public download web page for the product.

 

·          Performed optimizations and added new features to a Volumizer based volume rendering demo application, which was used to demonstrate scalability features of SGI’s Multipipe Visualization System ‘Prism’ during its launch at IEEE Visualization 2004 conference at Austin, Texas, US.

 

Keywords: VC++, MFC, Win32/WGL Programming, OpenGL, ICC (Intel C/C++ Compilers), Visualization, Volume Rendering, AGP, PCI Express, GPU Programming, GLSL, Performer, VTK, Xerces, gSOAP

Platform – Linux, IRIX and Windows, Language Used– C, C++, VC++/Visual Studio .NET

 

 

q       OpenGL Multipipe SDK

OpenGL Multipipe SDK (MPK) is an API that provides a C/C++ framework for developing scalable graphics applications.

 

Tasks and Responsibilities:

·          Added new features and fixed bugs in MPK for better performance and scalability on IA64 Linux based SGI’s multiprocessor and multipipe Prism Visualization System.

 

·          Added support for 32-bit Linux to MPK

o         Ported core library, fixed build issues, tested the software and fixed bugs.

o         Added FLEXlm based Licensing for 32-bit Linux version of the software.

 

·          Responsible for managing MPK 3.2 release work for 32-bit and IA64 Linux

 

·          Contributed to MPK’s IEEE Visualization 2005 conference paper “OpenGL Multipipe SDK:  A Toolkit for Scalable Parallel Rendering.

 

Keywords: Xlib, GLX, OpenGL, GLUT, runon, cpuset, libnuma, multipipe, multiprocessor, multicore, scalability, FLEXlm, RPM, compositor, ccNUMA, SMP, cscope, amd64, Perforce

Platform – Linux and IRIX, Language Used– C, C++

 

Read-Ink Technologies Pvt. Ltd.                                                                 Bangalore, India

 Software Engineer                                                                                           July 2003 – April 2004

 

                An ex-Stanford professor had started this R&D Company. The company used to work in the field of online handwriting recognition.

 

Tasks and Responsibilities:

The online handwriting recognition system used to work in various modules analyzing features and characteristics of a handwriting. My responsibilities included:

o         Design, development and analysis of some of the modules in the recognition   system.

o         Determination of Error and Accuracy estimates of these developed modules.

 

Platform –Windows, Language Used– Matlab, VC++

 

 

Project Experience

               

                Girona Graphics Group, Universitat de Girona                Girona, Barcelona, Spain

Volume Visualization Intern                                                                                  May 2002 - July 2002

 

Project – Volume Visualization of Medical Imaging Dataset using 3D Texture Mapping.

 

Tasks and Responsibilities:

·          Designed and implemented an application along with its GUI to obtain the 3D volume visualization of medical imaging (CT/MRI scan) raw dataset using the 3D texture mapping in OpenGL.

·          Project involved all the software development steps like problem definition, design, analysis, implementation, testing etc.

·          Implementation was done in C++ and GUI was created using Qt library. 

 

Platform – Linux and Windows, Language Used– C/C++, VC++/Visual Studio