productive & sustainable: more effective cse

64
Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energys National Nuclear Security Administration under contract DE-AC04-94AL85000. Productive & Sustainable: More Effective CSE Mike Heroux Senior Scientist Center for Computing Research Sandia National Laboratories Scientist in Residence St. John’s University, MN Michael Heroux SIAM CSE 2017 1

Upload: others

Post on 23-Mar-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000. !

Productive & Sustainable:More Effective CSEMike HerouxSenior ScientistCenter for Computing ResearchSandia National Laboratories

Scientist in ResidenceSt. John’s University, MN

MichaelHerouxSIAMCSE2017 1

16thSIAMConferenceonParallelProcessingforScien>ficCompu>ng(PP18)March7-10,2018,Tokyo,Japan

§  Venue§  Nishi-WasedaCampus,WasedaUniversity

§  OrganizingCommiSeeCo-Chairs’s§  SatoshiMatsuoka(TokyoIns>tuteofTechnology,Japan)§  KengoNakajima(TheUniversityofTokyo,Japan)§  OlafSchenk(UniversitadellaSvizzeraitaliana,Switzerland)

§  Contact§  KengoNakajima,nakajima(at)cc.u-tokyo.ac.jp§  hSp://nkl.cc.u-tokyo.ac.jp/SIAMPP18/§  http://www.siam.org/meetings/pp18/

MichaelHerouxSIAMCSE2017 2

TEAMS,COLLABORATORS,INSPIRATIONS

3MichaelHerouxSIAMCSE2017

DOEASCRIDEASProduc>vityProject

MichaelHerouxSIAMCSE2017 4

CollaboratorsandInfluencers

5

Michael Heroux (SNL), Co-Lead PI Lois Curfman McInnes (ANL), Co-Lead PI David Bernholdt (ORNL), Co-PI, Outreach Lead Todd Gamblin (LLNL), Co-PI Osni Marques (LBNL), Co-PI David Moulton (LANL), Co-PI Boyana Norris (Univ of Oregon), Co-PI Satish Balay (ANL) Roscoe Bartlett (SNL) Anshu Dubey (ANL) Rinku Gupta (ANL) Christoph Junghans (LANL) Alicia Klinvex (SNL)

Reed Milewicz (SNL) Mark Miller (LLNL) Elaine Raybourn (SNL) Barry Smith (ANL) Louis Vernon (LANL) Greg Watson (ORNL) James Willenbring (SNL) Lisa Childers (ALCF) Rebecca Hartman-Baker (NERSC) Judy Hill (OLCF) Hai Ah Nam (LANL) Jean Shuler (LLNL)

Facilities Liaisons

IDEAS-ECPProduc>vityProject

+xSDK-ECPProjectMichaelHerouxSIAMCSE2017

Inspira>onsandCollabora>ons

6MichaelHerouxSIAMCSE2017

Outline

§  Concepts&Defini>ons.§  WhyIcareaboutproduc>vity&sustainability.§  Incen>ves:BeSerproduc>vity&sustainability.§  Completenessphilosophy.§  SomePrac>calStrategies.§  Produc>vity++andBeSerScien>ficSoeware

7 MichaelHerouxSIAMCSE2017 7

MyRoles

§ Regardingobserva>onsonopportuni>estoimprove:§ Morelikeapsychologistthanexpert.

§ Regardingsoewaretools,processes,prac>cesimprovements:§ Morelikeacarpenterthanexpert.

8MichaelHerouxSIAMCSE2017

CONCEPTS&DEFINITIONS

9MichaelHerouxSIAMCSE2017

Produc>vity&Sustainability

§  Produc>vity–Outputperunitinput.§  Specifically:DeveloperProduc9vity.

§  Sustainability–Thefuturecostofusability.§  Specifically:So;wareSustainability.

§  Strategy:Focusonimprovement.§  Optometristapproach.

MichaelHerouxSIAMCSE2017 10

Scenario:Youarebehindindevelopingasophis9catednewmodelinyourso;warethatyouwanttouseforresultsinanupcomingpaper.Whichofthesecouldbereasonablechoices?

