Software Performance for Scientific Minds
-
Upload
allineasoftware -
Category
Software
-
view
159 -
download
0
Transcript of Software Performance for Scientific Minds
![Page 1: Software Performance for Scientific Minds](https://reader031.fdocuments.net/reader031/viewer/2022030401/58ad9d951a28abde5e8b560f/html5/thumbnails/1.jpg)
Rinse andRepeat
Simple rules toapply to keepyour softwareefficient
fasterCodeSoftware
Performancefor
ScientificMinds
More output inless time
![Page 2: Software Performance for Scientific Minds](https://reader031.fdocuments.net/reader031/viewer/2022030401/58ad9d951a28abde5e8b560f/html5/thumbnails/2.jpg)
Analyze before optimizing
"Premature optimization is the root of all evil"Donald Knuth, 1974
![Page 3: Software Performance for Scientific Minds](https://reader031.fdocuments.net/reader031/viewer/2022030401/58ad9d951a28abde5e8b560f/html5/thumbnails/3.jpg)
Measure Everything
Measure and analyze every aspect of performancePrefer representative workloads over artificial tests
Repeatabilityis key:
automate forbest results
Tip
See: Allinea Performance ReportsKeep a snapshot of initial performance
Track progress
![Page 4: Software Performance for Scientific Minds](https://reader031.fdocuments.net/reader031/viewer/2022030401/58ad9d951a28abde5e8b560f/html5/thumbnails/4.jpg)
Fix the right problem first
Optimize I/O Balance work
Optimizecommunication
Improve memoryaccess patterns
Vectorize theloops
Add threading
Follow the Performance Pathway
![Page 5: Software Performance for Scientific Minds](https://reader031.fdocuments.net/reader031/viewer/2022030401/58ad9d951a28abde5e8b560f/html5/thumbnails/5.jpg)
When all you have is a hammer
Everything looks like a nail
CPU tuning toolsdon't fix I/O or
communication -and vice-versa
Tip
Be wise in your choice of tool
Ensure you can see the whole pathway - from I/O andcommunication right through to the CPU
![Page 6: Software Performance for Scientific Minds](https://reader031.fdocuments.net/reader031/viewer/2022030401/58ad9d951a28abde5e8b560f/html5/thumbnails/6.jpg)
Profiling finds the "where"
Fix the root causeProfilers highlight the hot spot fortime on the performance pathway
Re-run and re-profileAlways confirm changes have
improved the performance
Find the time sinkProfilers show the functions, sourcelines and phases that cost the most
For every problem on the performance pathway
See: The Allinea MAP profiler
![Page 7: Software Performance for Scientific Minds](https://reader031.fdocuments.net/reader031/viewer/2022030401/58ad9d951a28abde5e8b560f/html5/thumbnails/7.jpg)
Preserve your wins
Save and document itStore everything - make your workrepeatable
Share the progressLet others know what performanceshould be and how to get it
Protect the codeLink performance with ContinuousIntegration and testing
![Page 8: Software Performance for Scientific Minds](https://reader031.fdocuments.net/reader031/viewer/2022030401/58ad9d951a28abde5e8b560f/html5/thumbnails/8.jpg)
Vigilance and testingpreserves wins
#3
Top Tips to TakeHome
Optimize the problemsin sequence
#2
Analyze theperformance first
#1