This document summarizes Dr. Simon Scarle's work using the GPU of the Xbox 360 to simulate a cardiac model. It outlines his background and research into cardiac arrhythmias. It then describes how GPUs are well-suited for parallel computing tasks like particle simulations. Dr. Scarle reimplemented his cardiac tissue simulation code on the Xbox 360 GPU and saw a performance improvement over running it on the CPU. He believes GPUs are a powerful tool for scientific computing and hopes to make simulations more accessible through game-like visualizations and interfaces.
Boost Fertility New Invention Ups Success Rates.pdf
Putting a Heart into a Box:GPGPU simulation of a Cardiac Model on the Xbox 360
1. Putting a Heart into a Box GPGPU simulation of a Cardiac Model on the Xbox 360 Dr Simon Scarle Serious Games Institute Coventry University
2. Outline Me : Where I’m from and what I do/did Serious Games: Tito Beco Games with a Purpose & GPGPU Particles Cardiac Modelling Previous work XBox 360 GPU In the News Public Understanding of Science Exchange between research and Games
3. Who am I? BSc Mathematical Physics UMIST PhD Theoretical Physics KCL Substitutional defects in semiconductors PDRA Extended linear Defects Thin film delamination Ion motion in a polymer Electro-cardio dynamics Rare STG Serious Games Project Senior Programmer
6. NHS fundedTo inform children about ideas related to good nutrition and exercise Key stage 2 8-11 years No overt teaching Information as much as possible presented via Gameplay not “lecturing” (Everand) Physically Enhanced puzzles Simple and well known puzzle game formats presented in a motion controlled manner As much as possible all interaction via motion Not as good a “real” exercise but better than a controller
8. Games Hardware: Serious Use University of Illinois 70 PS2 supercomputer Folding/SETI at Home Folding Game – Games with a Purpose New Scientist Article Games Consoles Reveal their Hidden Power 16 linked PS3’s calculating gravity waves from black hole collisions Other researchers using high-end graphics cards on PC’s to simulate the repulsion between two electrons in an atom
9. But it’s only a Games Console? Almost by definition the current Generation of games consoles and PCs are the most powerful bangs per buck computing hardware you can buy The cell chip at the heart of the PS3 is the CPU now used in IBM’s high-end systems XBox 360 Xenon – triple core 3.2 GHz PowerPC processor Custom ATI 500 MHz GPU
10. What is GPGPU? General-Purpose computation on the GPU General-Programming on the GPU Modern Graphical Processing Units are highly optimised parallel computing devices But highly optimised for graphics But if your problem can be put in a form usable by the GPU you can still exploit this GPU becoming more programmable HLSL (cut down C ) Compute Unified Device Architecture (Nvidia) GPGPU increasingly being used for HPC
12. GPU Coding vertex shader pixel shader Transform object’s vertex coordinates from its own space to that of viewpoint given by the “camera” pass this information on to pixel shader also further info normal, (bi-)tangent, UV coordinates Rasterisation Three vertices of a triangle extrapolate given values of the vertices across this triangle calculate the required colour of the final pixel using data from vertex shader
25. Particle GPGPU simulation vertex struct VS_INPUT { float4 pos : POSITION; float4 vel : TANGENT; }; pos x, y, z Life Time vel x’, y’, z’ Life Left
26. A More Realer World Problem Abnormal propagation of electrical excitation in the heart Cardiac arrhythmias Ventricular tachycardia & fibrillation Leads to sudden cardiac death Largest categorical cause of death in the industrialized world My previous work used a genetic algorithm to evolve diseased tissue structures that were increasingly arrhythmic
28. The Mathematical model Mono-domain equation Fenton-Karma 4 variable FK4v Vm, v, w & d DIFFUSIVE PART INTERNAL PART Cm membrane capacitance Vm voltage across cell membrane D Diffusion tensor Iion membrane current flow
29. Fenton Karma 4 Variable Well used basic model Jfi fast inward Na+ Jsi slow inward Ca+ Jso slow outward K+ Cardiac cell behaviour excitable refractory recovery
30. XBox 360 CPU Simulation As part of the acclimatization process asked to produce a demo using the R1SDK to reimplement a previous project I did a “gameified” cardiac tissue simulation arena is excitable using the FHN model Reimplemented research code on the XBox NB just changed enough to get it to work, no optimization
31. CPU v GPU XBox 360 CPU has three cores 1 vector/scalar op per clock tick i.e. 3 * ( 5 + 1 ) * 2 = 36 flops per clock tic At 3.2 Ghz gives 115.2 Gflops per second XBox 360 GPU has 3 execution units (ALUs) 16 vector/scalar ops per clock tick i.e. 3 * 16 * ( 4 + 1 ) * 2 = 480 flops per clock tic At 500 Mhz gives 240 Gflops per second CPU peak impossible to obtain in the real world ( below ~50% ) GPU can get far closer due to its more optimized nature (~80%)
32. XBox 360 GPU Simulation simulation vertex struct vertex{ float4 Position : POSITION; float4 FK4v : NORMAL; float4 Neigh : TEXCOORD0; float4 DVm : TEXCOORD1; }; Position x, y, z, Vm FK4v v, w, d, cell type Neigh indices of the four neighbours of this cell DVm calculation space for diffusion
33. XBox 360 GPU Simulation GPGPU are good for embarrassingly parallel problems and SIMD e.g. rendering 3D graphics Due to diffusion cardiac tissue simulation isn’t embarrassingly parallel require some form of synchronisation multiple vertex shaders pass the vertex buffer through each in turn Zapp applies stimulation Diffusion calculates diffusion terms Simulation carries out FK4v model
36. CPU/GPU Comparison Optimisation CPU code wasn’t optimised for running on the XBox However, neither was the GPU code Optimisation could make both faster but unlikely CPU could ever beat GPU
37. “Free” Visualization If you wish to do 3D visualisation for a simulation Convert simulation data to a GPU useable form Vertices Textures Already done this when using GPGPU Also created a series of different render shaders to highlight different aspects of the simulation
44. E-mails Hi sir Sir my name is zarshad khan from Pakistan sir I am an SVT patient plz let me know how I should get this machine for my own treatment Zarshad khan
45. E-mails Hello Dr Scarle, My name is Keith and I am a student at Avon Middle School in Connecticut. I am in Mr. Rand's eighth grade science class. I read the article about how you used an Xbox GPU to do research modelling for cardiac arrhythmias. I have 2 questions for you for my school current events. 1. Did you actually use an Xbox to do your testing or did you take it apart for the chip and put it in another machine? And did you do all the reworking for the code? 2. What made you switch from a software engineer on games to doing medical research on cardiac arrhythmias? Thank you for your time. Keith
46. PUS Publicity from my paper shows the use of games technology could be a very powerful tool in the PUS field. Public Understanding of Science Putting real science into games A fundamental element of a game being based on research simulation code Demo released to public as well as a website detailing the research which has inspired the game XNA / Indie Games on XBox 360
48. Borrowing from Games The games industry is at the fore front of computer technology Possibly IS the fore front GPU CPU
49. Multi-variable display Use advanced rendering techniques to acquire more understanding from multi-variable data FK4v RGB Height Filament calculation in real time Use XBox 360 as a simulation scratchpad Direct use of Game Consoles best computational fit Cheaply grab that extra bit of computing power
50. Conclusions GPGPU is a highly effective way of carrying out quite high end parallel computing on “domestic” hardware Although major reworking of code framework is required but this can easily be outweighed by the benefits in gained computational power and speed Games are COOOL! Games consoles are POWERFUL! Let’s borrow some of that fame and technological in more serious work.
51. Many thanks to everyone previously involved in all the work outlined here.
52. THANKS Any Questions? If you’d like your simulation to be game-ified, please speak to me afterwards or contact me at the e-mail address below. Simon Scarle Sscarle@cad.coventry.ac.uk
53. The Science Bit Asked by old research group to do seminar talk Made it part of Rare’s Academic Liaison programme Old Boss suggested I write this up Wanted one better than a widget paper Cardiac model GPGPU Actual do some kind of science with Cardiac Tissue Logic Circuits
57. Cardiac Side Something of a Holy grail in cardiac research would be a technique to analyse a structure of diseased/damaged cardiac cells and the in coming excitation and state whether or not you have a re-entrant circuit
58. Computational Side Used a train of excitations on the beat to send 1 Train on the half beats to send 0 NOT gate is just a detour NOR gate is a universal gate Turing Complete system Halting Problem Impossible to predict whether an arbitrary programme will terminate or run for ever Thus making the “is their a re-entrant circuit” question the reverse of the halting problem and hence impossible
59. Game Controller Keyboards aren’t very good In fact deliberately bad Better layouts and designs just keep failing Game Controller is almost as bad But gamers are damn good at using them
60. Game Developers Interested in simulations of Animal Behaviour AI Physics Movement Fracture & deformation Fluid dynamics Perception Vision Optics & Lighting Gesture recognition They also want to develop these simulations to work in real time on the current generation of consoles Game code is some of the most fault tolerant and tested code produced Requires exceptionally skilled coders to produce
61. “Water” GPGPU Simple dynamic water effect Pixel shader Water Texture R: Water Height G: Previous Water Height B: Normal X component A: Normal Y component
Inspire kids to learn about science, when they release its knowledge that you need to become part of the games industry.Example: Cardiac shooter demo, cardiac puzzle gameMention Public Service Media/GamesSet up for excellent unilateral KTP between the games industry and research
Links to HCI
The Centre for Digital Entertainment (CDE) is a new collaboration between the University of Bath, Bournemouth University and a host of industry partners across the computer animation, games and visual effects industries. The CDE has been awarded £6.3 Million initial funding from the Engineering and Physical Sciences Research Council (EPSRC).50 Doctoral Studentships on offer in Digital Entertainment.Would you like to do leading-edge research while working in world-class computer games, computer animation, visual effects or film post-production companies?