§  Developasimplermodelforthepaper.§  Setotherworkasideandspendmore>meondevelopment.§  Askforanextensiononthepaperdeadline.§  Developsophis>catedmodel,butdon’ttestitscorrectness.§  Developsophis>catedmodel,butdon’tdocumentitorcheckitin.

BeSer,Faster,Cheaper:Picktwoofthethree.

MichaelHerouxSIAMCSE2017 11

ImprovedDeveloperProduc>vity

“BeSer,Faster,Cheaper:Pickallthree.”–Nearterm.Scenario:(6monthslater)Aeerinves>ngindeveloperproduc<vityimprovements,youareon>meindevelopingasophis>catednewmodelinyoursoewarethatyouwanttouseforresultsinanupcomingpaper.Investindevelopertools,processes,prac>ces.

MichaelHerouxSIAMCSE2017 12

ImprovedSoewareSustainability

“BeSer,Faster,Cheaper:Pickallthree.”–Longterm.Scenario:(3yearslater)Aeerinves>nginsoCwaresustainabilityimprovements,youareon>meindevelopingseveralsophis>catednewmodelsinyoursoewarethatyouwanttouseforresultsinupcomingpapers.Investintes>ng,documenta>on,integra>onforlong-termsoewareusability.

MichaelHerouxSIAMCSE2017 13

PRODUCTIVITY&SUSTAINABILITY:WHYNOW?

14MichaelHerouxSIAMCSE2017

Reproducibility

• NY Times highlights “problems”.

• Only one of many cited examples.

• CSE has been spared this “spotlight” (so far).

http://www.nytimes.com/2015/08/28/science/many-social-science-findings-not-as-strong-as-claimed-study-says.html?_r=0!

MichaelHerouxSIAMCSE2017 15

FutureHighPerformanceCompu>ng:§ ISNOTprimarilyaboutHW.§ ISprimarilyaboutAlgorithms.§ ISprimarilyaboutsoeware:

§ ΔA,ΔS>>ΔH§ Algs:AdequateR&Dfocus.§ SW:Opportuni>esforimprovement.

16MichaelHerouxSIAMCSE2017

“Easy”WorkinProgress§  Newparallelalgorithms:

§  Turningouttobefeasible.§  Cleverideas:DavidKeyestalkfromMonday.§  Lotstodo,butsteadyprogress§ Muchevidenceinthisconference.

§  CurrentThreadProgrammingEnvironments:§  C++,OpenMP,others:Working.§  Run>mes:S>llalotofwork,butprogress.

§  Lotstodo,butcommunityisfocused.

MichaelHerouxSIAMCSE2017 17

“Hard”Work

§  BillionsSLOCofencodedscience&engineering.

§  Challenge:§  Transfer,refactor,rewriteformodernsystems.§  Dosowithmodestinvestmentbumpup.§ Workacrossdis>nctanddiverseteams.§  Deliverscienceatthesame>me.§ Makethenextdisrup>oneasiertoaddress.

MichaelHerouxSIAMCSE2017 18

TOWARDREPRODUCIBLESCIENCE:CREATINGINCENTIVES

19 MichaelHerouxSIAMCSE2017 19

Incen>vesToChange

•  Reproducibility •  SW Quality Requirements •  Employer Recognition

Productivity & Sustainability Investments

Demand

Enable Common statement: “I would love to do a better job, but I need to: •  Get this paper submitted. •  Complete this project task. •  Do something my employer values more. Goal: Change incentives to include value of better software.

MichaelHerouxSIAMCSE2017 20

ReproducibilityTerminology

§  ReviewableResearch.Thedescrip>onsoftheresearchmethodscanbeindependentlyassessedandtheresultsjudgedcredible.(Thisincludesbothtradi>onalpeerreviewandcommunityreview,anddoesnotnecessarilyimplyreproducibility.)

§  ReplicableResearch.Toolsaremadeavailablethatwouldallowonetoduplicatetheresultsoftheresearch,forexamplebyrunningtheauthors’codetoproducetheplotsshowninthepublica>on.(Heretoolsmightbelimitedinscope,e.g.,onlyessen>aldataorexecutables,andmightonlybemadeavailabletorefereesoronlyuponrequest.)

