Sputnik是一個稀疏的線性代數內核和實用程序的圖書館,可深入學習。
Sputnik使用Cmake Build System。 Sputnik取決於CUDA工具包(V10.1+),並支持SM70+。庫的唯一額外依賴性是Google/Glog。要構建庫,請輸入項目目錄並運行以下命令:
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j12
測試和基準套件還取決於Abseil/Abseil-CPP,Google/googltest和Google/Google/Benchmark。這些依賴項包括在第三party中作為子模塊。要構建測試套件和/或基準套件,請在您的cmake
命令中設置-DBUILD_TEST=ON
和/或-DBUILD_BENCHMARK=ON
。
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TEST=ON -DBUILD_BENCHMARK=ON -DCUDA_ARCHS="70;75"
Sputnik提供了一個碼頭,可以通過所有依賴性建立適當的環境。請注意,必須安裝Nvidia-Docker才能在GPU上運行。要構建圖像,請運行以下命令:
docker build . -t sputnik-dev
要啟動使用安裝在/mount
下安裝的Sputnik源的容器(假設您是在$ HOME中工作),請運行以下內容:
sudo docker run --runtime=nvidia -v ~/:/mount/ -it sputnik-dev:latest
如果您使用此庫,請引用:
@inproceedings{sgk_sc2020,
author = {Trevor Gale and Matei Zaharia and Cliff Young and Erich Elsen},
title = {Sparse {GPU} Kernels for Deep Learning},
booktitle = {Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, {SC} 2020},
year = {2020},
}
可以在此處找到來自上文深度神經網絡的稀疏矩陣的稀疏模型和數據集。
這不是官方的Google產品。