Skip to content

Parallel implementation of Graph Convolutional Networks on CPU

License

Notifications You must be signed in to change notification settings

cai-lw/parallel-gcn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parallelized Graph Convolutional Networks

From-scratch multithreaded CPU implementation of Graph Convolutional Networks (paper and blog).

A course project of CMU 15-618: Parallel Computer Architecture and Programming in 2019 Spring, by Liwei Cai (me) and Chengze Fan (@ccczzzf).

See the proposal for details.

Setup

Install and run the original GCN implementation

# This is for GHC machines. Use the right way of "pip install" for your environment on other machines.
python3 -m pip install --user tensorflow scipy networkx
git clone https://github.com/tkipf/gcn.git
cd gcn
python3 setup.py install --user
cd gcn
python3 train.py

Convert data format

Either copy the data folder in the original GCN repo to this repo and run convert_data.py, or simply decompress data.tgz.

Build and run

make
./gcn-seq cora # dataset name

Tests

We use Catch2 for unit tests.

Download the single header file and put it in include/catch2/catch.hpp. Then

make test
./gcn-test

About

Parallel implementation of Graph Convolutional Networks on CPU

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published