§  ConfirmableResearch.ThemainconclusionsoftheresearchcanbeaSainedindependentlywithouttheuseofsoewareprovidedbytheauthor.(Butusingthecompletedescrip>onofalgorithmsandmethodologyprovidedinthepublica>onandanysupplementarymaterials.)

§  AuditableResearch.Sufficientrecords(includingdataandsoeware)havebeenarchivedsothattheresearchcanbedefendedlaterifnecessaryordifferencesbetweenindependentconfirma>onsresolved.Thearchivemightbeprivate,aswithtradi>onallaboratorynotebooks.

§  OpenorReproducibleResearch.Auditableresearchmadeopenlyavailable.Thiscomprisedwell-documentedandfullyopencodeanddatathatarepubliclyavailablethatwouldallowoneto(a)fullyauditthecomputa>onalprocedure,(b)replicateandalsoindependentlyreproducetheresultsoftheresearch,and(c)extendtheresultsorapplythemethodtonewproblems.

V. Stodden, D. H. Bailey, J. Borwein, R. J. LeVeque, W. Rider, and W. Stein. 2013. Setting the Default to Reproducible: Reproducibility in

Computational and Experimental Mathematics. (2013). https://icerm.brown.edu/tw12-5-rcem/icerm_report.pdf

MichaelHerouxSIAMCSE2017 21

§  TOMSRCRIni>a>ve:RefereeData.§ WhyTOMS?

§ Tradi>onofrealsoewarethatothersuse.

ACMTOMS

22 MichaelHerouxSIAMCSE2017 22

ACMTOMSReplicatedComputa>onalResults(RCR)

§  Standardreviewerassignment:§  Nothingchanges.

§  RCRreviewerassignment:§  Concurrentwithstandardreviews.

§  RCRprocess:§ Mul>-facetedapproach,BoSomline:Trustthereviewer.

§  Publica>on:§  ReplicatedComputa>onalResultsDesigna>on.§  Reviewreportappearswithpublishedmanuscript.

MichaelHerouxSIAMCSE2017 23

RCRProcess:TwoBasicApproaches

1.  Independentreplica>on:§  Openreview.

2.  Reviewofcomputa>onalresultsar>facts:§ ”Bou>que”compu>ngsystem.§  Inthissitua>on:

§ Carefuldocumenta>onoftheprocess.§ Soewareshouldhaveitsownsubstan>alV&Vprocess.

MichaelHerouxSIAMCSE2017 24

BigPictureofTOMSRCR

§  Improvescience.

§  Notgoodnow:§  Trustcomesfrom“cloud”ofpaperswithsimilarresults.§ Whichcoulds>llbewrong.§  Replicability:Firststeptowardimprovement.

§  Engagea“darkpor>on”oftheR&Dcommunity.§  Reviewersnotamongtypicalreviewerpool.§  Prac>>oners,users.ExpertatuseofMathSW.

Thank you for taking the time to consider our paper for your journal. XXX has agreed to undergo the RCR process should the paper proceed far enough in the review process to qualify. To make this easier we have preserved the exact copy of the code used for the results (including additional code for generating detailed statistics that is not in the library version of the code).

MichaelHerouxSIAMCSE2017 25

ComingtoYourWorldSoon:ReproducibilityRequirements

§  Theseconferencesexpectar>factevalua>onappendices(mostop>onally):§  CGO,PPoPP,PACT,RTSSandSC.§  hSp://fursin.net/reproducibility.html

§  ACMReplicatedComputa>onalResults(RCR).§  ACMTOMS,TOMACS.§  hSp://toms.acm.org/replicated-computa>onal-results.cfm

§  ACMBadging.§  hSps://www.acm.org/publica>ons/policies/ar>fact-review-badging

MichaelHerouxSIAMCSE2017 26

SC17ReproducibilityIni>a>ve§  Twoappendices:

§ Ar>factdescrip>on(AD).§ Schema>cofyourcompu>ngenvironment.§ Makesiteasiertoreruncomputa>onsinfuture.§ ADrequiredforbestpaper&studentpaper.

