Explaining StGermain: An aspect oriented environment for building extensible computational mechanics...
Download
1 / 15

Explaining StGermain: An aspect oriented environment for building extensible computational mechanics modeling software - PowerPoint PPT Presentation


  • 79 Views
  • Uploaded on
  • Presentation posted in: General

Explaining StGermain: An aspect oriented environment for building extensible computational mechanics modeling software. HIPS-TOPMoDRS workshop – IPDPS 2007 Steve Quenette. … for those interested in large-scale HPC software… Drivers Approach Technology itself.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

Explaining StGermain: An aspect oriented environment for building extensible computational mechanics modeling software

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Explaining stgermain an aspect oriented environment for building extensible computational mechanics modeling software
Explaining StGermain: An aspect oriented environment for building extensible computational mechanics modeling software

HIPS-TOPMoDRS workshop – IPDPS 2007

Steve Quenette

Steve Quenette,

Head of CSD / Senior Software Engineer


Outline

… for those interested in large-scale HPC software… building extensible computational mechanics modeling software

Drivers

Approach

Technology itself

… for those whose interests are closer to hardware…

Outline

Steve Quenette,

Head of CSD / Senior Software Engineer


A picture of an outcome
A picture of an outcome building extensible computational mechanics modeling software

What makes this phenomena model hard to implement?

Steve Quenette,

Head of CSD / Senior Software Engineer


And another
And another building extensible computational mechanics modeling software

What’s different here? Why is the “difference” hard?

Steve Quenette,

Head of CSD / Senior Software Engineer


And some more
And some more building extensible computational mechanics modeling software

Different phenomena: different numerics and physics

Steve Quenette,

Head of CSD / Senior Software Engineer


Case study the path to underworld
Case-study: the path to Underworld building extensible computational mechanics modeling software

  • Convect1989, 2D, FE/FD, C, Stokes

  • CITCOM1994, 3D, FE, MG, FW, Stokes & Greens

    • CitcomT1997, 3D-spherical, zero-width-elements

    • Citcom-w-faults1997, sub-surfaces

    • CitcomS1997, 3D-spherical, better MG, parallel

  • CITCOM1997, better MG, better physics

  • Ellipsis1998, back to 2D, PIC

    • Ellipsis-3D 2005, 3D

  • Snark2003, parallel, no MG, better FW

  • Underworld2006, MG, plasticity, better FW

Steve Quenette,

Head of CSD / Senior Software Engineer


Lesson learnt with snark

Snark: our first involvement building extensible computational mechanics modeling software

Observation:

new features needed to insert themselves within existing other features

New features needed to extend existing other data structures

Numerical schemesand physics modelsrender code that cross both controlling and data aspects

And, statically typed object orientation does not handle this well

Lesson learnt with Snark

typedef struct {

double x;

double y;

int mat_I;

double slipDir[3];

} Particle;

void ConstitutiveUpdate( … ) {

if( material == plastic ) {

}

}

typedef struct {

double x;

double y;

int mat_I;

} Particle;

void ConstitutiveUpdate( … ) {

}

plasticity model:

- history dependant slip dir

- behaves according to …

Steve Quenette,

Head of CSD / Senior Software Engineer


Approach
Approach building extensible computational mechanics modeling software

  • The spectrum of laptop to HPC

    • Parallelisation and portability

  • Aim: the ability to change a numerical scheme or physics model without needing to change the phenomena model code

    • phenomena model code becomes our “OO design”

  • Realization that this is about people with different roles and expectations working together

Steve Quenette,

Head of CSD / Senior Software Engineer


Competencies of a comp mech code
Competencies of a comp. mech. code building extensible computational mechanics modeling software

Better encapsulation of concerns at each level

Steve Quenette,

Head of CSD / Senior Software Engineer


Stgermain to underworld
StGermain to Underworld building extensible computational mechanics modeling software

Software layers approximating roles

Steve Quenette,

Head of CSD / Senior Software Engineer


What does stgermain do
What does StGermain do? building extensible computational mechanics modeling software

Steve Quenette,

Head of CSD / Senior Software Engineer


Input files dictionaries
Input Files & Dictionaries building extensible computational mechanics modeling software

  • Your code “pulls” parameters

  • StGermain assembles components

Dictionary_GetBool_WithDefault(

self.dictionary,

“eta0”,

1.0f );

Dictionary

main() {

Stg_Component_Construct(

context,

…,

false

)

Steve Quenette,

Head of CSD / Senior Software Engineer


Components and variables

Components building extensible computational mechanics modeling software

“Light weight”

Have fixed services

Source code has a meta file with validation information

Variables

Cross component associations of data without source code

Allows totally declarative creation of state storage

Components and Variables

Steve Quenette,

Head of CSD / Senior Software Engineer


Entrypoints extensions
Entrypoints & extensions building extensible computational mechanics modeling software

  • For real problems: cross cutting issue

ExtensionManager_Add(

particleExtMgr,

MYPLASTICITY_HANDLE,

sizeof(double)*3 );

… MyPlasticity_ConstitutiveUpdate {

}

EntryPoint_AppendHook(

Context_GetEntryPoint( cnxt, EP_CONSTITUTIVEUPDATE ),

MyPlasticity_ConstitutiveUpdate );

Steve Quenette,

Head of CSD / Senior Software Engineer


Conclusion

Took a punt with a different approach to large scale HPC software design

Usage of aspect concepts in a HPC setting

People are coming on board because of the continuous evolution in numerics and physics capabilities

Acknowledgements:

CSD crew: Pat Sunter, Luke Hodkinson, Alan Lo, Raquibul Hassan, Kathleen Humble, John Spencer

Louis Moresi’s group

Dave May, Dave Stegman, Vincent Meriaux, Cecile Duboz, Julian Giodani, Rob Turnbull

CIG

Mike Gurnis, Walter Laundry

Conclusion

Steve Quenette,

Head of CSD / Senior Software Engineer


ad
  • Login