William Bill Langdon
27 February 2019, 1:00 pm–2:00 pm
William Bill Langdon - CMIC seminar series
Roberts LT 106Roberts BuildingMalet PlaceLONDONWC1E 6BT
William Bill Langdon
Title: Genetic Improvement for faster Medical Imaging GPU Software
Genetic Improvement (GI) of software is a new area of computer science research in which search based techniques (SBSE), particularly genetic programming (GP), are applied to existing software. Typically directly to programme source code with a view to objectively improving it. Typical measures are speed, memory and reduced energy consumption but also functional improvements leading to fewer bugs (automatic program repair and bugfixing) better answers or porting to novel hardware have also been investigated.
Dating back to the last century evolutionary search has been applied to various parallel approached including nVidia's CUDA, OpenCL, OpenACC compiler directives and Intel SIMD AVX.
After a short introduction to evolutionary computing, GP and GI in general I will concentrate upon some work with CMIC's CUDA based NiftyReg which gave up to a 2000 fold speed up compared to a single
3.0 GHz CPU. Future research could consider automatic tuning of, in particular GPGPU kernels, to different GPU hardware and software.
Bill Langdon is a professorial research associate in CREST at UCL.
He has extensive expertise and experience in genetic programming (GP), including three books and recently co-chaired the genetic improvement (GI) workshops http://geneticimprovementofsoftware.com/
Bill also has considerable experience of practical software engineering, having worked for 13 years in industry. His work has always combined both theory and application. Recent theoretical analysis has included analysing GP in terms of elementary landscapes, reversible computing, amorphous computing and The Halting Problem. Practical work includes evolving multi-classifier systems, evolving biological motifs to match DNA sequences and predict breast cancer, exploiting graphics hardware (GPGPU), benchmarks and evolving improved versions of real-world programs.