§ Computa>onalResultsAnalysis(CRA).§ Targets”bou>que”environments.§ Improvestrustworthiness.

§ Details:hSp://sc17.supercompu>ng.org/submiSers/technical-papers/reproducibility-ini>a>ves-for-technical-papers/

MichaelHerouxSIAMCSE2017 27

SourcesforCRAmetrics§  Synthe>coperatorswithknown:

§  Spectrum(Hugediagonals).§  Rank(byconstruc>ons).

§  Invariantsubspaces:§  Example:Posi>onal/rota>onalinvariance(structures).

§  Conserva>onprinciples:§  Example:Fluxthroughafinitevolume.

§  General:§  Pre-condi>ons,post-condi>ons,invariants.

MichaelHerouxSIAMCSE2017 28

Incen>ves&Produc>vity/Sustainability

•  Reproducibility •  SW Quality Requirements

•  Employer Recognition

SW Productivity & Sustainability Investments

Demand

Enable

New funding proposal element: SW Productivity and Sustainability Plan

MichaelHerouxSIAMCSE2017 29

DOESWProduc>vityandSustainabilityPlan(SWPSP).

§  KeyEn>>es:§  DOEBiologicalandEnvironmentalResearch(BER).§  DOEAdvancedScien>ficCompu>ngResearch(ASCR)§  IDEASProject

§  Milestone:§  First-of-a-kindSWProduc>vityandSustainabilityPlan.

MichaelHerouxSIAMCSE2017 30

DOEBERSWPSPRequirements

§  DescribeoverallSWdevelopmentprocess.§  Soewarelifecycle,tes>ng,documenta>onandtraining.

§  Developmenttoolsandprocesses:§  sourcemanagement,issuetracking,regressiontes>ng,SWdistribu>on.

§  Trainingandtransi>on:§  Newanddepar>ngteammembers.

§  Con>nuousprocessimprovement:§  GetngbeSeratproduc>vityandsustainability.

MichaelHerouxSIAMCSE2017 31

Employers&Produc>vity/Sustainability

•  Reproducibility •  SW Quality Requirements •  Employer Recognition

SW Productivity & Sustainability Investments

Demand

Enable

Next focus: •  Work with DOE labs to recognize SW as base research.

•  Pressing for Scientific SW Productivity R&D base funding.

MichaelHerouxSIAMCSE2017 32

HowtheFuturewillbeDifferent

§  Publishers:§  Willexpectreproduciblecomputa>onalresults.

§  Fundingagencies:§  Willexpectimprovedproduc>vity,sustainablesoeware.

§  Employers:§  Willrewardstaff,facultyproducinggoodsoeware.

§  Impact:High-qualityCSEsoewarewillmaSeralotmore.

MichaelHerouxSIAMCSE2017 33

PRODUCTIVITYIMPROVEMENT

34 MichaelHerouxSIAMCSE2017 34

CSE&FormalSoewareMethodologies:TroubledHistory

35

§  Cray(1990):§  FormalWaterfallMethod.

§  DOEASCI(2000):§  CMMI

§  Failedtofollowownprocess:Elicitrequirements.

MichaelHerouxSIAMCSE2017

CSEComplete:Useful“Overhead”§  CodeComplete:Ul>matevalueiscode.

§  Shouldweonlywritecode?§  Somenon-codingac>vi>esimprovecode.

§  CSEComplete:Ul>matevalueisCSE.§  Whatac>vi>esimproveCSE?

36

“Plans are worthless, but planning is everything.” Dwight D. Eisenhower

“Give me six hours to chop down a tree and I will spend the first four sharpening the axe.”

Abraham Lincoln

MichaelHerouxSIAMCSE2017

PRODUCTIVITYIMPROVEMENT:PLANNING

37 MichaelHerouxSIAMCSE2017 37

38

Visible Progress (Writing code, computing results)

100 %

0 % Planning

Recoding and Porting to new Platforms

Percent Effort

Time Midlife Effort Profile

Endlife Effort Profile

Adapted from Software Project Survival Guide, Steve McConnell

