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
Discuss@lists.software-carpentry.org
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org

Reply via email to