Transcript
Page 1: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

KIT – The Research University in the Helmholtz Association

Hartwig Anzt, Terry Cojean, Goran Flegar, Thomas Grűtzmacher, Pratik Nayak, Tobias RibizelSteinbuch Centre for Computing (SCC)

www.kit.edu

AnAutomatedPerformanceEvaluationFrameworkfortheGinkgoSoftwareEcosystem

GAMM,February18th- 22nd,2019

MovingtowardsContinuousBenchmarking(CB)

Page 2: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM20192 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

Developer

A Healthy Software Development Cycle

Page 3: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM20193 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

Developer

A Healthy Software Development Cycle

SourceCodeRepository

Push

• Versioncontrolsystemfortrackingchangesandcoordinatingcollaborativedevelopment.

Page 4: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM20194 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

ContinuousIntegration(CI)

CIBuild

Developer

A Healthy Software Development Cycle

SourceCodeRepository

Push

• Versioncontrolsystemfortrackingchangesandcoordinatingcollaborativedevelopment.

• CIBuildsystemcontinuously checksthecompilationsuccessondifferentarchitectures.

Page 5: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM20195 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

ContinuousIntegration(CI)

CIBuild

Developer

A Healthy Software Development Cycle

SourceCodeRepository

PushCITest

• Versioncontrolsystemfortrackingchangesandcoordinatingcollaborativedevelopment.

• CIBuildsystemcontinuously checksthecompilationsuccessondifferentarchitectures.

• Unittestsensurefunctionalityandvalidityofallbuildingblocks.

Page 6: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM20196 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

ContinuousIntegration(CI)

CIBuild

Developer

A Healthy Software Development Cycle

SourceCodeRepository

PushCITest

Schedule inBatchSystem

HPCSystem

CIBenchmarkTests

• Versioncontrolsystemfortrackingchangesandcoordinatingcollaborativedevelopment.

• CIBuildsystemcontinuously checksthecompilationsuccessondifferentarchitectures.

• Unittestsensurefunctionalityandvalidityofallbuildingblocks.

• Goal:Automatedbenchmarkrunseverytimenewcodeisadded.

Page 7: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM20197 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

ContinuousIntegration(CI)

CIBuild

Developer

A Healthy Software Development Cycle

SourceCodeRepository

PushCITest

Schedule inBatchSystem

HPCSystem

CIBenchmarkTests

• Versioncontrolsystemfortrackingchangesandcoordinatingcollaborativedevelopment.

• CIBuildsystemcontinuously checksthecompilationsuccessondifferentarchitectures.

• Unittestsensurefunctionalityandvalidityofallbuildingblocks.

• Goal:Automatedbenchmarkrunseverytimenewcodeisadded.

Page 8: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM20198 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

ContinuousIntegration(CI)

CIBuild

Developer

A Healthy Software Development Cycle

SourceCodeRepository

PushCITest

Schedule inBatchSystem

HPCSystem

CIBenchmarkTests

SecurityThrust!• ExternalcodeisrunonHPCsystem• Possiblepointofattack

• Versioncontrolsystemfortrackingchangesandcoordinatingcollaborativedevelopment.

• CIBuildsystemcontinuously checksthecompilationsuccessondifferentarchitectures.

• Unittestsensurefunctionalityandvalidityofallbuildingblocks.

• Goal:Automatedbenchmarkrunseverytimenewcodeisadded.

Page 9: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM20199 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

ContinuousIntegration(CI)

CIBuild

Developer

A Healthy Software Development Cycle

SourceCodeRepository

PushCITest

Schedule inBatchSystem

HPCSystem

CIBenchmarkTests

CodeReview

TrustedReviewer

MergeintoMasterBranch

• ManualcodereviewsbytrustedreviewerswhotakeresponsibilityforexecutingcodeontheHPCsystem.

Page 10: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201910 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

ContinuousIntegration(CI)

CIBuild

Developer

A Healthy Software Development Cycle

SourceCodeRepository

PushCITest

Schedule inBatchSystem

HPCSystem

CIBenchmarkTests

CodeReview

TrustedReviewer

MergeintoMasterBranch

• ManualcodereviewsbytrustedreviewerswhotakeresponsibilityforexecutingcodeontheHPCsystem.

• Howtoarchivetheresultsandmakethemaccessible?

Page 11: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201911 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

ContinuousIntegration(CI)

CIBuild

Developer

A Healthy Software Development Cycle

SourceCodeRepository

PushCITest

Schedule inBatchSystem

HPCSystem

CIBenchmarkTests

CodeReview

TrustedReviewer

MergeintoMasterBranch

PerformanceDataRepository

• Storedatainseparaterepository.• UseJSONdataexchangeformat.

