Skip to content

EmilyRoth/GPUGraphAlgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPUGraphAlgo

📈📉💹

How to Run

https://docs.google.com/document/d/1dyYNfk_oiqjokQn-MZSIwO50fQ4di4hk6GTc1xdD9Fc/edit $ module load gcc/4.9.3 cuda/8.0 cudnn/5.1 $ module load python3 $ pip3 install networkx --user $ pip3 install Plotly --user

Make a file and directory at this location ~/.plotly/.credentials If you want to use teams credentials and send the plotly file to this plotly account write this to the file ~/.plotly/.credentials { "proxy_username": "", "stream_ids": [], "username": "cairhart", "proxy_password": "", "api_key": "M1xe05p1EUxQqOjg80O4" }

NOTE: Carter’s Plotly login information: Email: airhartcarter@gmail.com popPassword: geGLA235uaKFx3w

Otherwise if you want to see the visualizer you can make your own plotly account. It’s super simple, free, and easy :)

Change the adjacency list in main of connected_comp_parallel.cu to be whatever graph you want to represent. Our adjacency list is in the format of a list of numbers to represent adjacencies for each node and a list of sizes of the number of adjacencies per node. There are two examples below of adjacency lists in the format stated above.

$ bash bash_batch $ python3 connected_graph.py (This will throw up a popup network navigation tool for maverick. You can just control-c to kill it because its already sent to your plotly account!)

The graph should now be on plotly. It should be noted that it takes a few minutes for the plotly graph to update. Just refresh the page and the new graph should be visible.

Test Case 1:

int adj_lists[20] = {1, 2, 0, 3, 0, 3, 1, 2, 5, 4, 7, 8, 6, 10, 6, 9, 10, 8, 7, 8};

int size = 11;
int sizes[11] = {2, 2, 2, 2, 1, 1, 2, 2, 3, 1, 2};

Represents a graph with Adjacency List: 0 1 2 1 0 3 2 0 3 3 1 2 4 5 5 4 6 7 8 7 6 10 8 6 9 9 8 10 7 8 The plotly for this looks like:

alt text

Test Case 2

int adj_lists[16] = {1, 8, 0, 8, 4, 7, 9, 2, 7, 9, 7, 4, 6, 1, 3, 5};

int size = 10;
int sizes[10] = {2, 2, 2, 1, 2, 1, 1, 2, 1, 2};    

Represents graph with Adjacency List: 0 1 8 1 0 8 2 4 7 3 9 4 2 7 5 9 6 7 7 4 6 8 1 9 3 5

#Graph alt text

#Video Example https://www.youtube.com/watch?v=2C0BtW2tGWw&feature=youtu.be

#BONUS! We also built a random graph generator that you can use as input to the connected_comp_parallel.cu. All you have to do is

1. Change line 10 of connected_comp_parallel.cu to #define STD_TEST false
2. Run gen_random_graph.py
3. Do the same steps as above
4. Enjoy your random plotly graph

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors