Skip to content

Commit f9cec76

Browse files
authored
Basic README.md
1 parent c2bfaa1 commit f9cec76

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

README.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# GPU Fusion
2+
3+
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.
27+

0 commit comments

Comments
 (0)