Skip to content Dr Martin Peniak Innovation · Robotics · Project Tao

Plymouth research · 2008–2014

GPU computing for cognitive robotics.

I was an early pioneer applying GPU computing to cognitive robotics. I used graphics processors to make larger robot-learning experiments practical, working with the iCub humanoid and building the Aquila research toolkit.

My 2014 Plymouth thesis brought this work together: the first investigation of GPU computing’s impact on cognitive robotics, as described in the university’s thesis record.

Martin Peniak working beside the iCub humanoid robot in the Plymouth lab
Martin Peniak with the iCub humanoid robot
The iCub humanoid robot holding an NVIDIA graphics processor
GPU-accelerated robot learning

Question and contribution

Could faster training enable richer robot learning?

The question

Training time limited the experiment

Learning an action means learning a sequence, not recognising one photograph. Larger neural models could connect more sensory information, movements and words, but their training cost constrained what researchers could try. A GPU runs many calculations in parallel; the question was how to use that capacity for embodied learning.

My contribution

Implementing and comparing the learning software

During my Plymouth PhD, I developed CPU and CUDA GPU versions of neural-network code for iCub control and training. I worked across the learning algorithms, experiments and Aquila tooling. By July 2012, we had implemented multi-GPU training and tested it on four-GPU systems.

Implementation

Aquila, recurrent networks and CUDA

Multiple time-scales recurrent neural networks (MTRNNs) learn sequences at different rates, relating slower patterns to faster movements. Back-propagation through time (BPTT) trains these networks across a sequence. Aquila brought CPU/GPU modules together with graphical controls and visualisation, so researchers could run and inspect experiments.

Aquila 2.0 architecture paper, 2013

Reported result

About 50× faster iCub training in my reported comparison.

In NVIDIA’s historical CUDA Spotlight interview, I reported roughly a 50-fold speed increase for the iCub training algorithms when comparing my GPU and CPU implementations. Faster training made larger experiments practical.

This was a comparison of those implementations, with optimisation still incomplete. The later four-GPU tests were a separate experiment.

Read my original comparison
Martin Peniak and colleagues with the iCub robot in the Plymouth research lab
The Plymouth iCub research community

Collaboration

Research built with a lab, not alone.

I worked with supervisors Angelo Cangelosi, Tony Belpaeme and Davide Marocco, and co-authored the Aquila 2.0 paper with Anthony Morse and Angelo Cangelosi. The iCub platform and the wider action-language research gave us a robot and a scientific setting in which to test the ideas.

Martin Peniak at ESA beside the rover research platform
ESA rover research · 2010

Separate research strand · 2009–2010

Evolving controllers for a simulated rover.

Alongside the GPU work, I took part in the Plymouth–ESA Evolution in Robotic Islands study and co-authored its report. We asked whether populations of candidate neural controllers could improve by exchanging solutions.

We paired Plymouth’s Mars Rover Simulator with ESA’s PaGMO island-model optimiser. Cangelosi, Marocco and Barry Bentley contributed on the Plymouth side; Christos Ampatzis and Dario Izzo co-authored the final report. The simulator and 2010 report preserve the experiment.

This was a separate evolutionary-robotics strand: the ESA framework used parallel CPU threads, while my CUDA work accelerated neural-network learning.

NVIDIA and teaching

A talk, an internship and a teaching role.

29 September 2011

Invited presentation at NVIDIA headquarters

I presented my CUDA cognitive-robotics work at NVIDIA’s Santa Clara headquarters on 29 September 2011, then wrote about the visit on 1 October.

Read the original presentation account
2012–February 2014

Associate Lecturer (GPU programming), Plymouth

Alongside my research, I held part-time lecturing and demonstrating contracts at the University of Plymouth. I prepared and taught CUDA classes and worked on the GPU computing lab. This teaching continued until February 2014, separately from the NVIDIA internship and conference speaking.

Public artifacts

The thesis, software and original experiments.

Software

Aquila releases

The archived toolkit releases, with CPU/GPU modules and experiment controls.

Browse Aquila releases