Code-and-Fix Development Approach

Early Effort Profile

MichaelHerouxSIAMCSE2017

39

Visible Progress (Writing code, computing results)

100 %

0 %

Planning

Recoding and Porting to new Platforms

Percent Effort

Time

Simple Planned Development Approach

Midlife Effort Profile

Ongoing Effort Profile

Early Effort Profile

MichaelHerouxSIAMCSE2017

Planningtools:Usewhatyouknow

40

KokkosKernels - add design note for discussion. This design note is very informal and working note for discussion. … For typeset, "make"

KokkosKernels - add more algorithm variants. In this algorithm design, I have a few assumptions. …

Commit log messages Latex Planning Document

KokkosKernels:Micro&BatchedBLASDesignDocument§  6weeks:DesignbyLaTeX.

§  Reviewbydiverseexperts.§  Significantdesignchanges:Intextonly.

§  2weeks:Writecode.

Message:Usethetoolsyouknow.

Courtesy: KokkosKernels Development Team

MichaelHerouxSIAMCSE2017

PRODUCTIVITYIMPROVEMENT:ISSUETRACKING

41 MichaelHerouxSIAMCSE2017 41

Managingissues:Fundamentalsoewareprocess

42

§  Issue:Bugreport,featurerequest§  Approaches:

§  Short-termmemory,officenotepad§  ToDo.txtoncomputerdesktop(1person)§  Issues.txtinrepositoryroot(smallco-locatedteam)§  …§ Web-basedtool+Kanban(distributed,largerteam)§ Web-basedtool+Scrum(full->medevteam)

Informal, less training

Formal, more training

Continual improvement

MichaelHerouxSIAMCSE2017

Kanbanprinciples

43

§  Limitnumberof“InProgress”tasks§  Produc>vityimprovement:

§  Op>mize“flexibilityvsswapoverhead”balance.Noovercommitng.

§  Produc>vityweaknessexposedasboSleneck.Teammustiden>fyandfixtheboSleneck.

§  Effec>veinR&Dsetng.Avoidsadeadline-basedapproach.Deadlinesaredealtwithinadifferentway.

§  Providesaboardforviewingandmanagingissues

MichaelHerouxSIAMCSE2017

BasicKanbanBacklog Ready In Progress Done •  Any

task idea

•  Task + how to do it.

•  Could be pulled when slot opens.

•  Task you are working on right now.

•  The only Kanban rule: Can have only so many “In Progress” tasks.

•  Limit is based on experience, calibration.

•  Completed tasks.

•  Record of your life activities.

•  Rate of completion is your “velocity”.

MichaelHerouxSIAMCSE2017 44

Kanban Iterative Develop

ment

X Loop

KanbanX

X=Sustainability,Performance

TOWARDAREPEATABLEPROCESS

MichaelHerouxSIAMCSE2017 46

SummarizeProjectPrac>ces

SetGoals ConstructPTC

RecordCurrentPTC

Values

CreateImprovement

Plan

Repeat

AssessProgress

PSIPWorkflow

ExecutePlan

Start

SWProduc>vity&SustainabilityImprovementPlans

MichaelHerouxSIAMCSE2017 47

ProgressTrackingCardExample

MichaelHerouxSIAMCSE2017 48

Practice: Test Coverage Score (0 – 5): Score Descriptions 0 Little or no independent testing. Functional testing via users. 1 Independent functional testing of primary capabilities. 2 Primary functional testing, some unit test coverage. 3 Comprehensive unit testing, primary functional testing. 4 Comprehensive unit testing, functional testing for documented use cases. 5 Comprehensive unit, use case functional testing; test coverage commitment.

49

BSS Software Platform

Component Technology

Backend Frontend

Google Docs GitHub Ruby on Rails

Location Google Drive betterscientificsoftware organization

betterscientificsoftware.info

Purpose •  Rapid collaborative content development.

•  Multi-user typing, suggested edits, comments.

•  Content creation, refinement, management (from Google Drive).

•  Content packaging for use with BSS.info

•  User-facing portal •  Polished backend

content •  Blogs, forums •  Mailing lists.

