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产品。