Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSS 700: MASS CUDA Parallel‐Computing Library for Multi‐Agent Spatial Simulation Fall Quarter 2014 Nathaniel Hart UW Bothell Computing & Software Systems.

Similar presentations


Presentation on theme: "CSS 700: MASS CUDA Parallel‐Computing Library for Multi‐Agent Spatial Simulation Fall Quarter 2014 Nathaniel Hart UW Bothell Computing & Software Systems."— Presentation transcript:

1 CSS 700: MASS CUDA Parallel‐Computing Library for Multi‐Agent Spatial Simulation Fall Quarter 2014 Nathaniel Hart UW Bothell Computing & Software Systems

2 Project Milestones M1: The ability to execute simulations that fit on a single device. Initial focus is on creating the command & control logic with hooks to add multi-device functionality later M2: The ability to execute simulations that fit on multiple devices. This will require extensible border exchange logic. M3: The ability to execute simulations that exceed the memory of a host’s available devices. This means a great deal of the partition and border exchange logic. UW Bothell Computing & Software Systems2

3 Quarter Goals (M1) Date RangeActivityDeliverable 9/15/14 - 10-/15/14 Specify MASS CUDA Architecture and single-GPU implementation  Specifications for algorithms and design choices for phase I implementation 10/16/14 - 12/15/14Implement part I of MASS Agents Design multi-GPU communication algorithms  A minimally viable version of the MASS CUDA that can run a simulation of size not exceeding available memory on a single GPU.  A version of the MASS CUDA library suitable for use in CSS 534  Performance statistics for this initial implementation  Specifications for algorithms and design choices for phase II implementation UW Bothell Computing & Software Systems3

4 Project Status UW Bothell Computing & Software Systems4

5 Status Details Still need to lock down final ghost space solution for Agents Debugging is now possible on Hercules Need to talk to Jason to figure out how to remote in via GUI UW Bothell Computing & Software Systems5

6 Blocking Issues Hercules 2 is still not operational. Depends on Chris Fox to unblock. Places will not instantiate properly UW Bothell Computing & Software Systems6

7 Virtual Functions UW Bothell Computing & Software Systems7 Image Source: http://www.learncpp.com/cpp-tutorial/125-the-virtual-table/

8 Virtual Functions UW Bothell Computing & Software Systems8 Image Source: http://www.learncpp.com/cpp-tutorial/125-the-virtual-table/

9 The Workaround __global__ void createPlaces(Places ** places, int qty){ int idx = blockIdx.x * blockDim.x + threadIdx.x; if(idx < qty){ // virtual function table created on GPU places[idx] = new PlaceImpl(); } UW Bothell Computing & Software Systems9

10 Old Architecture UW Bothell Computing & Software Systems10

11 New Architecture UW Bothell Computing & Software Systems11

12 The New Problem Instances created on the GPU can not be copied to the host and used for analysis. Just as we break the virtual function table copying from the host to the GPU, we cannot copy from the GPU to the host. UW Bothell Computing & Software Systems12

13 The New Workaround UW Bothell Computing & Software Systems13

14 The New Workaround UW Bothell Computing & Software Systems14

15 Big TODO’s 1.Refactor existing code to allow for place instantiation and separation of behavior and state 2.Implement all control kernel functions 3.Write more tests UW Bothell Computing & Software Systems15

16 ? UW Bothell Computing & Software Systems16


Download ppt "CSS 700: MASS CUDA Parallel‐Computing Library for Multi‐Agent Spatial Simulation Fall Quarter 2014 Nathaniel Hart UW Bothell Computing & Software Systems."

Similar presentations


Ads by Google