Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where George Russell is active.

Publication


Featured researches published by George Russell.


high performance embedded architectures and compilers | 2010

Offload – automating code migration to heterogeneous multicore systems

Pete Cooper; Uwe Dolinsky; Alastair F. Donaldson; Andrew Richards; Colin Riley; George Russell

We present Offload, a programming model for offloading parts of a C++ application to run on accelerator cores in a heterogeneous multicore system. Code to be offloaded is enclosed in an offload scope; all functions called indirectly from an offload scope are compiled for the accelerator cores. Data defined inside/outside an offload scope resides in accelerator/host memory respectively, and code to move data between memory spaces is generated automatically by the compiler. This is achieved by distinguishing between host and accelerator pointers at the type level, and compiling multiple versions of functions based on pointer parameter configurations using automatic call-graph duplication. We discuss solutions to several challenging issues related to call-graph duplication, and present an implementation of Offload for the Cell BE processor, evaluated using a number of benchmarks.


complex, intelligent and software intensive systems | 2010

Automatic Offloading of C++ for the Cell BE Processor: A Case Study Using Offload

Alastair F. Donaldson; Uwe Dolinsky; Andrew Richards; George Russell

Offload C++ is an extended version of the C++ language, together with a compiler and runtime system, for automatically offloading general-purpose C++ code to run on the Synergistic Processor Elements (SPEs) of the Cell Broadband Engine (BE) processor. We introduce Offload C++ by presenting a case study using the approach to offload parts of an image processing application. The case study introduces the language extensions; illustrates the core technology on which the technique is based: automatic call-graph duplication, and automatic generation of data-movement code; shows how parallelism can be achieved by offloading work to multiple SPEs simultaneously, while the Power Processor Element (PPE) core simultaneously performs additional work; and demonstrates our solutions to dealing with complex language features such as function pointers and multiple compilation units.


network and system support for games | 2008

Tackling online game development problems with a novel network scripting language

George Russell; Alastair F. Donaldson; Paul Sheppard

We describe a novel scripting language for writing bandwidth-efficient online game logic. The language facilitates the development of deterministic, concurrent, distributed games, with assurances of consistency maintenance between clients and server. Our approach allows for increased simulation accuracy when compared to dead reckoning, and removes the need to write code to repair distributed state inconsistencies, or to explicitly transfer data over a network.


european conference on parallel processing | 2010

Programming heterogeneous multicore systems using threading building blocks

George Russell; Paul Keir; Alastair F. Donaldson; Uwe Dolinsky; Andrew Richards; Colin Riley

Intels Threading Building Blocks (TBB) provide a high-level abstraction for expressing parallelism in applications without writing explicitly multi-threaded code. However, TBB is only available for shared-memory, homogeneous multicore processors. Codeplays Offload C++ provides a single-source, POSIX threads-like approach to programming heterogeneous multicore devices where cores are equipped with private, local memories--code to move data between memory spaces is generated automatically. In this paper, we show that the strengths of TBB and Offload C++ can be combined, by implementing part of the TBB headers in Offload C++. This allows applications parallelised using TBB to run, without source-level modifications, across all the cores of the Cell BE processor. We present experimental results applying our method to a set of TBB programs. To our knowledge, this work marks the first demonstration of programs parallelised using TBB executing on a heterogeneous multicore architecture.


Archive | 2008

Dynamic code update

George Russell; Andrew Richards


Archive | 2007

Techniques for program execution

Andrew Richards; Andrew Cook; George Russell


Archive | 2008

Techniques for program performance analysis

George Russell; Andrew Richards


Archive | 2008

Generation of video

George Russell; Andrew Richards


Programming multi-core and many-core computing systems. Ed.: S. Pllana | 2017

Peppher : Performance Portability and Programmability for Heterogeneous Many-Core Architectures

Siegfried Benkner; Sabri Pllana; Jesper Larsson Träff; Philippas Tsigas; Andrew Richards; George Russell; Samuel Thibault; Cédric Augonnet; Raymond Namyst; H. Cornelius; C. Keler; David Moloney; Peter Sanders


Archive | 2011

D6.5: First PEPPHER Prototype

Beverly Bachmayer; Siegfried Benkner; Sabri Pllana; Jesper Larsson Träff; Erich Marth; Martin Sandrieser; Martin Wimmer; Philippas Tsigas; Daniel Cederman; Uwe Dolinsky; George Russell; Andrew Richards; Raymond Namyst; Cédric Augonnet; Samuel Thibault; Christoph W. Kessler; Usman Dastgeer; David Moloney; Peter Sanders; Vitaly Osipov

Collaboration


Dive into the George Russell's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Philippas Tsigas

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Peter Sanders

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Paul Keir

Glasgow School of Art

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge