Graham D. Riley
University of Manchester
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Graham D. Riley.
international conference on robotics and automation | 2015
Luigi Nardi; Bruno Bodin; M. Zeeshan Zia; John Mawer; Andy Nisbet; Paul H. J. Kelly; Andrew J. Davison; Mikel Luján; Michael F. P. O'Boyle; Graham D. Riley; Nigel P. Topham; Stephen B. Furber
Real-time dense computer vision and SLAM offer great potential for a new level of scene modelling, tracking and real environmental interaction for many types of robot, but their high computational requirements mean that use on mass market embedded platforms is challenging. Meanwhile, trends in low-cost, low-power processing are towards massive parallelism and heterogeneity, making it difficult for robotics and vision researchers to implement their algorithms in a performance-portable way. In this paper we introduce SLAMBench, a publicly-available software framework which represents a starting point for quantitative, comparable and validatable experimental research to investigate trade-offs in performance, accuracy and energy consumption of a dense RGB-D SLAM system. SLAMBench provides a KinectFusion implementation in C++, OpenMP, OpenCL and CUDA, and harnesses the ICL-NUIM dataset of synthetic RGB-D sequences with trajectory and scene ground truth for reliable accuracy comparison of different implementation and algorithms. We present an analysis and breakdown of the constituent algorithmic elements of KinectFusion, and experimentally investigate their execution time on a variety of multicore and GPU-accelerated platforms. For a popular embedded platform, we also present an analysis of energy efficiency for different configuration alternatives.
Philosophical Transactions of the Royal Society A | 2005
Rafael Delgado-Buscalioni; Peter V. Coveney; Graham D. Riley; Rupert W. Ford
Over the past three years we have been developing a new approach for the modelling and simulation of complex fluids. This approach is based on a multiscale hybrid scheme, in which two or more contiguous subdomains are dynamically coupled together. One subdomain is described by molecular dynamics while the other is described by continuum fluid dynamics; such coupled models are of considerable importance for the study of fluid dynamics problems in which only a restricted aspect requires a fully molecular representation. Our model is representative of the generic set of coupled models whose algorithmic structure presents interesting opportunities for deployment on a range of architectures including computational grids. Here we describe the implementation of our HybridMD code within a coupling framework that facilitates flexible deployment on such architectures.
international conference on parallel processing | 2000
Thomas Fahringer; Michael Gerndt; Graham D. Riley; Jesper Larsson Träff
Performance analysis is an important step in tuning performance critical applications. It is a cyclic process of measuring and analyzing performance data which is driven by the programmers hypotheses on potential performance problems. Currently this process is controlled manually by the programmer. The implicit knowledge applied in this cyclic process must be formalized in order to be reused in the automation of performance analysis tools. This article describes the performance property specification language ASL developed in the APART Esprit IV working group. ASL allows the specification of performance data via an object model and of performance properties via a specially designed notation. Performance bottlenecks can then be identified based on the specification since bottlenecks are viewed as performance properties with a huge negative impact. We present the ASL language in the context of MPI applications.
Philosophical Transactions of the Royal Society A | 2005
Kenneth R. Mayes; Mikel Luján; Graham D. Riley; Jonathan Chin; Peter V. Coveney; John R. Gurd
Advances in computational Grid technologies are enabling the development of simulations of complex biological and physical systems. Such simulations can be assembled from separate components—separately deployable computation units of well-defined functionality. Such an assemblage can represent an application composed of interacting simulations or might comprise multiple instances of a simulation executing together, each running with different simulation parameters. However, such assemblages need the ability to cope with heterogeneous and dynamically changing execution environments, particularly where such changes can affect performance. This paper describes the design and implementation of a prototype performance control system (PerCo), which is capable of monitoring the progress of simulations and redeploying them so as to optimize performance. The ability to control performance by redeployment is demonstrated using an assemblage of lattice Boltzmann simulations running with and without control policies. The cost of using PerCo is evaluated and it is shown that PerCo is able to reduce overall execution time.
euromicro workshop on parallel and distributed processing | 2000
Nandini Mukherjee; Graham D. Riley; John R. Gurd
FINESSE is a prototype environment designed to support rapid development of parallel programs for single-address space computers by both expert and non-expert programmers. The environment provides semi-automatic support for systematic, feedback-based reduction of the various classes of overhead associated with parallel execution. The characterisation of parallel performance by overhead analysis is first reviewed, and then the functionality provided by FINESSE is described. The utility of this environment is demonstrated by using it to develop parallel implementations for an SGI Origin 2000 platform of Tred2, a well-known benchmark for automatic parallelising compilers.
international conference on supercomputing | 1997
Graham D. Riley; J. Mark Bull; John R. Gurd
A method is presented for incremental development of high performance parallel programs, using an application from molecular dynamics as a case study. The method uses the technique of overhead analysis, which aims to explain experimental observations using models of execution behaviour, as a means of determining successive steps in program development. The case study illustrates how this technique can be applied to the complexities of real-world parallel computations.
ieee international conference on high performance computing data and analytics | 2000
Thomas Fahringer; Michael Gerndt; Graham D. Riley; Jesper Larsson Träff
Performance analysis is an important step in tuning performance critical applications. It is a cyclic process of measuring and analyzing performance data which is driven by the programmers hypotheses on potential performance problems. Currently this process is controlled manually by the programmer.We believe that the implicit knowledge applied in this cyclic process should be formalized in order to provide automatic performance analysis for a wider class of programming paradigms and target architectures. This article describes the performance property specification language (ASL) developed in the APART Esprit IV working group which allows specifying performance-related data by an object-oriented model and performance properties by functions and constraints defined over performance-related data. Performance problems and bottlenecks can then be identified based on user- or tool-defined thresholds. In order to demonstrate the usefulness of ASL we apply it to OpenMP by successfully formalizing several OpenMP performance properties.
grid computing | 2005
Christopher W. Armstrong; Rupert W. Ford; John R. Gurd; Mikel Luján; Kenneth R. Mayes; Graham D. Riley
In recent years, there has been increasing interest in the development of computer simulations of complex biological systems, and of multi‐physics and multi‐scale physical phenomena. Applications have been developed that involve the coupling together of separate executable models of individual systems, where these models may have been developed in isolation. A lightweight yet general solution is required to problems of linking coupled models, and of handling the incompatibilities between interacting models that arise from their diverse origins and natures. Many such models require high‐performance computers to provide acceptable execution times, and there is increasing interest in utilizing Grid technologies. However, Grid applications need the ability to cope with heterogeneous and dynamically changing execution environments, particularly where run‐time changes can affect application performance. A general coupling framework (GCF) is described that allows the construction of flexible coupled models. This approach results in a component‐based implementation of a coupled model application. A semi‐formal presentation of GCF is given. Components under GCF are separately deployable and coupled by simple data flows, making them appropriate structures for dynamic execution platforms such as the Grid. The design and initial implementation of a performance control system (PERCO) is reviewed. PERCO acts by redeploying components, and is thus appropriate for controlling GCF coupled model applications. Redeployment decisions in PERCO require performance prediction capabilities. A proof‐of‐concept performance prediction algorithm is presented, based on the descriptions of GCF and PERCO. Copyright
grid computing | 2004
Ken Mayes; Graham D. Riley; Rupert W. Ford; Mikel Luján; Len Freeman; Cliff Addison
A major method of constructing applications to run on a computational Grid is to assemble them from components - separately deployable units of computation of well-defined functionality. Performance steering is an adaptive process involving run-time adjustment of factors affecting the performance of an application. This paper presents a design for a system capable of steering, towards a minimum run-time, the performance of a component-based application executing in a distributed fashion on a computational Grid. The proposed performance steering system controls the performance of single applications, and the basic design seeks to separate application-level and component-level concerns. The existence of a middleware resource scheduler external to the performance steering system is assumed, and potential problems are discussed. A possible model of operation is given in terms of application and component execution phases. The need for performance prediction capability, and for repositories of application-specific and component-specific performance information, is discussed. An initial implementation is briefly described.
european conference on parallel processing | 2002
Michael K. Bane; Graham D. Riley
In this paper we extend current models of overhead analysis to include complex OpenMP structures, leading to clearer and more appropriate definitions.