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. لإنشاء جناح الاختبار و/أو جناح القياس ، قم بتعيين -DBUILD_TEST=ON
و/أو -DBUILD_BENCHMARK=ON
في أمر cmake
الخاص بك.
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TEST=ON -DBUILD_BENCHMARK=ON -DCUDA_ARCHS="70;75"
يوفر Sputnik dockerfile التي تبني البيئة المناسبة مع جميع التبعيات. لاحظ أنه يجب تثبيت Nvidia-Docker لتشغيله على GPU. لبناء الصورة ، قم بتشغيل الأمر التالي:
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 الرسمي.