The Computational Methods Hub provides education, training and support in computational science though direct course provision, through supporting excellence in computational science training in individual CDTs, and by providing ongoing support for CDT students over the course of their PhD.
The Hub is a part of a of the Centre for Computational Methods in Science and Engineering that facilitates interaction between engineers, scientists, industries and society to provide a focus for development of foundational tools and methods that cut across individual disciplines.
The centre strives to facilitate cross-disciplinary research, for example by capitalizing on current and future multicore and multithreaded hardware architectures. Above all, it promotes strong computational methods training for scientists.
Courses & Info
- Pain Relief for Scientific Computing - student-organised fair dedicated to good practices and building a scientific computing community - October 11, 2017 (14:00 - 18:00), Huxley 341, 342
- Introduction to High Performance Computing - 10-week Autumn term course covering a range of topics in scientific computing
- Beginner's Guide to HPC at Imperial - from serial jobs to data parallelism - November 8th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Guide to HPC at Imperial - OpenMP, MPI and hybrid jobs - November 9th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- The Linux command line for scientific computing part 1 - November 24th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- The Linux command line for scientific computing part 2 - November 29th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Beginner's Guide to HPC at Imperial - from serial jobs to data parallelism - December 7th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Guide to HPC at Imperial - OpenMP, MPI and hybrid jobs - December 8th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Software Carpentry - December 11 and 12, 2017 (10:00 - 17:00), Sir Ernst Chain building 311, South Kensington campus
- Advanced OpenMP - December 12-14, 2017 (3 full days 09:00 - 16:00), ICT training room 204, Central Library
We will hold weekly office hours during term on Mondays (Katerina, 3-4pm) in the CDT space (4th floor Sherfield, entrance via the 2nd floor). CDT students are encouraged to attend for help with computational aspects of their work.
News & events (updated 27/07/17)
Check the HPC wiki for a wider range of upcoming external classes at the College.
27 July 2017
Details for our new Data analysis with Python course have been announced. See the course description here.
13 July, 2017
Pain Relief for Scientific Computing
CM Hub and students from CDTs in Fluid Dynamics across Scales, Mathematics of Planet Earth, Theory and Simulation of Materials and High Performance Embedded Distributed Systems are inviting everyone to a scientific computing fair. Pain Relief for Scientific Computing is held on October 11th and it will feature exhibits and short talks on useful practices essential for scientific computing novices.
SCIENTIFIC COMPUTING support Network
We are also launching a support network for students and scientists. The Network will connect those new to computing (or a particular problem) with their more experienced counterparts in order to improve and accelerate individual learning experiences. Contact us if you need help with selecting the right tool, deciding how to tackle a complex problem or if you just need a sounding board.
20 April, 2017
NGCM Summer Academy organised by the EPSRC CDT in Next Generation Computational Modelling at the University of Southampton, June 26 - 30, 2017.
The NGCM Summer Academy is a one-week event bringing together PhD students from across the UK who work on computer simulation of science and engineering problems, and want to extend their training through the workshops available at the Summer Academy. The training is delivered by world-leading experts and key developers of the relevant software tools, and includes 2-day courses on IPython and Jupyter Notebook, VTK and MayaVi, GPU programming using CUDA, Pandas Python library for data handling, Scikit learn, and Programming the Intel Knights Landing.
Prior to the main programme outlined above, we offer three courses aimed at those just starting with computational work. These courses provide a basic or intermediate introduction to Python, version control and testing and can be attended separately as a one-day event. In parallel, there will be a course on Scientific Programming run by a fellow of the Software Sustainability Institute, Alice Harpole.
Registration is now open.
22 December, 2016
Research software management, sharing and sustainability workshop
will be held at the British Library on January 12th, 2017
Jisc, in collaboration with SSI, University of Cambridge, University of Sheffield, University of Bath, University of Leicester, University of Birmingham, the British Library and STFC are inviting all researchers interested and passionate about developing or using research software to join a workshop on this subject.
The purpose of the workshop is to:
- Bring a range of experts who can answer and guide you with your most critical issues
- Provide you with a list of available resources on the subject and tailored to the problems that you are encountering when managing research code
- Listen and collate the most common problems that you are having in this area
Neil P. Hue Chong from the Software Sustainability Institute will be presenting the keynote talk.
19 October, 2016
No office hour on 20 and 27 October: Katerina will be teaching on 20th and away on the 27th. Please email if you have any questions. The next office hour is on November 3rd.
12 September, 2016
HPC summer school 2016
September 26 - 30, 2016
The second instalment of the HPC summer school starts on Monday September 26th and lasts one week.
The programme includes a code optimisation tutorial, one day of performance tuning for cx2 (helen) and a two day MPI class. On Friday, we'll host six community sessions on imaging, research software engineering, computational molecular sciences, genomics, research data management and simulation methods. The event concludes with a keynote lecture on compilers, HPC prize announcement and a reception.
You can register for separate workshops or community sessions. All are welcome!
12 September, 2016
ARCHER (UK National Supercomputing Service) training for this autumn includes GPU programming, performance optimisation, practical software development, advanced MPI and Intel Knight's landing workshops. Registration for the classes is open to all academics and students. ARCHER training page and registration.
10 June, 2016
Interscale interactions in fluid mechanics and beyond: 11-15 July 2016
Summer school organised by the Centre for Doctoral Training in Fluid Dynamics across Scales
This Summer School is an attempt at cross-fertilisation and will include a number of topics where dynamics at disparate scales and their interactions are involved: moving contact lines, derivation of hydrodynamic from kinetic theory equations, large-eddy simulations of turbulent flows, order-disorder transitions in incompressible active fluids, and collective dynamics of large numbers of motile organisms, from bacteria to birds.
Postgraduate students and Post Docs are welcome to attend. Register here for free before Friday 24 June.
Summer school web pages.
16 May, 2016
No office hour today: There will not be an office hour today, please email Prasun if you have any questions or would like to arrange a meeting.
7 April, 2016
NGCM Summer Academy organised by the EPSRC CDT in Next Generation Computational Modelling at the University of Southampton, June 20 - 24, 2016.
Prior to the main programme, the Academy offers Python courses aimed at those just starting with computational work. These courses provides a basic or intermediate introduction to Python, version control and testing.
Registration is now open.
4 April, 2016
So far, we have scheduled two classes for the summer term:
- Unix shell scripting - 7th June, 2016 (14:00 - 17:00), ICT training room 204 Central Library
- Guide to HPC at Imperial - 27th June, 2016 (14:00 - 17:00), ICT training room 204 Central Library
These classes, together with the upcoming Introduction to the command line (April 21st), are well suited to those students who are just starting to use the HPC resource at the College.
14 March, 2016
- Essential programming tools will take place next Wednesday, please register here if you would like to attend.
- Registration for Introduction to the command line (April 21st) is now also open here.
Office hours will be held during term on Mondays (Prasun, 5-6pm) and Thursdays (Katerina, 3-4pm) in the CDT space (4th floor Sherfield, entrance via the 2nd floor). CDT students are encouraged to attend for help with computational aspects of their work. Outside of term, we are often available via email.
A Software Carpentry workshop will be held at Imperial 23-24 March.
Prasun Ray, Teaching Fellow in Computational Methods
CM Hub at Imperial
We recognize that PhD students come from various backgrounds and have received a varied IT education. To promote excellence in graduate programs at the College, we offer computational method courses for all PhD students from the CDTs.
If you need to learn the basis of command line or shell scripting or if you need to start programming, we will provide a thorough introduction to the topic and get you started. For the more advanced users, we teach parallel methods, parallel programming, good programming practice and more.
The Hub is also closely affiliated with the high performance computing resource at the College and we can provide an introduction and advise on using the clusters. Check out our course list and/or contact us with questions.
Computational science requirements
A survey of computational science skill requirements was conducted in CDTs and the summary is presented below.
The required topic range from the basic command line, through programming skills to advanced topics in numerical methods and algorithms. To reflect the varied needs, we have started to develop short courses that provide a solid introduction to individual topics, followed by guided exercises.
Our long term vision is to provide courses organized into three logical levels, each building on the previous one.
Additional courses and links
HPC wiki - relevant classes at Imperial and all you need to know about using College's HPC resources.
ARCHER - the UK national supercomputing service offers free training courses on an array of topics.
Software carpentry - short introductory courses on Unix, Python, git, R, and a few other topics.
Programming in Fortran 95 Concise, thorough self-study guide for Fortran 90/95
The Not So Short Introduction to Latex Well-established, widely-used introduction to Latex
C++ Notes for short course offered by Theory and Simulation of Materials CDT at Imperial
- Beginner's Guide to HPC at Imperial - from serial jobs to data parallelism - May 24, 2017 (14:00 - 16:00), room 402 CDT space, Central Library
- Guide to HPC at Imperial - OpenMP, MPI and hybrid jobs - May 25, 2017 (14:00 - 16:00), room 402 CDT space, Central Library
- Research data and software management workshop - June 6 , 2017 (14:00 - 16:00), room 402 CDT space, Central Library
- Shared Memory Programming with OpenMP - June 12-13, 2017 (two full days)
- NGCM Summer Academy - June 26 - 30, 2017
- Solving optimization problems with Matlab - June 26, 2017 (14:00 - 17:00) ICT training room 204, Central Library
- Data analysis with Python - August 17, 2017, (13:00 - 17:00) Huxley 410
- Beginner's Guide to HPC at Imperial - from serial jobs to data parallelism - September 5, 2017 (14:00 - 16:00), SALC 7, Sherifield 5th floor
- HPC summer school - September 18-22, 2017, SAF 121, 122
- Beginner's Guide to HPC at Imperial - from serial jobs to data parallelism - January 13th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Guide to HPC at Imperial - OpenMP, MPI and hybrid jobs - January 19th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Beginner's Guide to HPC at Imperial - from serial jobs to data parallelism - January 23rd, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Software Carpentry (R, bash and Git) - January 26-27, 2017 (10:00 - 17:00), ICT training room 204, Central Library
- Scientific computing with Matlab - February 2nd and 6th, 2017 (13:00 - 17:00), ICT training room 204, Central Library
- Introduction to the command line - February 9th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Bash shell scripting - February 28th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Compiling and linking with make - March 2nd, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Python programming - March 3rd, 10th and 17th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Beginner's Guide to HPC at Imperial - from serial jobs to data parallelism - March 30th, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Guide to HPC at Imperial - OpenMP, MPI and hybrid jobs - March 31st, 2017 (14:00 - 16:00), ICT training room 204, Central Library
- Introduction to High Performance Scientific Computing - semester class
- HPC summer school 2016 (including two day introductory MPI workshop) - 26th to 30th September, 2016, Huxley
- Scientific computing with Matlab - 4th October, 2016 (14:00 - 18:00), room TBA
- Introduction to the command line - 17th October, 2016 (14:00 - 17:00), RSM G08
- Beginner's Guide to HPC at Imperial, from serial jobs to data parallelism - 20th October, 2016 (14:00 - 16:00), ICT training room 204, Central Library
- Guide to HPC at Imperial, OpenMP, MPI and hybrid jobs - 10th November, 2016 (14:00 - 16:00), ICT training room 204, Central Library
- Using the GIT version control system - 24th November, 2016 (14:00 - 16:00), ICT training room 204, Central Library
- Using the GIT version control system - 15th December, 2016 (14:00 - 16:00), ICT training room 204, Central Library
- Hands-on porting and optimisation workshop: Making the most of ARCHER - 13th May, 2016
- CUDA and OpenACC workshop - 23th and 24th May, 2016
- Bash shell scripting - 7th June, 2016
- Solving optimization problems with Python - 9th June, 2016
- Solving optimization problems with Matlab - 16th June, 2016
- Research data management workshop - 23th June, 2016
- Guide to HPC at Imperial - 27th June, 2016
- Scientific computing with Matlab
- Guide to HPC at Imperial
- Bash shell scripting
- Essential programming tools - Git version control sytem, GCC compiler collection and make utility
- Introduction to the command line - class for students new to the Linux command line interface
- HPC Summer School
- Scientific computing with Matlab
- Guide to HPC at Imperial
- Introduction to High Perfomance Scientific Computing
The Computational Methods Hub at Imperial
Supporting excellence in computational science at Imperial’s Centres for Doctoral Training
Computational science provides essential tools, methods, and principles that underpin research in all areas of science and engineering. The Computational Methods Hub facilitates computational science education for CDT students via a wide array of courses and services. Over the past 3 years, the Hub has developed and delivered a broad range of computational courses. Additionally, external experts have been regularly invited to deliver workshops on specialised topics. These courses and workshops are supplemented with weekly office hours where individual students receive assistance with computational aspects of their work. This document presents the full scope of the CM Hub’s offerings and outlines directions for future growth.
Computational science courses
CDT students arrive at Imperial with varying levels of experience with scientific computing, and we have accordingly designed a suite of courses that range from ‘the basics’ to more advanced topics such as parallel computing. At the introductory level, we offer three short courses well-suited for students who are relatively new to scientific computing:
- Introduction to the command line: Getting started with Unix
- Git version control system: Hands-on introduction to git
- Scientific computing with Matlab: Intensive introduction to Matlab for scientists and engineers
Our intermediate-level short courses that require some prior experience with relevant computational tools are:
- Unix shell scripting: Task automation in the Unix (bash) shell
- Compiling and Linking with Make: Introduction to the compile process, the essential compile flags and make syntax
- Beginner’s Guide to HPC at Imperial - from serial jobs to data parallelism: Hands-on introduction to the HPC systems at Imperial
- Guide to HPC at Imperial - OpenMP, MPI and hybrid jobs: Hands-on guide to parallel jobs with code examples
- Solving optimisation problems in Python/Matlab: Introduction to widely-used computational tools for solving optimisation problems
- Data analysis with Python: Introduction to Pandas, a powerful package for working with and analysing large datasets
We also offer a ten-week Masters-level module via the Mathematics Department:
- Introduction to high-performance scientific computing: A comprehensive module offered Autumn term
This course starts with relatively simple material (Unix, git), however by the end of the term, students are writing Python code, which drives Fortran modules that they have parallelised with MPI (while managing their codes with software version control).
A key advantage of the short courses is flexibility. These courses can be offered throughout the year (with customised content) in response to demand from the CDTs. With the semester high performance scientific computing course, an important benefit is coherence. We can emphasise general principles, and students gain valuable perspective on scientific computing as a discipline while also acquiring proficiency with a number of powerful tools.
We hold weekly office hours during term on in the CDT space in the Central Library. CDT students are welcome to attend for help with computational aspects of their work. Out of office hours, we can be contacted via email.
Student activities coordination
We work directly with students from several CDTs in order to find better ways to promote basic computational skills training. This activity also facilitates valuable cross-CDT interactions.
- Pain relief for scientific computing: We helped students from Fluid Dynamics across Scales, Mathematics of Planet Earth, Theory and Simulation of Materials and High Performance Embedded and Distributed Systems to prepare a Scientific Computing fair. The event was held in October 2017 and featured informal exhibits dedicated to various tools essential to completing a successful scientific computing project. For the next instalment, we welcome new participants who recognise that sharing hard-won computing experience with fellow students makes a difference.
- Scientific Computing Support Network: SCSN was launched in October 2107 as a peer support network for students. More experienced students will act as mentors to their younger counterparts. If you’re interested in participating, sign up on the website.
- Build your own computational course: A group of CDT students are designing and developing a new short course on "Scientific Computing Fundamentals" this term to be offered later this summer. If you are interested in some combination of teaching, numerical methods, and computer science and would like to be involved, please send us an email.
Training coordination - advanced and specialist classes
In conjunction with Imperial’s Research Computing Service, the CM Hub organises workshops, drop-in sessions and specialist classes.
- HPC Summer School: One-week programme of tutorials, workshops, and seminars covering all areas of high-performance computing held in September just before the term start. This year’s edition included a three-day class on GPU programming and deep learning, a two-day intensive Python class, a variety of community sessions and a quantum computing day.
- Research data and software management workshop: Hands-on workshop on developing and implementing a data management plan.
- Regular HPC Clinics: Drop-in sessions for new and experienced HPC users.
- Software and Data Carpentry workshops: Software and Data Carpentry foundations are volunteer organisations whose goal is to make scientists more productive, and their work more reliable, by teaching them basic computing skills and fundamental data skills. They run short, intensive workshops that cover program design, version control, testing, task automation and data management. The College is a member organisation and we will organise local workshops in 2018.
- EPCC specialist classes at Imperial: We host regular specialist classes delivered by experienced instructors from the Edinburgh Parallel Computing Centre.
If your CDT needs a quick primer on, for example, using the command line and the HPC resource before students begin a course, let us know and we can provide a customised class.
Getting the most out of the CM Hub
The courses and workshops outlined above provide each CDT with the opportunity to design a customised programme of study that matches its students’ needs. We can provide assistance with the development of such a programme, and we always welcome feedback on our current classes. Moving forward, a point of emphasis is to expand our offerings to ensure that we cover emerging areas of computational science (e.g. machine learning and data science), and again, we welcome suggestions on what the CDTs would like to see. Ultimately, our goal is to provide CDT students with a foundation in computational science that allows them to: 1) select the right computational tool for a particular problem and 2) use that tool in an efficient, intelligent manner. We look forward to continued growth in parallel with the CDTs which ensures that we continue to meet this goal.
Please email to Katerina Michalickova and Prasun Ray at email@example.com.