Software development

Mozilla Science Lab Global Sprint 2016

Author: Mario Antonioletti
Posted: 5 May 2016 | 15:51

We will be one of the participating sites at this year's Mozilla Science Lab Global Sprint here in Edinburgh.

The event will take place from 2nd-3rd of June, and will bring together researchers, developers, librarians and the general public from all over the world to hack on open science and open data projects.

Code for failure

Author: Adrian Jackson
Posted: 14 Apr 2016 | 21:02

Writing programs assuming that they will be incorrect

I was thinking about development methodologies and software design principles recently and have decided that one of the things I've learned is that it is essential to write programs with the assumption they are going to fail.

I don't think that any of us like to think that the programs we write or maintain will go wrong, or have mistakes/problems in them. However, as I've discussed previously, it is very hard to develop code without making mistakes: coding mistakes, algorithmic errors, mistaken assumptions, etc...

Managing Makefiles in git

Author: Mario Antonioletti
Posted: 7 Apr 2016 | 16:36

I have become a bit of a fan of the distributed revision control provided by git. In my day-to-day work at EPCC, I find myself developing and running code across multiple machines. Trying to keep a code base coherent across all these systems would be a bit of a nightmare were it not for git or any other source control revision system. Arguably, SVN would work as well but I somewhat lost my faith in SVN after trying to commit files over a slow and unstable connection while travelling on a train.

Collaborations Workshop 2016

Author: Mario Antonioletti
Posted: 31 Mar 2016 | 09:30

The Software Sustainability Institute's Collaborations Workshop 2016 is now over. If you blinked, you missed it. You shall now have to wait until 27-29th March 2017 for the next one, to be held at the Leeds Business School.  I still think that this is one of the best networking conferences around and well worth attending, though for the purposes of full disclosure I have to admit that I have a dual role: as a peripheral organiser as well as a full workshop attendee. The workshop runs over two days and is followed by a hack day which I was unable to attend because of other commitments.

Array index order matters, right?

Author: Adrian Jackson
Posted: 30 Mar 2016 | 17:46

Does array index order affect performance?

A couple of weeks ago I was teaching an ARCHER Modern Fortran course, and one of the things we discuss during the course is index ordering for multi-dimension arrays.  This course is an introduction to modern Fortran (primarily F90/F95), so we don't go into lots of details about parallel or performance programming, but as attendees are likely to be using Fortran for computational simulation it is important they understand which array dimensions are contiguous in memory so that they don't accidentally write code that is much slower than it should be.

GNU compiler performance

Figure 1: Performance using the GNU compiler

During one of the practical sessions on the course, one of the students wrote a little program to investigate the performance impact of iterating through array elements in a non-contiguous order.  They also included some code to investigate if there is a performance impact when using allocatable array rather than static arrays (I'd mentioned it shouldn't impact performance but I obviously wasn't convincing enough...).

Learning more about the Research Software Engineer community

Author: Guest blogger
Posted: 14 Mar 2016 | 12:55

This article is published on behalf of Simon Hettrick from the Software Sustainability Institute.

I love starting a new policy campaign. There’s this sweet spot of no responsibility between the time when you first raise an issue and the time when you’re first asked “Where’s the evidence?”. After that, life far more difficult. 

Debugging in 5D

Author: Adrian Jackson
Posted: 24 Feb 2016 | 16:41

Or why debugging is hard and parallel debugging doubly so

Computing bug: Grace Hopper's famous bug found in 1947 in a relay in the Mark II computer, taped it to the operations logbook with the annotation "First actual case of bug being found". Image courtesy of the Naval Surface Warfare Center, Dahlgren, VA., 1988. - U.S. Naval Historical Center Online Library Photograph

Debugging programs is hard. I give a lecture on debugging for the Programming Skills module of EPCC's MScs in HPC and HPC with Data Science where we try to point out common programming mistakes, programming strategies for making bugs less likely, and the skills and tools required for investigating, identifying, and fixing bugs.

The Collaborations Workshop 2016 Returns to Edinburgh

Author: Mario Antonioletti
Posted: 12 Feb 2016 | 12:11

The Collaborations Workshop (CW) is coming home to Edinburgh. It will be held on 21st-22nd March in the Royal College of Surgeons with an optional hack day on 23rd of March.  The series of CWs were originally started under the now defunct Open Middleware Infrastructure Institute UK (OMII-UK) that held two workshops in Edinburgh in 2009 and 2010 in what was then the National e-Science Institute in Edinburgh. The aim of these workshops was to get researchers to come together, talk, avoid reinventing the wheel and to establish fruitful collaborations. It was, and has remained, a most excellent networking event.

HPC-CORE simulation software workshop

Author: Adrian Jackson
Posted: 31 Jan 2016 | 23:07
Tidal simulation

Lancaster University, 7-8 April 2016

The programme for the HPC-CORE (High Performance Computing-based Computational fluid dynamics for Offshore Renewable Energy) workshop has now been published. This event brings together scientific specialists from Engineering, Atmospheric and Environmental Sciences, and HPC experts to discuss the state of the art for simulation software, and the leading-edge simulations being undertaken with such software.

Getting hands-on with ExTASY

Author: Iain Bethune
Posted: 19 Nov 2015 | 11:11

One of the projects I'm currently leading at EPCC is ExTASY, which is building an 'Extensible Toolkit for Advanced Sampling and analYsis'.  I've blogged in the past about the goals of the project, and the painful process leading up to our first public release. As the project is now well into its final year, we are turning our attention to community outreach - showing off what we have built to the biomolecular simulation community and getting their feedback.


Blog Archive