Thursday 1st November, 13:00-13:45, Huxley Building, Lecture Theatre 144
Property-based Testing using Hypothesis - David MacIver
Writing software is easy, unless you care if it works. Then it gets tricky. There's a huge array of techniques and tools designed to nudge your software in the direction of working, but automated testing is by far the most common. Automated testing is easy, unless you care if it finds bugs. Then it gets time consuming (and also tricky).
Property-based testing is the radical idea that automated testing could actually be automated, and that we can get the computer to do a lot more of the work for us than it normally does, by generating examples to test with rather than manually specifying them. Property-based testing originally comes from Haskell, in the form of a library called QuickCheck, but this is a talk about Hypothesis, which is attempting to bring it into more mainstream programming languages.
The speaker, David R. MacIver, is the author of Hypothesis and has been working on it for some years now. He is well known in the Python community, giving regular conference talks, and has recently joined Imperial to do a PhD.
Imperial Research Software Engineering Session at the Imperial Research Computing Summer School
Thursday 27th September 2018, 14:00-17:30
ROOMS 340/341, HUXLEY BUILDING, SOUTH KENSINGTON CAMPUS
Our research software session, running as part of the Research Computing Summer School, will take place on the afternoon of 27th September 2018. There is a call for submissions of abstracts for lightning talks and posters. Submission deadline: Thursday 6th September 2018.
|14:00:||Welcome and introduction
|14:10:||Online learning and GUIs for science. Sam Cooper, Dyson School of Design Engineering
In this talk, I'll be sharing two stories with you. The first about being part of the team who developed Imperial's headline specialisation on the Coursera platform: Mathematics for machine learning. The course uses a combination of short lecture videos, quizzes, animations and interactive widgets to teach over 50,000 learners per month. The second is about my experience building graphical user interfaces to help my experimentalist colleagues to analyse their data consistently. It takes a long time to develop a new simulation and even longer to build it into an intuitive GUI... but what's the point of solving the problem, if you're not going to share it with your community?
|14:45:||RSE @ Imperial|
- An update on Research Software Engineering taking place at
- Presenters will have 4 minutes each to present up to 2 slides
|15:45:||The role of RSEs at Imperial: Careers, Training and Development|
|Short introduction followed by breakout discussions and reporting back.|
|16:30:||Poster session and Drinks Reception|
Further details will be added closer to the event.
Registration: You can register for this session (as well as for other Summer School sessions) via the Research Computing Summer School registration page
Imperial Research Software Engineering Community Session - Thursday 8th March 2018, 16:00-17:30
ROOM 217/218, HUXLEY BUILDING, SOUTH KENSINGTON CAMPUS
The next meeting of the Imperial College Research Software Engineering (RSE) Community will take place on Thursday 8th March with two talks:
|16:00:||What do we know about Research Software Engineers?|
|Simon Hettrick, Deputy Director, Software Sustainability Institute - University of Southampton|
|16:20:||Smart Forming: A Python web application for running Matlab simulation models on HPC infrastructure|
|Chris Knight, Department of Physics, Imperial College London|
|17:00:||Discussion (refreshments available)|
Smart Forming: A Python web application for running Matlab simulation models on HPC infrastructure
Speaker: Chris Knight
Developed by the RSE service at Imperial for the Metal Forming Technologies group in Mechanical Engineering, the Smart Forming Python web app allows users to upload and run Matlab simulation models on the college HPC facilities from the comfort of an easy to use web interface. After uploading a model users can configure model parameters and input data before submitting jobs to CX1. On completion, the user receives an email containing download links for their log file and output data. Chris Knight, the main developer on the project, will discuss the exciting tech stack which powers the app (Python, Django, Celery, Paramiko, SQLite, Docker and more) and will give a live demo of the app in action.
Simon Hettrick is Deputy Director of the Software Sustainability Institute, and co-Director of the Southampton Research Software Group.
At the Software Sustainability Institute, Simon is responsible for the policy research and campaigning. He works with stakeholders from across the research community to develop policies that support research software, the people who develop that software and the researchers who rely on it. Simon's research focusses on the use of software in the research community with the aim of understanding practices and demographics.
Simon is a passionate advocate for Research Software Engineers. He was the founding chair of the UK's community of Research Software Engineers and has been a member of the Association ever since. He is the Principal Investigator of the RSE Network.
Before working at the Institute, Simon worked in patent law. His PhD focussed on the development of a new type of efficient waveguide laser.
Chris Knight is currently completing his PhD in Computational Physics: applying a large parallel fluid solver written in C with MPI to investigate the relationship between sand grain size distributions and fluid-grain interaction forces in dense sand packings. Chris has also worked as a software engineer developing cloud based containerised Python apps and tooling for Big Data analysis with Apache Spark.
Imperial Research Software Engineering Community Session @ HPC Summer School 2017 - 20th September 2017, 10:00-12:00
WEDNESDAY 20TH SEPTEMBER 2017 - 10:00-12:00 - ROOM 121, SAF BUILDING, SOUTH KENSINGTON CAMPUS
The next meeting of the Imperial College Research Software Engineering (RSE) Community will take place on Wednesday 20th September as part of the Imperial College HPC Summer School 2017. The draft agenda for the session is shown below.
More details on the Summer School, which runs from Monday 18th - Friday 22nd September can be found at http://www.imperial.ac.uk/computational-methods/news-and-events/hpc-2017/.
|10:00||Welcome and introduction - Jeremy Cohen, Department of Computing|
|10:05||An introduction to RSE at Imperial and the Research Computing Service|
|- Spencer Sherwin, Director, Research Computing Service|
|- Mark Woodbridge, Research Software Engineering Team Lead, Research Computing Service|
|- Jeremy Cohen, Founder, Imperial Research Software Engineering Community|
|10:30||Docker without Docker: How to run containers on HPC environments without any prerequisites!
Jonathan Passerat-Palmbach, Department of Computing
Containers have seen a growing adoption in the academic world over the last few years. They allow researchers to make their experimental pipelines available to the community, therefore increasing the reproducibility of their results.
In order to integrate these packaged applications in large-scale experiments, they have to be run on HPC/HTC infrastructures. However, the native Docker service requires administrator--like privileges on the machine that end-users rarely have for security reasons.
In this talk, we explore the recent developments in the OpenMOLE project (https://next.openmole.org) to circumvent these restrictions and enable the execution of scientific pipelines based on Docker images on HPC clusters. Our solution does not involve any remote third-party entity and can also be used with any container image supporting the Open Container Initiative format via an external loader (https://github.com/vincenthage/proot-oci-loader).
The solution is already integrated in the OpenMOLE platform and you can read more about the work leading to this feature in this paper http://journal.frontiersin.org/article/10.3389/fninf.2017.00021/full
|11:00||Scientific Python and Continuous Integration for HPC
Ed Smith, Department of Civil and Environmental Engineering
|In this talk I give an overview of my year as an RSE, including teaching Python and coupling a fluid dynamics continuum simulation to a particle solver. In particular, I will describe the process of ensuring software is correct using software engineering best practice including verification using unit testing and coupled validation driven by Python. I'll finish by outlining plans for Continuous Integration on high performance platforms such as cx1.|
|11:20||Research Software Engineering Discussion Breakouts|
Attendees split into small groups to discuss different aspects of RSE. (~20 mins)
Imperial Research Software Engineering Community Meeting - 31st May 2017 - Data Engineering for Vaccine Development, Mark Woodbridge, IAVI
WEDNESDAY 31ST MAY 2017 - 16:00-17:30 - SOUTH KENSINGTON CAMPUS - ROOM TBC
The next meeting of the Imperial College Research Software Engineering (RSE) Community will take place on Wednesday 31st May, 16:00 – 17:30, room TBC. We are pleased to welcome Mark Woodbridge from IAVI who will be speaking on data engineering for vaccine development.
The agenda is as follows:
Data Engineering for Vaccine Development17:00 Networking; Drinks and snacks availableFree registration for this event will be available via Eventbrite soon.
Abstract: Data Engineering for Vaccine Development
Biomedical research organisations have traditionally leveraged laboratory assays to validate hypotheses. However, the development of high-throughput experiments and the availability of large public datasets demands the capability to handle data at scale and conduct data driven (“dry lab”) research. This talk will describe IAVI’s first steps towards developing and deploying infrastructure and tools for data science.
Speaker biography: Mark Woodbridge studied Computer Science and Computational Linguistics before working as a Research Software Engineer at the University of Cambridge and Imperial College London. He is now responsible for facilitating a programme of data-driven research for vaccine development at the International AIDS Vaccine Initiative (IAVI).
Imperial Research Software Engineering Community Meeting - 22nd March 2017 - Modern Fortran for Computational Science, Dr Wadud Miah, Numerical Algorithms Group
WEDNESDAY 22ND MARCH 2017 - 16:30-18:00 - SOUTH KENSINGTON CAMPUS - HUXLEY BUILDING LECTURE THEATRE 311
The March 2017 meeting of the Imperial College Research Software Engineering (RSE) Community will take place on Wednesday 22nd March, 16:30 – 18:00 in the Huxley Building, LT311, on the South Kensington Campus. We are pleased to welcome Dr Wadud Miah from Numerical Algorithms Group who will be speaking on modern Fortran.
The agenda is as follows:
16:30 Welcome and Introduction
16:35 Modern Fortran for Computational Science - Dr Wadud Miah, Numerical Algorithms Group
17:30 Networking; Drinks and snacks availableFree registration for this event is available at: http://imperialrse-mar17.eventbrite.co.uk
Abstract: Modern Fortran for Computational ScienceFortran is the dominant programming language of computational science. Codes written in Fortran account for over 80% of CPU cycles on the Archer UK supercomputer service and around 70% of CPU cycles on the top 500 supercomputers in the world. Surveys have shown that a large percentage of the computational community are still using the Fortran 77 standard and uptake on the more modern standards (e.g. 95, 2003 and 2008) are still lagging behind. Anecdotal evidence has shown that scientists are using non-standard compiler specific features which reduces the portability of their codes. This presentation will give an update on the latest Fortran standards to increase the portability and performance of computational codes.Speaker biography: Wadud Miah completed his PhD at the Aeronautics department at Imperial College and used modern Fortran extensively for his research. He has worked as a computational scientist at various institutions where he used modern Fortran to advance computational science. He now works for the Numerical Algorithms Group as a HPC specialist and is running the Fortran Modernisation Workshop (http://www.nag.co.uk/content/fortran-modernization-workshop).
Imperial Research Software Engineering Community Meeting - Friday 30th September 2016
FRIDAY 30TH SEPTEMBER 2016 - 10:00-12:00 - SOUTH KENSINGTON CAMPUS - HUXLEY BUILDING LECTURE THEATRE 311
This event is part of the Imperial's HPC Service Summer School week.
This session will include four talks and a panel discussion. The schedule is as follows:
|09:45||Coffee and pastries available|
|10:00||Session introduction and RSE update|
|(Jeremy Cohen, Department of Computing, Imperial College)|
|10:15||Parallel Programming for the 21st Century|
|(Victor Eijkhout, Texas Advanced Computing Centre)|
|10:55||Spectral/hp element computation on HPC infrastructure|
|(Chris Cantwell, Department of Aeronautics, Imperial College London)|
|11:15||Why do Italians hand gesture? Improving communication in scientific computing|
|(Anna Freni-Sterrantino, Small Area Health Statistics Unit)|
|11:35||Panel discussion: The challenges and importance of good research software development practices for HPC|
|Simon Burbidge, Imperial HPC Service|
|Victor Eijkhout, Texas Advanced Computing Centre|
|Spencer Sherwin, Department of Aeronautics|
|David Colling, Department of Physics|
|Stephen McGough, University of Durham|
Imperial Research Software Engineering Community Meeting - 26th May 2016
THURSDAY 26TH MAY - 16:00-18:00 - SOUTH KENSINGTON CAMPUS - HUXLEY BUILDING LECTURE THEATRE 144
The May 2016 meeting of the Imperial College Research Software Engineering (RSE) Community will take place on Thursday 26th May, 16:00 – 18:00 in the Huxley Building, LT144, on the South Kensington Campus.
We will have a main talk from Dr Peter Vincent, Department of Aeronautics and lead of the PyFR project (http://www.pyfr.org), followed by a set of 3-minute lightning talks* and an RSE discussion.
Please register for this event at: https://imperial-rse-may16.eventbrite.co.uk
The agenda is as follows:
|16:00||PyFR: Next-Generation High-Order Computational Fluid Dynamics on Modern Hardware Platforms
Peter Vincent, Department of Aeronautics
|16:30||3-minute lightning talks*|
|Ghislain Vaillant - A methodology for library design - introducing Armin Ronacher's beautiful native libraries approach|
|Ally Donaldson - Metamorphic testing|
|Jonathan Passerat-Palmbach - Scala in 2016 - Welcome to the Future [Today]|
|Maxime Noel - Research Software Engineering with Python|
|Francois Piat - The ArrayFire GPU programming library|
|Sarah Stewart - Software management plans|
|Torsten Reimer - Software version control and GitHub Enterprise|
|17:30||Networking; Drinks and snacks available|
PyFR: Next-Generation High-Order Computational Fluid Dynamics on Modern Hardware Platforms
High-order numerical methods for unstructured grids combine the superior accuracy of high-order spectral or finite difference methods with the geometrical flexibility of low-order finite volume or finite element schemes. The Flux Reconstruction (FR) approach unifies various high-order schemes for unstructured grids within a single framework. Additionally, the FR approach exhibits a significant degree of element locality, and is thus able to run efficiently on modern many-core hardware platforms, such as Graphical Processing Units (GPUs). The aforementioned properties of FR mean it offers a promising route to performing affordable, and hence industrially relevant, scale-resolving simulations of hitherto intractable unsteady flows within the vicinity of real-world engineering geometries. In this talk I will present PyFR (www.pyfr.org), an open-source Python based framework for solving advection-diffusion type problems using the FR approach. The framework is designed to solve a range of governing systems on mixed unstructured grids containing various element types. It is also designed to target a range of hardware platforms via use of a custom Mako-derived domain specific language. The latest release of PyFR is able to solve the compressible Euler and Navier-Stokes equations on grids of quadrilateral and triangular elements in two dimensions, and hexahedral, tetrahedral, prismatic, and pyramidal elements in three dimensions, targeting clusters of multi-core CPUs, NVIDIA GPUs, AMD GPUs, Intel Xeon Phis, and heterogeneous mixtures thereof. Results will be presented for various benchmark and `real-world' flow problems, and scalability of PyFR will be demonstrated on clusters with 1000s of NVIDIA GPUs. Throughout the talk the importance of algorithm-software-hardware co-design, in the context of next-generation computational fluid dynamics, will be highlighted.
Project page: http://www.pyfr.org
* Lightning talks: The lightning talks are intended to provide an opportunity for you to give a brief, informal overview of a topic that you think may be of interest to other community members. You may want to introduce an application or tool you've been working on or a library that you think may be of interest to other developers. Perhaps you've recently read a great blog post that you'd like to highlight, or you have an RSE-related idea you'd like to present and get some feedback on in the susequent discussion session.
- Lightning talks will have a limit of 3 minutes each.
- Presenters may provide 1 slide to use as a background for their presentation.
Imperial Research Software Engineering Community Meeting - February 2016
WEDNESDAY 17TH FEBRUARY - 16:15-18:00 - SOUTH KENSINGTON CAMPUS - HUXLEY BUILDING LECTURE THEATRE 311
Continuing the programme of RSE community meetings, this session will focus on computational and research data support software with an introduction from the College's Research Data Management team followed by talks on two tools OpenMOLE (http://www.openmole.org) and FGLab (https://kaixhin.github.io/FGLab/).
Tea/coffee will be available from 15:45 and there will be an opportunity to network with other attendees following the talks.
SESSION INTRODUCTION: RESEARCH DATA MANAGEMENT - Sarah Stewart, Research Data Support, Central Library
THE OPENMOLE WORKFLOW ENGINE: EXPLORATION OF SCIENTIFIC APPLICATIONS AT SCALE USING DISTRIBUTED COMPUTING.
Speaker: Jonathan Passerat-Palmbach, Department of Computing
OpenMOLE (Open MOdeL Experiment) is a scientific workflow management system with a strong emphasis on workload distribution. The OpenMOLE platform is formed of a combination of 1) reusable cutting edge methods and exploratory algorithms, 2) expressed using a high level workflow formalism and 3) exploiting distributed computing (clusters, grids, clouds) to scale up to the needs of real world scientific experiments.
OpenMOLE makes it simple to execute existing applications on distributed computing environments. If you want to execute the same program for many different inputs (parameters or datasets), OpenMOLE is the tool you need.
The typical usages of OpenMOLE are high performance model calibration, model exploration, machine learning, optimization, data processing.
FGLAB: EXPERIMENTAL DASHBOARD
Speaker: Kai Arulkumaran, Department of Bioengineering
FGLab is an electronic lab notebook that is designed to make prototyping experiments easier. Experiment details and results are sent to a database, which allows analytics to be performed after their completion. FGLab is designed to be used with existing code in a way that is independent of either programming language or operating system, and can scale up from a single machine to a small group of machines. In this talk I will introduce how FGLab enables a more systematic approach in the exploratory stages of research, and finish with a live demo.
Project page: https://kaixhin.github.io/FGLab/
Imperial Research Software Engineering Community Meeting - January 2016
WEDNESDAY 20TH JANUARY - 16:00-18:00 - SOUTH KENSINGTON CAMPUS - HUXLEY BUILDING ROOM 217/218
Continuing the programme of RSE community meetings, this event will include two talks followed by drinks and an opportunity to network with colleagues from across Imperial. Join us in Huxley 217/218 from 4.00pm on Wednesday 20th Jan.
OPEN SOURCE SOFTWARE PACKAGING, DISTRIBUTION AND MAINTENANCE
Speaker: Dr Ghislain Vaillant, Department of Computing
This talk will look at distribution and maintenance of open source software from the perspective of Ghislain's experience working with the Debian Linux community.
HPC AND COMPUTATIONAL METHODS TRAINING
Speaker: Dr Katerina Michalickova, Imperial College HPC Service
I will introduce the HPC service group and describe the resources available to the College community. The second part of the talk will focus on training in HPC and computational methods in general. Here, I will present the Computational Methods Hub that is dedicated to training of doctoral students.
Imperial Research Software Engineering Community - Tech Talk & Networking Kick-off Event
WEDNESDAY 2ND DECEMBER - 16:30-18:30 - SOUTH KENSINGTON CAMPUS - HUXLEY BUILDING ROOM 217/218
This will be the first in a series of regular tech talk & networking community events within Imperial. Join us at 4.30pm for two short talks followed by drinks and an opportunity to network with colleagues from across Imperial.To help give an idea of the number of attendees and to plan catering, please register for this event via EventBrite.
16:30: Welcome and introduction to the RSE community - Jeremy Cohen, Department of Computing
16:45: Research data management for developers and scientists - Torsten Reimer, Scholarly Communications Officer, Research Office
17:05: Python for MATLAB users: An introduction to Python for scientific computation - Ed Smith, Department of Chemical Engineering
17:30: Drinks reception and networking
Research data management for developers and scientists - Dr Torsten Reimer
I will discuss the policy landscape relating to research data and software and the emerging College infrastructure in this area, present preliminary results from a survey on College support for distributed version control and start a discussion on how the College could support research software development and developers.
Speaker Bio: Dr Torsten Reimer is Scholarly Communications Officer at Imperial College London, where he manages the cross-College Open Access and Research Data Management activities. Torsten is working with sector bodies, funders and vendors to improve the scholarly communications system and is involved in initiatives such as ORCID. He is also a fellow of the UK's Software Sustainability Institute. Before joining Imperial College, Torsten worked at the digital infrastructure service provider Jisc, King's College London, the University of Munich, the Bavarian State Library and a software company.
Python for MATLAB users: An introduction to Python for scientific computation - Dr Edward Smith
In many departments at Imperial, programming in MATLAB is the only experience students get of writing code. While MATLAB is excellent for numerical work, it is a commercial program, focused on numerical tasks & obscures important concepts in programming. In this talk, the open source language Python is introduced as an alternative to MATLAB. The pros and cons are discussed along with a few minimal examples of Python code. Python constructs such as lists, objects & iterators are introduced. The key libraries are discussed which allow Python to be used for scientific applications. The talk will finish with a few example projects by the speaker which have used Python.The talk is aimed at existing users of MATLAB but should be of interest to people wanting a very brief introduction to Python for use in scientific computing.
Speaker Bio: I am a research associate in chemical engineering at Imperial. My research aims to develop software which couples discrete particle based methods to continuum grid based techniques on high performance computers. I first learnt MATLAB as an undergrad and over the last 7 years have taught and applied it extensivly to scientific simulation & post processing. My PhD work started with emphasis on low level programming in Fortran to maximise efficiency but over time has shifted to improving reusability for collaborative projects with version control. The shift to Python happened gradually (and somewhat grudgingly) over the last 4 years. Python is now completely established as a replacement for MATLAB in my work.
Here you can find information about events previously organised by the Research Software Community.
Imperial/Sheffield ReproHack - Reproducibility Hackathon
Tuesday 9th March 2021
This will provide a great opportunity to select a paper of your choice from the ReproHack library of papers and spend some time working to reproduce the paper's results. Can you do it? What challenges do you encounter? Work alone or as part of a team to learn new skills and share your findings and experiences with other ReproHack attendees.
See the ReproHack event page for further information and registration details.
Hacktoberfest 2020 Talks and Hackathon
Wednesday 14th October 2020, from 2pm, Online
Hacktoberfest 2020 takes place throughout October 2020. It provides a great opportunity to get involved with open source development, contribute to projects and, if you make the required number of valid contributions, claim a Hacktoberfest 2020 T-shirt or plant a tree.
Following on from our successful Imperial Research Software Community Hacktoberfest event in 2019, we're running an event again this year and look forward to promoting some open source research software projects that members of the community might like to contribute to. Whether you're an experienced open source developer or completely new to contributing to open source projects, join us for what should be a fun afternoon providing an opportunity to meet project representatives, spend some time finding projects to contribute to or get working on your contributions.
The event will begin with some introductory talks - great if you're new to contributing to open source projects - followed by pitches from some project representatives. Then there will be time to work on your contributions and/or network with other members from the community.
Learning algorithms to make robots more resilient and creative
Dr Antoine Cully, Department of Computing, Imperial College London
Friday 31st July 2020, 3pm, Online
Robots have transformed many industries, most notably manufacturing, and have the power to deliver tremendous benefits to society, for example, in search and rescue, disaster response, health care, and transportation. They are also invaluable tools for scientific exploration of distant planets or deep oceans. A major obstacle to their widespread adoption in more complex environments and outside of factories is their fragility. While animals can quickly adapt to injuries, current robots cannot “think outside the box” to find a compensatory behaviour when they are damaged: they are limited to their pre-specified self-sensing abilities, which can diagnose only anticipated failure modes and strongly increase the overall complexity of the robot. In this talk, I will present a different computational approach that considers having robots learn appropriate behaviours in response to damage. However, current learning techniques are slow even with small, constrained search spaces. To allow fast and creative adaptation, we combine the creativity of evolutionary algorithms with the learning speed of policy search algorithms. The resulting intelligent trial and error algorithm enables robots to adapt to damage in less than 2 minutes, thanks to intuitions that they develop before their mission and experiments that they conduct to validate or invalidate them after damage. The result is a creative process that adapts to a variety of injuries, including damaged, broken, and missing legs.
About the speaker
Antoine Cully is Lecturer at Imperial College London and the director of the Adaptive and Intelligent Robotics lab. His research is at the intersection between artificial intelligence and robotics. He applies machine learning approaches, like deep learning and evolutionary algorithms, on robots to increase their versatility and their adaptation capabilities. He received the M.Sc. and the Ph.D. degrees in robotics and artificial intelligence from the Sorbonne University of Paris (previously called UPMC), France, in 2012 and 2015, respectively, and the engineer degree from the School of Engineering Polytech’Sorbonne, in 2012. His Ph.D. dissertation has received three Best-Thesis awards. He has published several journal papers in prestigious journals including Nature, IEEE Transaction in Evolutionary Computation, and the International Journal of Robotics Research. His work was featured on the cover of Nature (Cully et al., 2015) and received the “Outstanding Paper of 2015" award from the Society for Artificial Life (2016), and the French “La Recherche” award (2016).
Information on registration to follow - you will need to register to receive the join link for the event.
Thursday 6th February 2020, The Royal Society, London
RSLondonSouthEast 2020 is the 2nd annual workshop of the Research Software London regional research community for London and the South East of England.
You can find out more about the event, abstract submission and registration at https://rslondon.ac.uk/rslondonse-2020/.
Research Software in Physics
Friday 17th May 2019, 11:00-13:00, Room 120, Sir Alexander Fleming Building
Do you write or use scientific software as part of your research? Then you are already part of the research software community...perhaps without even knowing it!
Join us at this informal event to meet other researchers in Physics and to learn about existing research software (RS) resources at Imperial.
- Help to create a community that shares ideas on how to do better research software development (and be recognised for it!).
- Hear from two researchers within Physics talking about their experiences developing RS.
- Discuss with colleagues the issues that affect creating RS in academia.
- Present your own work in a 3-minute lightning talk. Places limited!
- Contributions from underrepresented groups within the Department
- of Physics especially welcomed.
- Light refreshments will be available.
Please note that this event is open to all members of the RSE community and is not restricted to members of the community based in the Department of Physics.
Further details and registration for this event are available at: http://bit.ly/ResearchSoftwarePhysics
Rich FitzJohn - "Researchers, Research Software Engineers and the importance of interfaces"
Tuesday 16th April 2019, 16:30-17:30, Room G64, School of Medicine Building, Norfolk Place, St Mary's Campus
Learning to code is an empowering event for most researchers - automating previously tedious tasks and scaling research beyond previous limitations. But without some care, code itself becomes a burden. In this talk I will discuss how in our Research Software Engineering team we work with researchers to develop interfaces to keep code focussed on either research or infrastructure through creating interfaces and reusable infrastructure.
Following the talk, at approximately 17:00, there will be a drinks reception.
(The School of Medicine Building is building number 5 on the St Mary's Campus map)
Edward Smith - "Best Practice in Software Design"
Wednesday 27th February 2019, 16:30-18:00, Room 217/218, Huxley Building, Department of Computing, Imperial College London, 180 Queen's Gate, London SW7 2AZ
Designing good research software is hard. The academic, often untrained in software engineering, takes on the job of a team of experienced software engineers. Optimised code for science is designed with very different goals to a collaborative project focused on reusability. Both clearly share the requirement of being correct, being reliabile.
A key to reusability and reliability is designing to an interface, a point I'll highlight with examples. But sustainable software is far more than reusability. The software I work on (www.cpl-library.org) raises the full range of efficiency, deployment and reliability challenges.
I'll outline how I set up unit test and deployment, a workflow using Git, Travis, google tests and pytest, as well as Deployment with Docker, Singularity and Anaconda (on HPC).
I'll also talk about frustrations with this workflow and 'best practice' coding in general, outlining successes and failures.
The aim of this talk is to raise a number of points so we can move to a discussion of similar experience with the technology, solutions and frustrations. I'll also aim to cover the various tools with introductory examples so it should be useful to new users in the RSE community.
About the speaker: Edward Smith has been at Imperial for over 10 years, working on software for multi-scale fluid dynamics simulation. In this time he has developed a range of open-source research software, ranging from MATLAB to Fortran to Python to C++, a Software Sustainability Institute fellow, he taught Python courses at Imperial and been actively involved in the Imperial and UK RSE community.
This event is being run in collaboration with the London and South East regional research software community, RSLondon.
Research Software in Materials
Friday 11th January 2019, 12:15-14:00, G01, Royal School of Mines
This event will focus on the development of research software within the Materials community. It will start with an introduction to Research Software Engineering (RSE) followed by two short talks that highlight aspects of RSE work done in the department. This will be followed by a buffet lunch, networking, and structured discussions to find out how we can build the materials RSE community at Imperial further. It will be a good opportunity to meet other staff and students who write and use software for materials research.
Please note that this event is open to all members of the RSE community and is not restricted to members of the community based in the Department of Materials.
If you would like to attend, please RSVP to firstname.lastname@example.org by the 3rd of January.
An Introduction to Research Software Engineering at Imperial - Dr Jeremy Cohen, Research Fellow, Department of Computing
Large Scale Collaborative Software Projects - Experiences from Developing DFT Codes - Dr Laura Ratcliff, Research Fellow, Department of Materials
Publishing your Software Project with the Journal of Open Source Software - Lucy Whalley, PhD student, Department of Materials
Krishnakumar Gopalakrishnan - "Building and collaborating on your research documents using modern cloud technologies"
Tuesday 11th December 2018, 16:00-18:00 (including Christmas social event) - 342, Huxley Building
UPDATE: A video from this talk is now available on Panopto. Please note that it is currently necessary to have an Imperial College login to access this video.
Writing that killer research article with your colleagues to fetch your research group that coveted publication? Writing that heavy tome a.k.a Ph.D thesis and showing off your LaTeX skills? Are you hamstrung by traditional typesetting systems?
This talk explores how researchers can leverage modern cloud technologies for building your research documents (written in the LaTeX format) in the cloud with proper VCS-stamping in the document footer. The talk explores the limits of current commercial cloud based document-building platforms and presents a bespoke workflow that the author has successfully used in his (rather large) Ph.D. thesis. A live demonstration of the workflow shall be presented showing how researchers may adapt current best practices that are deep-rooted in the software industry to help catapult the manuscript writing process into the 21st century.
About the speaker: Krishnakumar Gopalakrishnan is a recent PhD graduate (on Lithium Ion battery Modelling) from Imperial College London and has 5+ years of industry experience in modelling, simulation and control of dynamic systems. In the past, he has developed and delivered courses for Imperial College London in the EdX MooC platform and is presently serving as a teaching assistant in the Computational Methods Hub at Imperial, developing and teaching courses on scientific computing. He is also a recognised instructor for the Software Carpentry, a global non-profit volunteer organisation that aims to empower academic researchers with essential software principles.
Krishnakumar's talk will be preceeded by a lightning talk:
Alessandro Felder - "Combining multiple languages into an open-source image analysis pipeline"
A typical image analysis pipeline involves three steps: the image data are first processed and cleaned (e.g. noise removal, thresholding, segmentation), then some measurements are extracted, and finally, these measurements are visualised and analysed using some statistical software. Often, these tasks are executed by various (possibly closed-source or inaccessible) programs, rendering the pipeline more unwieldy and difficult to reproduce. I will demonstrate how these tasks can be achieved using open-source code written in Java (ImageJ2), Python and R on the example of 3D scans of bone tissue. The various parts of the code are intuitively combined using KNIME.
Jan Rose - "Accelerating image-based finite difference methods using GPUs"
Thursday 29th November, 13:00-13:45, Huxley Building, Lecture Theatre 144
Image processing software like Photoshop uses convolutions to, for example, blurr an image. These operations can be executed and their effect rendered in real time due to acceleration by a GPU. The computational threads work nearly completely in parallel, because the updated value of each pixel depends only on the current value of itself and its neighbours. That should sounds familiar to anyone doing numerical simulations, because it is an explicit finite difference scheme. In fact, blurring an image using a Gaussian kernel is almost like solving the heat equation.
In this talk we will see how to exploit the data locality of the finite difference stencil using CUDA/C++. The model problem will be the diffusion equation, solved on a stack of microscopy images, to model transport in biological tissue.
About the speaker: Jan is a PhD student at the Department of Aeronautics. He has ventured away from aerospace applications and is now collaborating with the Royal Brompton hospital on numerical simulations in cardiac tissue to better understand how disease can be observed in an MRI scanner.
Rich FitzJohn - "Using R's crazy introspection to build humane user interfaces"
Thursday 15th November, 13:45-14:45, Room G65B, School of Medicine Building, Norfolk Place, St Mary's Campus
R is a bizarre language - it superficially looks like a statistics program, but hides some unexpected features that hint at its experimental origin. In particular, R lets you pass around program code, modify and rewrite it before perhaps running it (or doing something entirely different with it). In this talk, I will present three case-studies where this flexibility helped me develop user-friendly interfaces; (1) 'cyphr' - a simple approach to encryption, (2) 'odin' - an R-to-C compiler for solving differential equations and (3) 'stevedore' - an automatically generated interface to docker, from R.
(School of Medicine Building is building number 5 on the St Mary's Campus map)