Europython – Python in Science talks LLG Python – A python based

Performance Parallel Geometric Computing. Europython ... Parallel Computing – Developments on Archipel ... Systems Architecture, Software Optimization.
2MB taille 82 téléchargements 85 vues
Europython – Python in Science talks LLG Python – A python based approach for High Performance Parallel Geometric Computing M. Jé Jérémie Farret – CTO – [email protected] Dr. JeanJean-Fran Franç çois Rotg Rotgé é – CSO – jean [email protected] July 2006 LLG/EUP/JFA/2006-002 rev 1.4

• Objectives

LLG Python Python based programming paradigm for Geometric Simulation

Unify volumic data representation and processing for real time applications Unify geometry, graphics and physics simulation Enable interoperability for various simulation domains

• Notion of Universal 3D Programming • Replacing parametric and polygonal surfaces with descriptive polynomials for generalized algebraic surfaces

Where do we come from

• Montreal University – 1991 to 1995 Desargues Project • Arithmetic of Forms • Implementation based on functional programming Scheme • Parallel Computing – Developments on Archipel Transputer Systems

Thesis • Dr J. F. Rotgé - “L’Arithmétique des Formes - Une introduction à la logique de l’espace” – July 1997

Where do we come from

• Arithmetic of Forms Unifying Topology, Arithmetic and lambda calculus

• Projective Geometry and Unconditional Programming Introducing a superset of Euclidian and other conventional geometric systems Eliminating geometric special cases, i.e. testing and conditions Generalizing homogenous coordinates : Integer based, No loss of precision

Where do we come from

• SGDL Systems – 1995 to 2005 Applying research results and Arithmetics of Forms to industrial applications Focus on Applications / Proofs of concept for hyperlarge scenes Scheme based implementation for mainstream systems

Who we are

• Parallel Geometry – 2006 Single, unified polynomial based description for Graphics, Physics and Geometry simulations Focus on High Performance Computing and Hypercomplex Simulation Applications • Systems Architecture, Software Optimization

Python based implementation targeted at various hardware environments • Supercomputing, Parallel Systems and Multicore Architecture • Embedded Systems

LLG Python for Geometric Programming A polynomial based approach

Geometry

Graphics Polynomial

Physics Computing Systems

LLG Python for Geometric Programming A polynomial based approach Polynomials Polynomials

Implicit Implicit Surfaces Surfaces Polyhedrons Polyhedrons Parametric Parametric Surfaces Surfaces Subdivision Subdivision Surfaces Surfaces

Polygons Polygons

LLG Python for Geometric Programming From Scheme to Python

• Why Python? Functional and imperative programming Efficient coupling with C/C++ based developments Benefits from strong support, both industry and research community Portability, from embedded implementations, to supercomputing and parallel processing support Lightning fast prototyping and development Offers great performance

LLG Python for Geometric Programming Development methodology From Algorithms to C through Python

• Algorithmic phase Development based on Computer Algebra Systems such as Maple Algorithms focusing on hyper efficient polynomial processing • Focused on algorithmic optimization • Parallelized • Integer based

Geometrographie.org • Parallel Geometry contribution to Geometry Optimization community

LLG Python for Geometric Programming Development methodology From Algorithms to C through Python

• Python phases Initial Phase : literal translation • Extremely efficient translation of Maple developed algorithms • Relying on LLG Python environment – Efficient, automated wrapping over developed LLG C code and engines • No implementation bound optimization at this point • No interoperability with Parallel Systems and Environments

LLG Python for Geometric Programming Development methodology From Algorithms to C through Python

• Python phases

Refinement Phases

• Parallel Systems and Environments interoperability (Such as SciPy / NumPy) • Python based optimizations, exploratory phase – Guido Van Rossum “Extending and Embedding the Python Interpreter” – Pyrex – Psycho

Intellectual Property

• Python developed algorithms usable for patenting purposes

LLG Python for Geometric Programming Development methodology From Algorithms to C through Python

• C phase First targeted towards performance critical processing Integration with interoperability in mind • Parallel Systems and Environments – Immediate availability for simulation application in targeted environments • Embedded Systems – Integer based implementation, ARM compatible approach and programming • Interoperability with Python environment and data structures

LLG Python • C development results immediately integrated and operable within LLG Python environment

LLG Python as a Simulation Environment Core Principles – Functional Architecture Spongia System … …

.LLV .LLV

.LLP .LLP … … Atlantis System Medusa System

Cnidaria Architecture

.LLG

Unda System

Chiroptera / Orca Systems

.LLC

LLG Python as a Simulation Environment Core Principles - Systems architecture and Parallel Processing LLG Python Client environment

Conversion Tools Web Based Editor Visualization / Results Display

Versioning System

Medusa Web Based Authoring Environment

LLG Python server environment Atlantis Optimization Processing

Spongia Physics

Unda Rendering

Chiroptera / Orca Navigation

Parallel Computing Environment

LLG Python as a Simulation Environment Simulation Applications Mathematical Surfaces

General Quartic Curve

Disjoint Quartic Curve

Torus determination by horizontal parallel planes

Torus determination by planes passing through its symmetry axis

LLG Python as a Simulation Environment Simulation Applications Molecular Simulation

LLG Python as a Simulation Environment Simulation Applications CMS and Geometrography.org

CMS Pascal Surface

CMS Complex Molecule

CMS Geometrography

LLG Python as a Simulation Environment Simulation Applications Robotics

LLG LLGPython Python SMP2 Simulation System Training and haptics

International Space Station data

• Parallel access and computing • Physics simulation / Collision detection Polygonal data Embedded Rendering System

Robotic data

Panoscope System 360o Immersive Visualization

LLG Python as a Simulation Environment Simulation Applications Public Safety / Homeland Security

GPS positioning

Geolocation

LIDAR Acquisition

Parallel Parallel Geometric Geometric Simulation Simulation System System (PG2S) (PG2S) • RealReal-time access • Parallel access and computing • Rendering optimization • Physics simulation / Collision detection • Volumic Navigation Engine / Visibility detection

Mobile Carry-all Path planning

LLG Python as a Simulation Environment Simulation Applications Aeronautics and Naval Simulation

Section based modeling Strategy Per section / “Maitre couple”

Classic shape typology modeling Strategy