8000 GitHub - K-Wu/HET: HET: The HET Hetero-GNN Kernel Optimization and Code Generation Project · GitHub
[go: up one dir, main page]

Skip to content
K-WuPublic

About

HET: The HET Hetero-GNN Kernel Optimization and Code Generation Project

Topics

Resources

Stars

6 stars

Watchers

4 watching

Forks

Repository files navigation

HET CodeFactor Codacy Badge DeepSource

Reproduction of the ASPLOS'24 Hector paper, Hector: An Efficient Programming and Compilation Framework for Implementing Relational Graph Neural Networks in GPU Architectures. For the original implementation, please contact the author.

Dependencies

The following repos, as submodules in third_party/, are depended on to compile our code. Please recursively clone these submodules.

libnpy

cusplibrary

CUTLASS

sputnik

Besides, as we register our kernels in PyTorch (optional cmake build component), pytorch-dev and libtorch are also required.

CMake commands

We need to set BUILD_TEST and BUILD_BENCHMARK as they will be passed on to sub-repo sputnik and build necessary components.

mkdir build
cd build
cmake .. -DBUILD_TEST=ON -DBUILD_BENCHMARK=ON -DBUILD_GENERATED=ON -DCMAKE_PREFIX_PATH=`python -c 'import torch;print(torch.utils.cmake_prefix_path)'` -DBUILD_TORCH_API=ON

You may optionally set CUDA architecture by passing CUDA_ARCH_LIST to cmake. For example, to set the architecture to sm_70, you may use the following command.

-DCUDA_ARCH_LIST=70

For debugging purpose, you may invoke the following command after cmake configuration.

cmake --build . --verbose

Contributing in submodules

To change the url of a submodule, use the following command:

git submodule set-url </reporoot/to/submodule_name> <new_url>

To set a different push url than the fetch url, inside the submodule directory, use the following command:

git remote set-url --push <branch_name> <new_url>

Try the following command to push in a submodule:

git push origin HEAD:master

What's in a name?

Here is the reference for the naming of hrt and pyctor.

Contact

Kun Wu kunwu2 (at) illinois (dot) edu wakatime

About

HET: The HET Hetero-GNN Kernel Optimization and Code Generation Project

Topics

Resources

Stars

6 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

0