Page 12: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201912 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

ContinuousIntegration(CI)

CIBuild

Developer

A Healthy Software Development Cycle

SourceCodeRepository

PushCITest

Schedule inBatchSystem

HPCSystem

CIBenchmarkTests

CodeReview

TrustedReviewer

MergeintoMasterBranch

PerformanceDataRepository

Users

• Storedatainseparaterepository.• UseJSONdataexchangeformat.• Cloningahugerepository is

expensive.• ”Interestinmyexperiments,only.”

Page 13: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201913 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

CITest

PerformanceDataRepository

ContinuousIntegration(CI)

DeveloperCodeReview

CIBuildSourceCodeRepository

Push

Schedule inBatchSystem

Web-Application

HPCSystem

TrustedReviewer

Users

MergeintoMasterBranch

CIBenchmarkTests

A Healthy Software Development Cycle

• Storedatainseparaterepository.• UseJSONdataexchangeformat.• Cloningahugerepository is

expensive.• ”Interestinmyexperiments,only.”• Interactiveweb-basedGinkgo

PerformanceExplorer(GPE).

Page 14: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201914 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

CITest

PerformanceDataRepository

ContinuousIntegration(CI)

DeveloperCodeReview

CIBuildSourceCodeRepository

Push

Schedule inBatchSystem

Web-Application

HPCSystem

TrustedReviewer

Users

MergeintoMasterBranch

CIBenchmarkTests

A Healthy Software Development Cycle

GPEGinkgoPerformanceExplorer

Page 15: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201915 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

Ginkgo Performance Explorer (GPE)

DataSelectionTab

TransformationScriptEditor

DataandPlotViewer

1.SelectDatainGitrepository.

GPE

Page 16: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201916 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

Ginkgo Performance Explorer (GPE)

DataSelectionTab

TransformationScriptEditor

DataandPlotViewer

1.SelectDatainGitrepository.

2.WriteJSONatascripttovisualizedata(examplesareprovided).

GPE

Page 17: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201917 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

Ginkgo Performance Explorer (GPE)

DataSelectionTab

TransformationScriptEditor

DataandPlotViewer

1.SelectDatainGitrepository.

2.WriteJSONatascripttovisualizedata(examplesareprovided).

3.Analyzedatavisually.

GPE

Page 18: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201918 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

Ginkgo Performance Explorer (GPE)

GPE

Page 19: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201919 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

Ginkgo Performance Explorer (GPE)

GPE

Page 20: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201920 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

Ginkgo Performance Explorer (GPE)

GPE

Page 21: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201921 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

Ginkgo’s Performance Evaluation Framework

GPE

ContinuousBenchmarkingBenefits

• Archivingperformancedataalongwithexecutionparametersensuresfullbenchmarkreproducibility.

• Comparing theperformanceresultsoverthecodelifetimeidentifiesperformancedegradations.

• Easeofuse:thesetupallowstolaunchbenchmarkwithfewclicks.

Page 22: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201922 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

Ginkgo’s Performance Evaluation Framework

GPE

ContinuousBenchmarkingBenefits

• Archivingperformancedataalongwithexecutionparametersensuresfullbenchmarkreproducibility.

• Comparing theperformanceresultsoverthecodelifetimeidentifiesperformancedegradations.

• Easeofuse:thesetupallowstolaunchbenchmarkwithfewclicks.

GinkgoPerformanceExplorer(GPE)Benefits• ThedesignofGPEefficientlyrealizestheanalysisaswebservice,removingtheneedfordownloading

performancedatatolocaldiskorinstallingadditionalsoftware.

• ExternaldeveloperswithoutaccesstoHPCsystemscantestandengineertheircodesonHPCresources.

• Extensibility:Optiontocompareperformancewithothersoftware libraries.

Page 23: An Automated Performance Evaluation Framework for the ...hanzt/talks/GAMM_GPE.pdf · Continuous Benchmarking Benefits • Archiving performance data along with execution parameters

GAMM201923 02/19/2019 Hartwig Anzt:AnautomatedperformanceevaluationframeworkfortheGinkgosoftwareecosystem

• Open-sourceC++frameworkforsparselinearalgebra.

• Sparselinearsolvers,preconditioners,SpMV etc.

• Genericalgorithmimplementation:+referencekernelsforcheckingcorrectness;+architecture-specifichighlyoptimizedkernels.

• FocusedonGPUaccelerators(i.e.NVIDIAGPUs).

• SoftwarequalityandsustainabilityeffortsguidedbyxSDK communitypolicies:

https://xsdk.info/

PratikNayakTerryCojean GoranFlegar ThomasGrützmacher

TobiasRibizel

https://ginkgo-project.github.io/

Learn More about Ginkgo


Top Related