Skip to content

ParCIS/Libra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Libra: Unleashing GPU Heterogeneity for High-Performance Sparse Matrix Multiplication

Libra

Hardware

The NVIDIA H100 with 80 GB memory and RTX4090 GPU with 24 GB memory.

Software

Ubuntu 20.04.6; Pytorch 2.1.2+cu118; CUDA 11.8; gcc 7.5.0; DGL 2.1.0+cu118; PyG 2.5.0.

Datasets / Inputs

We select a representative set of 500 sparse matrices from the SuiteSparse collection, which span various sparsity patterns, to evaluate kernel performance. In addition, we also select classic graph datasets across different application domains such as IGB, Reddit for end-to-end performance evaluation.

Installation and Deployment

install C++ compilation dependencies

  • apt-get install libnuma-dev

  • apt-get install libgoogle-perftools-dev

  • apt-get install libboost-all-dev

  • apt-get install libgoogle-perftools-dev \

install Libra:

  • bash ./Libra-source/compile.sh

Artifact Execution

To Reproduce Figure 9:

  • bash ./eva100/kernel/spmm/test_spmm_h100_shell.sh

  • python ./eva100/plot/kernel_spmm/h100_128/plot_cuda.py

  • python ./eva100/plot/kernel_spmm/h100_128/plot_tcu.py

To Reproduce Figure 10:

  • bash ./eva100/kernel/spmm/test_sddmm_h100_shell.sh

  • python ./eva100/plot/kernel_sddmm/h100_32/plot_cuda.py

  • python ./eva100/plot/kernel_sddmm/h100_32/plot_tcu.py

To Reproduce Table IV:

  • python ./eva100/plot/kernel_spmm/profile_all.py

To Reproduce Table V:

  • ./eva100/plot/ablation

To Reproduce Figure 11:

  • python ./eva100/plot/ablation/hybird/plot.py

To Reproduce Figure 12:

  • python ./eva100/plot/ablation/data_access/plot_cc_only_spmm.py
  • python ./eva100/plot/ablation/data_access/plot_cc_only_sddmm.py

To Reproduce Figure 13:

  • python ./eva100/plot/ablation/threshold.py

To Reproduce Figure 14:

  • python ./eva100/plot/ablation/tcu_utilization/spmm/plot.py
  • python ./eva100/plot/ablation/tcu_utilization/sddmm/plot.py

To Reproduce Figure 15:

  • python ./eva100/plot/ablation/data_access/spmm/plot.py
  • python ./eva100/plot/ablation/data_access/sddmm/plot.py

To Reproduce Figure 16:

  • python ./eva100/plot/ablation/atomic/plot.py
  • python ./eva100/plot/ablation/atomic/plot_size.py

To Reproduce Figure 17:

  • python ./eva100/plot/gnn/plot.py
  • python ./eva100/plot/agnn/plot.py

To Reproduce Figure 18:

  • python ./eva100/plot/ablation/amd/plot_amd_spmm.py
  • python ./eva100/plot/ablation/amd/plot_amd_sddmm.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages