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

Reply via email to