Hi Peter - great post(s)! In case you haven't seen them already, lot of great arguments have been made here [1] about why teaching testing may/may not be a good idea in our workshops.
I'm in favour of teaching testing - even if it is in the style of the regression tests you mentioned. But I'm not so sure about unit tests, or even if application code built on libraries can/should be "unit" tested. Can you give us some examples of the type of unit tests that you found? Did you see a "theme" in the unit tests presented by both groups? [1] http://software-carpentry.org/blog/2014/10/why-we-dont-teach-testing.html On 9 Mar 2016 05:52, "Olav Vahtras" <[email protected]> wrote: > Hear, hear! > > On Wed, Mar 9, 2016 at 10:10 AM, Peter Steinbach <[email protected]> > wrote: > >> Hi to all, >> >> I just wanted to share some insights that I made during a GPU focused >> hackathon last week. For the full glory of details, see a series of blog >> posts on Eurohack 2016 in Dresden (Germany): >> https://gcoe-dresden.de/?page_id=4 >> >> The hackathon had 6 teams come into Dresden with their HPC codes. The >> goal was to accelerate the apps to run on GPUs using a more recent >> programming paradigm called OpenACC as well as traditional CUDA. The codes >> were from weather forecasting (CFD based), simulating rescue paths for fire >> fighters in underground stations (also CFD based), correlating genomics >> with neuron activity (a matlab port), polymer simulation, bacteria >> simulation and planet hunting in interferrometric astronomy data (python >> based). >> >> First observation, 2 out of 6 teams came with unit tests at all! The team >> I mentored had a minimal test tool that compared the ascii output of a >> simulation run with some reference output - so something on the level of an >> integration test with the full application. >> We spent 2 days trying to understand the code and hunting bugs in an >> existing GPU based execution path which gave different results than the >> legacy CPU part. As we only had integration style tests, this was a tedious >> process as the code base was ~70 kloc large. At some point we ditched the >> existing GPU implementation and started from scratch. >> I have to say that my team was very open to new ideas and promised to >> look into unit testing and the like, we didn't have time to refactor the >> code to become (unit) testable. If they'll do it, I don't know as it >> depends mostly on social factors. >> >> Bottom line for SWC: defensive programming and testing are important and >> we should try to keep it in the curriculum as much as possible. My team >> were 3 meteorologists that received introductory level fortran training >> during their studies - nothing more. >> >> Best, >> Peter >> >> _______________________________________________ >> Discuss mailing list >> [email protected] >> >> http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org >> > > > _______________________________________________ > Discuss mailing list > [email protected] > > http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org >
_______________________________________________ Discuss mailing list [email protected] http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
