< Home |
Jean-Luc Duprat: RésuméJLD@ACM.ORG |
Objectives | |
I have over 30 years experience as a software developer and manager in technology. In this time, I have worked for major hardware manufacturers, major video game studios, a major animated motion picture, and with Internet broadcasting of independent films. I have worked for startups and large public corporations. I have built code, systems, platforms and teams. I am currently looking at the problems associated with GPUs programming from the point of view of the compiler — programming models, heterogeneous compute, and their implications on hardware architectures. |
Education | |
2008-2012 | University of VictoriaVictoria, BC Canada |
PhD Student in Computer Science, Faculty of Engineering.Not completed. | |
1994-1997 | University of British Columbia (UBC)Vancouver, BC Canada |
M.Sc. Computer Science (Computer Graphics), Faculty of Science.Specialized in computer graphics working in the Imager Laboratory under the supervision of David R. Forsey.Thesis: Integrating H-Splines into Softimage|3D. | |
1990-1994 | McGill UniversityMontréal, PQ Canada |
B.Sc. Major Physics, Minor Mathematics, Faculty of Science. |
Professional Experience | |
Since 2013 | AppleCupertino, CA U.S.A. |
Senior Engineering Manager, Developer TechnologiesI have built and managed and org with several teams supporting Apple Silicon on all Apple devices: Apple Watch, AppleTV, iPhone, iPad, Macs and Apple Vision Pro. We build LLVM-based compiler backends and engage with the architecture, modelling, micro architecture, silicon enginering, driver, Xcode and Swift teams; we support the program from pre-silicon to production and consistently ship multiple products every year to billions of devices.Engineering Manager, Developer TechnologiesI manage a team of 10-12 engineers supporting multiple GPU backends covering all current iOS devices. The team's expertise spans a broad domain of knowledge including: LLVM, compiler optimizations, code transformation, code generation, computer graphics, shading languages, hardware architecture. We strive to compile quickly and generate small code that runs fast, while minimizing power and enabling the hardware team to minimize area. We cover both the pre-silicon and production aspects of the development cycle.Compiler Backend Engineer, LLVM TeamCompiler backend engineer on GPU code generation team. I am focused on enabling future graphics and compute technologies by maximizing performance and minimizing power consumption of the generated code, while keeping compile times minimal. | |
2007-2013 | Intel CorporationVictoria, BC CanadaHillsboro, OR U.S.A. |
Hardware and Software Architect, Visual and Parallel Computing Group (VPG), Intel Architecture Group (IAG)Ported the open-source Intel SPMD Program Compiler (ISPC) to Knight's Corner (KNC)—Intel's first Xeon Phi processor out of the Many Integrated Core (MIC) architecture. ISPC is an LLVM-based compiler, the KNC backend emits C++ and intrinsics.Helped customers port kernels from various HPC workloads from Xeon to Xeon Phi, and then extract performance out of the machine. These workloads represent an assortment of C/C++/Fortran mini-applications representing larger applications in use at the U.S. Department of Energy (DOE) National Labs. Worked on various interoperability issues between ISPC, Fortran, OpenMP and MPI. Performed studies on various hardware features and their impact on software for the Knight's family of processors. This included evaluating impact of ISA changes on key workload performance, as well as the impact of various micro-architectural features—including page size, TLBs, caches. Used and modified the Intel architecture simulator, as well as custom-built SystemC-based infrastructure. Some of this work has resulted in patent applications. | |
Established the Intel Victoria siteIdentified and selected office space for Intel in Victoria. Coordinated across several divisions for budgeting, planning and realization of the required upgrades to the space, in accordance with Intel standards. Worked with the contractors' superintendent during the construction project which lasted two months. Managed setup of network infrastructure, IT systems, phone and security systems. Planned the move into the new space. I remain the site manager responsible for IT, security and day-to-day operations; on top of my responsibilities as an architect. | |
Graphics and Software Architect, Visual and Parallel Computing Group (VPG), Intel Architecture Group (IAG)Part of the team that wrote the high-performance DX driver for Larrabee. Work included adding support for DX9 and DX10 features to the driver, shader compiler, state management system and DX conformance testing (WHQL). | |
Graphics Architect, Advanced Rendering Technologies (ART), Software Solutions Group (SSG)Designed and developed the software infrastructure for the demand-paged texturing system for Larrabee. Architected and coordinated work between multiple groups at Intel: hardware architecture, functional simulation, operating system development, shader compiler development, image and compression routines development, DirectX driver development, native system API development, native rendering API development and game developer support. Some of this work has resulted in patent applications.Industry-Academy liaison between Intel and the University of Victoria. Worked with the department of Computer Science at UVic, coordinated grant applications from UVic faculty with Intel, tracked students participating in sponsored research, tracked NDA coverage. Obtained grant renewals. Worked with Canadian funding agencies (NSERC and MITACS). | |
Senior Graphics Software Engineer, Advanced Rendering Technologies (ART), Software Solutions Group (SSG)Senior engineer working on the native graphics APIs for the Larrabee architecture. | |
2007 | Neoptica, Inc.Victoria, BC CanadaSan Francisco, CA U.S.A. |
Senior Software EngineerNeoptica built a software platform that made fully programmable graphics a reality on machines with heterogeneous computing resources, scaling from the PS3 to multi-core, multi-gpu PCs. Neoptica was acquired by Intel in October 2007. | |
2005-2007 | Electronic Arts, Inc.Vancouver, BC Canada |
Software Engineer, WorldWide Visualization GroupPart of the WWVG, a research group striving to push the limits of visual quality on next-gen platforms. Worked on Playable Universal Capture (UCAP), PCA and other compression techniques. This work was showcased at the Sony PS3 press conference at E3 in May 2006, in a Siggraph 2006 Sketch and shipped as part of Tiger Woods PGA Tour 07 and Need for Speed Carbon on both XBox360 and PS3. Rebuilt the modeling engine of the VirtualMe PC avatar creation tool. Finally, started exploring advanced rendering techniques made possible by DirectX10-class hardware. | |
Software Engineer, Criterion CanadaWorked on the RenderWare libraries which are used throughout the organization to support game teams. My work focused around rendering technology for the next-gen platforms, particularly PS3, while supporting current-gen hardware (mostly PS2). | |
2004-2005 | Upper Bounds InteractiveVancouver, BC Canada |
Rendering ProgrammerRendering programmer on Tactile3D application. My role on the project was specifically to increase rendering speed, using various techniques including culling, impostoring and level of detail techniques. | |
1997-2003 | Radical Games, Ltd.Vancouver, BC Canada |
Rendering and Camera ProgrammerWorked on the production of the game The Hulk tied to movie of same name, released April 2003 by Universal Interactive. Developer in charge of rendering on XBox, GameCube PS2 and PC. Developer in charge of the camera system used throughout the game | |
Content ArchitectWorked on the production of the AI: Gladiator game tied to the film Artificial Intelligence by director Stephen Spielberg, unreleased (Microsoft, XBox exclusive). Responsible for art data issues, how content integrates into game engine, art asset management and facial animation integration into the game engine. | |
Senior Research Engineer, R&D groupDeveloped Rodin, an implementation of H-Splines for 3D Studio MAX and Maya. The Maya release was used internally, while the MAX release was also sold as a commercial package. This development straddled studio transition from using 3D Max to Maya. Focused on modeling, character and facial animation issues, subdivision surfaces,… In parallel to this development, our team developed an H-Spline (B-Spline and Catmull-Clark subdivision surfaces) real-time rendering engine for the PS2. | |
1999-2002 | Pepperview BroadcastingVancouver, BC CanadaParis, France |
Founding PartnerCreated and maintained a website studiocities.net backed by a SQL database. The goal was to build a community around a set of resources for independent film makers. The site offered streaming of short independent films in Real and QuickTime formats. | |
1996-1997 | DreamWorks SKG, Feature Animation Dept.Los Angeles, CA U.S.A. |
Software DeveloperSoftware developer during the pre-production of the feature animation production Shrek, released May 2001 by DreamWorks & PDI. Developed a Softimage 3.7 plugin that integrated H-Splines into the package. Focus on grafting H-Splines together to create geometry that is difficult to represent with B-Spline patches, e.g.: hands. For more details, see my Master's thesis. | |
1994-1996 | University of British Columbia (UBC)Vancouver, BC Canada |
Research AssistantResearch on modeling and animation in collaboration with several Canadian companies:
| |
Research AssistantCreated an interactive web site called FaceMaker to demonstrate the uses of H-Splines for facial animation via a web interface. Output was either GIF or VRML. | |
Teaching AssistantIntroductory and intermediate Scheme and C++ programming. Marked assignments and exams, performed teaching labs and tutorials for groups of students. Answered students' questions and assisted them with homework assignments during office hours. | |
1994 | Crédit LyonnaisBrussels, Belgium |
Summer job, performing system administration duties and database maintenance for the Private Investment division of the bank. |
Skills | |
Geometric modeling using polygons, splines, NURBS, subdivision surfaces and implicit surfaces. | |
Animation techniques. | |
Interactive and real-time rendering techniques, tools, shaders. | |
Computational geometry. | |
Strong math and physics background. | |
Concurrency, programming models, memory models, multi-threading, data-parallel computations, code vectorization. | |
Computer architecture, microarchitecture, performance optimization. | |
Extensive experience programming in C and C++. | |
Extensive experience programming and modeling systems with Mathematica. | |
Extensive experience with x86/x86_64 assembly programming. | |
Working knowledge of Swift, Perl, Python, C#, PHP, Bash and various other scripting languages. | |
Developed under SunOS, Irix, FreeBSD, Linux, Windows, iOS and macOS at various times. | |
Linux networking: security, routing, traffic shaping, firewalls. | |
Written GUIs using various toolkits, including SwiftUI, UIKit, AppKit, C# WinForms, GTK, Qt and Motif. | |
Knowledge of HTML, CSS, XML, SQL and other web technologies. | |
I have developed plug-ins for various image processing and 3D packages, including Maya, Softimage and 3D Studio Max. | |
Experienced at programming embedded systems, in particular gaming consoles. Worked most recently on XBox360 and PlayStation3; but also XBox, PlayStation2, PlayStation1 and GameCube. | |
Fluent in English and French. | |
Holder of a Canadian and US Private Pilot's license. |
Affiliations | |
Association for Computing Machinery (ACM). | |
Institute of Electrical and Electronics Engineers (IEEE). |
References | |
Available upon request |