why use gpus for graph processing
play

Why use GPUs for graph processing? FOSDEM 2020 2 GPUs and Graphs - PowerPoint PPT Presentation

Gunrock High-Performance Graph Analytics for the GPU Muhammad Osama University of California, Davis Why use GPUs for graph processing? FOSDEM 2020 2 GPUs and Graphs Graphs GPUs Found everywhere Found everywhere Road &


  1. Gunrock High-Performance Graph Analytics for the GPU Muhammad Osama — University of California, Davis

  2. Why use GPUs for graph processing? FOSDEM 2020 2

  3. GPUs and Graphs Graphs GPUs ● Found everywhere ● Found everywhere ○ Road & social networks, web, etc. ○ Data center, desktops, mobiles, etc. ● Require fast processing ● Very powerful Memory bandwidth, computing High memory bandwidth (900 GBps) ○ ○ power and GOOD software and computing power (15.7 T F lops) ● Becoming very large ● Limited memory size ○ Billions of edges ○ 32 GB per NVIDIA V100 ● Irregular data access pattern and ● Difficult to program control flow ○ Harder to optimize ○ Limits performance and scalability FOSDEM 2020 3

  4. What is Gunrock? FOSDEM 2020 4

  5. Performance A CUDA -based graph processing State-of-the-art graph processing library library, aims for FOSDEM 2020 5

  6. Generality A CUDA -based graph processing Covers a broad range of graph algorithms library, aims for FOSDEM 2020 6

  7. Programmability A CUDA -based Makes it easy to graph processing implement and extend graph algorithms from library, aims for 1-GPU to multi-GPUs FOSDEM 2020 7

  8. Scalability A CUDA -based Fits in (very) limited GPU graph processing memory space performance scales library, aims for when using many GPUs FOSDEM 2020 8

  9. Where can you find Gunrock? FOSDEM 2020 9

  10. gunrock .github.io FOSDEM 2020 10

  11. Project’s Workflow Release (master) branch Apache 2.0 License Development (dev) branch Code Coverage codecov.io Git Forking Workflow Central Integration jenkins.io Contribute GitHub Issues & Documentation slate & doxygen Pull Requests FOSDEM 2020 11

  12. Project’s Workflow (cont.) Gunrock's Roadmap FOSDEM 2020 12

  13. Some Stats and Stuff! (as of 01/30/2020) ● 32 Contributors (over 2500 commits) ● ~600 stars 148 forks ● NVIDIA CUDA-X: GPU Accelerated Library ● RAPIDS FOSDEM 2020 13

  14. How does Gunrock work? FOSDEM 2020 14

  15. Programming Model ● Data-centric abstraction ● Bulk-synchronous programming FOSDEM 2020 15

  16. An example graph { G } Frontier A frontier ; group of vertices or edges Frontier of vertices of graph { G } FOSDEM 2020 16

  17. Parallel Operators Manipulation of frontiers Illustration of Advance Operator is an operation ● Advance ● Filter ● For ● Intersection ● Neighbor-Reduce Generates new frontier by visiting the neighbors. ● … and more. FOSDEM 2020 17

  18. Bulk-Synchronous Programming Series of parallel operations separated by global barriers Parallel advance Serial loop until operator convergence FOSDEM 2020 18

  19. {Gunrock Graph Projections GraphSAGE Algorithms} Random Walk Stochastic Approach for Link-Structure Analysis Hyperlink-Induced Topic Search A* Search Subgraph Matching K-Nearest Neighbors Betweenness Centrality Shared Nearest Neighbors Louvain Modularity Breadth-First Search Scan Statistics Label Propagation Connected Components Single Source Shortest Path MaxFlow Graph Coloring Triangle Counting Minimum Spanning Tree Geolocation Top K PageRank RMAT Graph Generator Vertex Nomination Local Graph Clustering Graph Trend Filtering Who To Follow FOSDEM 2020 19

  20. Example application in Gunrock. FOSDEM 2020 20

  21. auto advance_op = [distances, weights] __host__ __device__ (...) -> bool { Single-Source Shortest Path auto distance = distances[vertex_id] + weights[edge_id]; auto old_distance = atomicMin(distances + neighbor_id, distance); Implement the if (distance < old_distance) return true; return false; advance and filter }; C++ lambdas for SSSP auto filter_op = [labels, iteration] __host__ __device__ (...) -> bool { if (!util::isValid(neighbor_id)) return false; {complete code} return true; }; FOSDEM 2020 21

  22. Single-Source Shortest Path while (!frontier.isEmpty()) { Launch the oprtr::Advance<oprtr::OprtrType_V2V>( graph.csr(), frontier, oprtr_parameters, lambdas within advance_op , filter_op ); the operator call } {complete code} FOSDEM 2020 22

  23. NVIDIA AI Laboratory. UC Davis Center for GPU Graph Analytics. Department of Defense Advanced Research Projects Agency (DARPA). SYMPHONY: Orchestrating Sparse and Dense Data for Efficient Computation. Award HR0011-18-3-0007. Department of Defense Advanced Research Projects Agency (DARPA). A Commodity Performance Baseline for HIVE Graph Applications. Award FA8650-18-2-7835. Adobe Data Science Research Award. Scalability and Mutability for Large Streaming Graph Problems on the GPU. National Science Foundation (Award OAC-1740333) SI\textln{2-SSE: Gunrock: High-Performance GPU Graph Analytics. National Science Foundation (Award CCF-1637442) Theory and implementation of dynamic data structures for the GPU. Program: AitF---Algorithms in the Field. National Science Foundation (Award CCF-1629657) PARAGRAPH: Parallel, Scalable Graph Analytics. XPS---Exploiting Parallelism & Scalability. Department of Defense Advanced Research Projects Agency (DARPA) SBIR SB152-004. Many-Core Acceleration of Common Graph Programming Frameworks. Phase II: award W911NF-16-C-0020. Department of Defense Advanced Research Projects Agency (DARPA) STTR ST13B-004 (“Data-Parallel Analytics on Graphics Processing Units (GPUs)”). A High-Level Operator Abstraction for GPU Graph Analytics. Awards D14PC00023 and D15PC00010. Department of Defense (XDATA program). An XDATA Architecture for Federated Graph Models and Multi-Tier Asymmetric Computing. Oct. 2012--Sept. 2017. Prime contractor: Sotera Defense Solutions, Inc., US Army award W911QX-12-C-0059. Acknowledgements & Thanks! FOSDEM 2020 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend