You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository includes the open source code for GPU fusion, enabling memory-access optimized kernel fusion for GPU batch jobs.
4
+
5
+
Jobs have to be defined in a certain format (see `BFSJob` inside the code for example).
6
+
7
+
After compilation with CUDA, the code can be run the following way:
8
+
9
+
```
10
+
ALGO=BFS FUSION=1 ./fusion path-to-graph number
11
+
```
12
+
13
+
Where `path-to-graph` is path to the adjacency graph file (converted via Ligra's [SNAPtoAdj](https://github.com/jshun/ligra/blob/master/utils/SNAPtoAdj.C) for example), and `number` is the number of concurrent jobs to run at the same time.
14
+
15
+
The composition of jobs can be modified in `make_jobs` function (which is unrelated to the fusion code, and is just a utility function).
16
+
17
+
Currently implemented algorithms/jobs are:
18
+
19
+
* BFS
20
+
* SSSP
21
+
* PageRank
22
+
* LabelPropagation
23
+
24
+
The code provides comparisons with sequential execution as well as fine-grained profiling information if fusion is used.
25
+
26
+
The entirety of the code is bundled in one file `fusion.cu` for ease of transport, but can be separated into multiple files if needed.
0 commit comments