Contributors Community content experts

Community content experts. BSS staff.

BSS staff. Web dev experts.

Consumers BSS GitHub Backend BSS Frontend CSE community

Content Notes

Content migrates to GitHub after it stabilizes.

Content is managed in git repos, markdown.

Content from backend, community.

New community portal: Scientific Software Improvement Exchange https://betterscientificsoftware.io May

2017

MichaelHerouxSIAMCSE2017

Summary§  CSEisnotcompletewithoutincorpora>ngbeSer:

§  Reproducibility:Canyourresultsbetrusted?§  Sustainability:Willyourecosystemlivelongandprosper?§  Produc>vity:Willyoursoewaredevelopmenteffortsbecompe>>ve?

§  Produc>vityeffortmustenhanceCSEresults:§  Highquality,lowvaluesoewarecannotbetheoutcome.§  Qualityimprovementsmustbemeasured.

§  Changesinpublishers,funders,employersexpecta>ons:§  Couldviewasbothersome:More“overhead”impedingprogress.§  Couldbeopportunity:Beproac>ve,partoftheini>a>ve.

50 MichaelHerouxSIAMCSE2017 50

Produc>vity++Ini>a>veAsk:IsMyWork_______?

https://github.com/trilinos/Trilinos/wiki/Productivity---Initiative

Productivity++ Traceable In Progress Sustainable Improved

