Git Product home page Git Product logo

ibfs's Introduction

-- Software requirement

gcc 4.4.7 or 4.8.5

CUDA 5.5, 6.0, 6.5, 7.0, 7.5 (tested and works)

-- Hardware

GPU: C2050, C2070, K20, K40 (tested)

-- Compile

make

-- Execute

Type: "./gpu_ibfs.bin" it will show you what is needed.

You could use the code from "tuple_text_to_binary_csr" folder to convert a edge list (text formated) graph into CSR files (binary), e.g., if you have a text file called "test.txt", it will convert it into "test.txt_beg_pos.bin" and "test.txt_csr.bin". You will need these two files to run gpu_ibfs.

-- Converter: edge tuples to CSR

  • Compile: make
  • To execute: type "./text_to_bin", it will show you what is needed
  • Basically, you could download a tuple list file from snap. Afterwards, you could use this converter to convert the edge list into CSR format.

For example:

  • Download https://snap.stanford.edu/data/com-Orkut.html file. unzip it.
  • ./text_to_bin.bin soc-orkut.mtx 1 2(the number may change due to how many lines are not edges)
  • You will get soc-orkut.mtx_beg_pos.bin and soc-orkut.mtx_csr.bin.
  • You could use these two files to run enterprise.

-- Applications of iBFS

  • Centrality computation, e.g., Betweenness centrality, Closeness centrality.
  • Multi-source shortest path, All-pairs shortest path.
  • Reachiability index construction.
  • In short, any applications, which need to run multiple traversals on the same graph, should benefit

-- Reference

-- Reference

[SC '15] Enterprise: Breadth-First Graph Traversal on GPUs [PDF] [Slides] [Blog]

[SIGMOD '16] iBFS: Concurrent Breadth-First Search on GPUs [PDF] [Slides] [Poster]

ibfs's People

Contributors

iheartgraph avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.