Presentation is loading. Please wait.

Presentation is loading. Please wait.

GRACE at UCL. 2 www.ucl.ac.uk/research-it-services Forget Fast if it’s Wrong: Better Coding for Better HPC ISD/RITS/RCPS – Mayeul d’Avezac.

Similar presentations


Presentation on theme: "GRACE at UCL. 2 www.ucl.ac.uk/research-it-services Forget Fast if it’s Wrong: Better Coding for Better HPC ISD/RITS/RCPS – Mayeul d’Avezac."— Presentation transcript:

1 GRACE at UCL

2 2 www.ucl.ac.uk/research-it-services Forget Fast if it’s Wrong: Better Coding for Better HPC ISD/RITS/RCPS – Mayeul d’Avezac

3 www.ucl.ac.uk/research-it-services The Scientific Method and research software

4 www.ucl.ac.uk/research-it-services The Scientific Method applied to code

5 www.ucl.ac.uk/research-it-services The Scientific Method applied to code

6 www.ucl.ac.uk/research-it-services The Scientific Method applied to code

7 www.ucl.ac.uk/research-it-services Research Software Priorities Readability Reliability Performance

8 www.ucl.ac.uk/research-it-services Readability Reliability Deployability Sustainability Usability Performance Research Software Priorities

9 www.ucl.ac.uk/research-it-services Why not to test? ”My program is always correct” “Output looks plausible enough to go through peer-review” ”I like wasting time debugging”

10 www.ucl.ac.uk/research-it-services Why do testing? Ensure programs does what it should Tests are up-to-date, runnable specifications Tested programs modular by nature Hence cost of adding new science much lower

11 www.ucl.ac.uk/research-it-services Different kind of tests Regression testing: the program is just as wrong today as it was yesterday Functional testing: reproduce analytical results Unit testing: each logical unit of work/code (~10-50 lines) is run through experiments to check its behavior

12 www.ucl.ac.uk/research-it-services Automated testing Infrastructure Build code on Mac, Linux, and Legion each time change is made Run testing suite Send emails or notification if error

13 www.ucl.ac.uk/research-it-services DCProgs-HJCFIT: Analysis software for Single ion-channel recording DCProgs-HJCFIT owners: Faculty of Life Sciences, Div of Bioscience Neuro, Physiology & Pharmacology David Colquhoun, Lucia Silvilotti, Remigijus Lape

14 www.ucl.ac.uk/research-it-services Readability: from Fortran to C++ and Python Reliability: hand tested to systematically unit-tested Deployability: Windows XP only to Linux, Windows, Mac, Legion, Grace… Performance: at first on par with original Fortran code, then… DCProgs-HJCfit: Analysis software for Single ion-channel recording

15 www.ucl.ac.uk/research-it-services On-going eCSE grant: Profiling indicates frequent memory allocations slow down calculation Programmer makes change deep in code Tests tell us behavior of program remains exactly the same Except 50% faster DCProgs-HJCfit: Analysis software for Single ion-channel recording

16 Putting correctness first leads to more and better science Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut efficitur ipsum vitae tortor accumsan, a pulvinar lorem lacinia. Donec eu arcu justo. Fusce eget consequat risus Proin est lacus, interdum vitae feugiat quis, faucibus vel mi. Vivamus accumsan nisi vel nulla viverra semper. Donec purus enim, sollicitudin vitae porta a, commodo sodales justo. Sed iaculis rutrum molestie. Visit www. ucl.ac.uk/research-it-services/grace to download these slides after the event. What did you think? Join the conversation on Twitter with #GraceAtUCL. Don’t forget to follow us for access to the event video and today’s polling results.


Download ppt "GRACE at UCL. 2 www.ucl.ac.uk/research-it-services Forget Fast if it’s Wrong: Better Coding for Better HPC ISD/RITS/RCPS – Mayeul d’Avezac."

Similar presentations


Ads by Google