Eric Bainville

Personal information

Born 1969 in Paris, France
Married, two children

View Eric Bainville's LinkedIn profileView my profile

Employment History

2011-now - Senior Software Engineer, Apple Inc.

2006-2011 - Self-employed, BEALTO

Research and development in the fields of scientific data representation and interactive manipulation, numerical algorithms, image processing, GIS. During the past four years, I mainly worked for start-up companies and public research labs in France and Italy, porting the code and know-how of researchers to commercial products, and designing new algorithms and applications.
- OpenCL raw image processing in DxO Optics Pro (DxO)
- HPC benchmarks (Bull)
- OpenCL training
- Optimized linear algebra subroutines for BigDFT (CEA)
- Image based database server (Milpix)
- Visual search algorithms (Milpix)
- Interactive 3D geometry software Cabri 3D (Cabrilog)
- Interactive algebra software Alnuset (Didima)
- Linux softphone with simplified graphical interface (Technosens)
- Real-time video processing for road traffic detection (Capsys)
- Traffic light priority control for public transportation (Capsys)

2001-2006 - Project Manager and R&D Engineer, Cabrilog, Grenoble (France)

I defined the architecture and vision of Cabri 3D, an interactive 3D geometry software for math education. I then led the project and the team of 2 to 5 people involved in it. First version was released in September 2004. The current version Cabri 3D 2.0 is now an award-winning software recognized by the teaching community, localized in more than 20 languages, and distributed worldwide. I had the opportunity to present Cabri 3D "hands-on sessions" at several international conferences. Cabri 3D won a Bett Award in 2007.

2000-2001 - R&D Engineer, Temento Systems, Grenoble (France)

Software and hardware for board, system, FPGA test and validation throughout the whole development cycle. I managed the product release cycle and Unix porting. I also implemented a Tcl scripting tool into the DiaTem application, allowing the user to program advanced Tcl tests of the target board or chip, transparently interfaced through the JTAG bus.

1997-1999 - R&D Engineer, IMAG Lab. and Grenoble University

Study of numerical and computational geometry algorithms for interactive geometry software, in the Cabri Géomètre project led by Jean-Marie Laborde (before Cabrilog was founded in 2000).

1992-1996 - Teaching Assistant, Grenoble University

Algorithms and data structures, bachelor's degree level.

1985-1987 - Game Programmer, summer jobs, Titus Software, Paris (France)

Game programming in Basic, C and assembly (Z80, 6502, 6809, 68000).


Meta skills

Quickly acquire any new software/hardware knowledge. Permanent training and self-learning in a lot of fields.


Multithread/multiprocess/multihost algorithm design, on CPU and GPU. Expert knowledge of the architecture of modern CPU and GPU. OpenCL code design, porting, and performance tuning.

Numerical algorithms, image processing, computer vision, computational geometry

Expert in algorithms and data structures related to 2D and 3D data processing, and the associated math domains: linear algebra, projective geometry, optimization, machine learning.

Application design and project management

Design a software application, and manage its development and release cycles. Development methodology, testing, debug, source management, documentation, debug, localization, packaging, manuals.

Software development

Expert at object-oriented design and programming, using C++/Java (regular use of Qt, OpenGL, OpenCL, BLAS, STL, etc.) Scripting projects using Make, Perl, Python, Tcl, Sh, Php. Client-server applications: in-browser HTML, CSS, JavaScript, AJAX, Flex, etc. or stand-alone application for the client side, and Apache, Python, MySql, C++, etc. for the server side. Several years of development experience on Windows, Linux, and MacOS.


Fluent in French, English, and Italian. Experience in teaching, writing scientific publications, presenting products at conferences.


Website development. Linux system management (since 1992). Electronics (PIC programming, JTAG). Photography, mountain bike, skiing.


1996-1997 - Post-Doctoral training at The Robotics Institute of Carnegie Mellon University (Pittsburgh PA, USA), under the direction of Prof. Takeo Kanade.

Sub-voxel segmentation, reconstruction, and matching of 3D medical images.

1992-1996 - Ph.D. in Computer Science from Grenoble University, France, under the direction of Prof. Philippe Cinquin in the IMAG-TIMC research lab.

Real-time augmented reality for computer-aided surgery (link below).

1992 - Graduated in Theoretical Computer Science and Parallel Computing from Ecole Normale Supérieure, Lyon, France.

Selected publications and conferences

Geometria dello spazio con Cabri 3D (in Italian), Luigi Tomasi and Eric Bainville.

Book edited by MediaDirect SRL, Italy (2006).

Cutting and pasting polyhedrons using Cabri 3D, Eric Bainville.

T3 2006 conference (Teachers Teaching with Technology), Denver USA (2006).

Study and classification of 3D isometries, Eric Bainville.

ATCM 2005 conference (Asian Technology Conference in Mathematics), Cheong-Ju South Korea (2005).

Cabri 3D first release, presentation and courses, Eric Bainville, Rémi Dessarce, François-Régis Degott, Sébastien Roux, and Jean-Marie Laborde.

Cabriworld 2004 conference, Rome Italy (2004).

Closing presentation, presentation of Cabri 3D prototype, Eric Bainville.

Cabriworld 2001 conference, Montréal Canada (2001).

Constructions using conics, Eric Bainville and Bernard Genevès.

Math. Intelligencer 22 No. 3 (2000).

Tilings and isometries in the plane, Eric Bainville.

Cabriworld 1999 conference, San Paolo Brazil. I presented the same material in a series of courses at Cinvestav in Mexico City (1999).

Subvoxel model-based 3D segmentation using implicit snakes, Eric Bainville.

Carnegie Mellon University Tech Report CMU-RI-TR-97-26 (1997).

Modélisation géométrique et dynamique d'un geste chirurgical (in French), Eric Bainville.

Ph.D. dissertation (1996).

Computer Generated Visual Assistance during Retroperitoneoscopy, Eric Bainville, Philippe Chaffanjon, and Philippe Cinquin.

Computers in Biology and Medecine 25 No. 2 (1995).

Computer Generated Visual Assistance to a Surgical Operation : the Retroperitoneoscopy, Eric Bainville, Philippe Chaffanjon, and Philippe Cinquin.

MRCAS 1994 conference (Medical Robotics and Computer Assisted Surgery), Pittsburgh USA (1994).

Method and system for determining the fixation point on the femur of a crossed ligament of the knee, Eric Bainville, Philippe Cinquin, Rémi Julliard, Jocelyne Troccaz, Stéphane Lavallée, Guillaume Champleboux.

US Patent No. 5564437 (1993).