Sputnik은 드문 드문 선형 대수 커널 및 딥 러닝을위한 유틸리티 라이브러리입니다.
Sputnik은 Cmake 빌드 시스템을 사용합니다. Sputnik은 Cuda 툴킷 (v10.1+)에 따라 SM70+를 지원합니다. 라이브러리의 유일한 추가 종속성은 Google/Glog입니다. 라이브러리를 구축하려면 프로젝트 디렉토리를 입력하고 다음 명령을 실행하십시오.
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j12
테스트 및 벤치 마크 스위트는 추가로 Abseil/Abseil-CPP, Google/Googltest 및 Google/Benchmark에 따라 다릅니다. 이러한 종속성은 Third_Party의 하위 모듈로 포함됩니다. 테스트 스위트 및/또는 벤치 마크 스위트를 구축하려면 cmake
명령에서 -DBUILD_TEST=ON
및/또는 -DBUILD_BENCHMARK=ON
설정하십시오.
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TEST=ON -DBUILD_BENCHMARK=ON -DCUDA_ARCHS="70;75"
Sputnik은 모든 종속성으로 적절한 환경을 구축하는 도커 파일을 제공합니다. GPU에서 실행하려면 Nvidia-Docker를 설치해야합니다. 이미지를 작성하려면 다음 명령을 실행하십시오.
docker build . -t sputnik-dev
Sputnik 소스가 아래 /mount
장착 된 컨테이너를 발사하려면 ($ 홈에서 작업하고 있다고 가정) 다음을 실행하십시오.
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 제품이 아닙니다.