Version(1.2(

MichaelHerouxSIAMCSE2017 51

Contribute!

§  hSps://github.com/beSerscien>ficsoeware/beSerscien>ficsoeware.github.io/blob/master/README.md

§  Orsearch“githubbeSerscien>ficsoeware”.

52MichaelHerouxSIAMCSE2017

Acknowledgments53

§  SandiaNa>onalLaboratoriesisamul>-programlaboratorymanagedandoperatedbySandiaCorpora>on,awhollyownedsubsidiaryofLockheedMar>nCorpora>on,fortheU.S.DepartmentofEnergy’sNa>onalNuclearSecurityAdministra>onundercontractDE-AC04-94AL85000.SANDNO.2016-8466C.

MichaelHerouxSIAMCSE2017

PRODUCTIVITYIMPROVEMENT:APPLICATIONCOMPOSITIONANDSOFTWAREECO-SYSTEMS

54 MichaelHerouxSIAMCSE2017 54

Extreme-ScaleScien<ficSoCwareEcosystem

Libraries•  Solvers,etc.•  Interoperable.

Frameworks&tools•  Docgenerators.•  Test,buildframework.

Extreme-ScaleScien<ficSoCwareDevelopmentKit(xSDK)

SWengineering•  Produc>vitytools.•  Models,processes.

Domaincomponents•  Reac>ngflow,etc.•  Reusable.

Documenta>oncontent•  Sourcemarkup.•  Embeddedexamples.

Tes>ngcontent•  Unittests.•  Testfixtures.

Buildcontent•  Rules.•  Parameters.

Libraryinterfaces•  Parameterlists.•  Interfaceadapters.•  Func>oncalls.

Shareddataobjects•  Meshes.•  Matrices,vectors.

Na>vecode&dataobjects•  Singleusecode.•  Coordinatedcomponentuse.•  Applica>onspecific.

Extreme-scaleScienceApplica<ons

Domaincomponentinterfaces•  Datamediatorinterac>ons.•  Hierarchicalorganiza>on.•  Mul>scale/mul>physicscoupling.

55 MichaelHerouxSIAMCSE2017 55

xSDKfocus

56§  Commonconfigureandlinkcapabili>es

§  xSDKusersneedfullandconsistentaccesstoallxSDKcapabili>es§  Namespaceandversionconflictsmakesimultaneousbuild/linkof

xSDKdifficult§  Determininganapproachthatcanbeadoptedbyanylibraryor

componentsdevelopmentteamforstandardizedconfigure/linkprocesses

§  Libraryinteroperability§  Designingforperformanceportability

Libraries•  Solvers,etc.•  Interoperable.

Frameworks&tools•  Docgenerators.•  Test,buildframework.

Extreme-ScaleScien>ficSoewareDevelopmentKit(xSDK)

SWengineering•  Produc>vitytools.•  Models,processes.

Domaincomponents•  Reac>ngflow,etc.•  Reusable.

MichaelHerouxSIAMCSE2017

StandardxSDKpackageinstalla>oninterface

57

Motivation: Obtaining, configuring, and installing multiple independent software packages is tedious and error prone. !•  Need consistency of compiler (+version,

options), 3rd-party packages, etc.!Approach: Define a standard xSDK package installation interface to which all xSDK packages will subscribe and be tested !Accomplishments: !•  Work on implementations of the standard by

the hypre, PETSc, SuperLU, and Trilinos developers!

•  PETSc can now use the “scriptable” feature of the installers to simultaneously install hypre, PETSc, SuperLU, Trilinos with consistent compilers and ‘helper’ libraries.! Impact: Foundational step toward

seamless combined use of xSDK libraries, as needed by BER use cases and other multiphysics apps!

!

xSDK Build Example!

MichaelHerouxSIAMCSE2017

xSDKMinimumComplianceRequirements:

58

§  M1.EachxSDKcompliantpackagemustsupportthethestandardxSDKcmake/configureop>ons.

§  M2.EachxSDKpackagemustprovideacomprehensivetestsuitethatcanberunbyusersanddoesnotrequirethepurchaseofcommercialsoeware

§  M3.EachxSDKcompliantpackagethatu>lizesMPImustrestrictitsMPIopera>onstoMPIcommunicatorsthatareprovidedtoitandnotusedirectlyMPI_COMM_WORLD.

§  M4.Eachpackageteammustdoa‘besteffort’atportabilitytokeyarchitectures,includingstandardLinuxdistribu>ons,GNU,Clang,vendorcompilers,andtargetmachinesatALCF,NERSC,OLCF.AppleMacOSandMicrosoeWindowssupportarerecommended.

§  M5.Eachpackageteammustprovideadocumented,reliablewaytocontactthedevelopmentteam;thismaybebyemailorawebsite.Thepackageteamsshouldnotrequireuserstojoinagenericmailinglist(andhencereceiveirrelevantemailtheymustwadethrough)inordertoreportbugsorrequestassistance.

§  M6–11…

https://ideas-productivity.org/resources/xsdk-docs MichaelHerouxSIAMCSE2017

xSDKRecommendedComplianceRequirements:

59

§  R1.Itisrecommendedthateachpackagehaveapublicrepository,forexampleatgithuborbitbucket,wherethedevelopmentversionofthepackageisavailable.Supportfortakingpullrequestsisalsorecommended.

§  R2.Itisrecommendthatalllibrariesbetestedwithvalgrindformemorycorrup>onissueswhilethetestsuiteisrun.

§  R3.Itisrecommendedthateachpackageadoptanddocumentaconsistentsystemforpropaga>ng/returningerrorcondi>ons/excep>onsandprovideanAPIforchangingthebehavior.

§  R4.Itisrecommendedthateachpackagefreeallsystemresourcesithasacquiredassoonastheyarenolongerneeded.

MichaelHerouxSIAMCSE2017

MessagetoThisAudience

Considerwhatso;wareecosystem(s)youwantyourso;waretobepartofanduse.

MichaelHerouxSIAMCSE2017 60

SUSTAINABILITYIMPROVEMENT

61 MichaelHerouxSIAMCSE2017 61

“Alwayscodeasiftheguywhoendsupmaintainingyourcodewillbeaviolentpsychopathwhoknowswhereyoulive.”

-JohnWood

62 MichaelHerouxSIAMCSE2017 62

Sustainable?Pullrequestscenario

• Pull request. • Competent external user. • Useful feature. • No conflicts. • Accept: Yes, if OK. • What must happen?

• Vet commit: –  Comes with tests. –  Comes with docs. –  Follows style rules.

•  Test: –  No regressions. –  Portable.

MichaelHerouxSIAMCSE2017 63

MessagetoThisAudience

Writetestsnow,while(orbefore)wri9ngyourintendedproduc9onso;ware.

MichaelHerouxSIAMCSE2017 64