Quá trình cài đặt SINGA từ nguồn sử dụng Microsoft Windows bao gồm bốn bước: cài đặt thư viện dependencies, cài SINGA từ nguồn, (không bắt buộc) cài đặt python module và (không bắt buộc) chạy thử unit tests.
Bạn có thể tạo một thư mục để cài đặt thư viện dependencies.
Các thư viện dependencies bao gồm:
Compiler và IDE
CMake
SWIG
Protocol Buffers
Openblas
cmake -G "Visual Studio 15 2017 Win64"
Google glog
Tải code nguồn của SINGA
Cấu tạo các tệp protobuf:
mkdir python_out protoc.exe *.proto --python_out python_out
Tạo swig interfaces cho C++ và Python: Tới mục src/api
swig -python -c++ singa.i
Tạo Visual Studio solution cho SINGA: Đi tới thư mục nguồn SINGA
mkdir build
cd build
Gọi hàm cmake và thêm đường dẫn vào trong system của bạn, tương tự như ví dụ sau:
cmake -G "Visual Studio 15 2017 Win64" ^ -DGLOG_INCLUDE_DIR="D:/WinSinga/dependencies/glog-0.3.5/src/windows" ^ -DGLOG_LIBRARIES="D:/WinSinga/dependencies/glog-0.3.5/x64/Release" ^ -DCBLAS_INCLUDE_DIR="D:/WinSinga/dependencies/openblas-0.2.20/lapack-netlib/CBLAS/include" ^ -DCBLAS_LIBRARIES="D:/WinSinga/dependencies/openblas-0.2.20/lib/RELEASE" ^ -DProtobuf_INCLUDE_DIR="D:/WinSinga/dependencies/protobuf-2.6.1/src" ^ -DProtobuf_LIBRARIES="D:/WinSinga/dependencies/protobuf-2.6.1/vsprojects/x64/Release" ^ -DProtobuf_PROTOC_EXECUTABLE="D:/WinSinga/dependencies/protoc-2.6.1-win32/protoc.exe" ^ ..
Mở generated solution trong Visual Studio
Thay đổi cài đặt thiết lập Settings tới Release and x64
Thêm tệp tin singa_wrap.cxx từ src/api tới singa_objects project
Trong singa_objects project, mở Additional Include Directories.
Thêm Python bao gồm đường dẫn
Thêm numpy bao gồm đường dẫn
Thêm protobuf bao gồm đường dẫn
Trong định nghĩa preprocessor của singa_objects project, thêm USE_GLOG
Sử dụng singa_objects project
Trong singa project:
tạo singa project
Đổi _singa_wrap.so
thành _singa_wrap.pyd
trong build/python/setup.py
Copy các tệp tin trong src/proto/python_out
sang build/python/singa/proto
Không bắt buộc, tạo và kích hoạt virtual environment:
mkdir SingaEnv virtualenv SingaEnv SingaEnv\Scripts\activate
tới thư mục build/python và chạy:
python setup.py install
Sử dụng _singa_wrap.pyd, libglog.dll và libopenblas.dll bằng cách thêm chúng vào đường dẫn hoặc copy chúng vào thư mục gói chương trình singa trong gói python site-packages
Xác nhận SINGA đã được cài đặt bằng cách chạy:
python -c "from singa import tensor"
Tham khảo video quá trình cài đặt tại đây:
Trong thư mục test, tạo Visual Studio solution:
cmake -G "Visual Studio 15 2017 Win64"
Mở generated solution trong Visual Studio.
Thay đổi cài đặt thiết lập Settings tới Release and x64.
Tạo glog project.
Trong mục test_singa project:
Cài test_singa project.
Sử dụng libglog.dll và libopenblas.dll bằng cách thêm chúng vào đường dẫn hoặc copy chúng vào thư mục test/release.
Tiến hành unit tests bằng cách
test_singa.exe
Tham khảo video hướng dẫn chạy unit tests tại đây:
Trong mục này, chúng tôi sẽ mở rộng các bước phía trên để sử dụng GPU.
Ngoài các thư viện dependencies ở mục 1 phía trên, chúng ta cần:
CUDA
Tải phiên bản phù hợp như 9.1 từ https://developer.nvidia.com/cuda-downloads . Đảm bảo bạn cài đặt Visual Studio integration module.
cuDNN
Tải phiên bản phù hợp như 7.1 từ https://developer.nvidia.com/cudnn
cnmem:
cmake -G "Visual Studio 15 2017 Win64"
cmake -G "Visual Studio 15 2017 Win64" ^ -DGLOG_INCLUDE_DIR="D:/WinSinga/dependencies/glog-0.3.5/src/windows" ^ -DGLOG_LIBRARIES="D:/WinSinga/dependencies/glog-0.3.5/x64/Release" ^ -DCBLAS_INCLUDE_DIR="D:/WinSinga/dependencies/openblas-0.2.20/lapack-netlib/CBLAS/include" ^ -DCBLAS_LIBRARIES="D:/WinSinga/dependencies/openblas-0.2.20/lib/RELEASE" ^ -DProtobuf_INCLUDE_DIR="D:/WinSinga/dependencies/protobuf-2.6.1/src" ^ -DProtobuf_LIBRARIES="D:\WinSinga/dependencies/protobuf-2.6.1/vsprojects/x64/Release" ^ -DProtobuf_PROTOC_EXECUTABLE="D:/WinSinga/dependencies/protoc-2.6.1-win32/protoc.exe" ^ -DCUDNN_INCLUDE_DIR=D:\WinSinga\dependencies\cudnn-9.1-windows10-x64-v7.1\cuda\include ^ -DCUDNN_LIBRARIES=D:\WinSinga\dependencies\cudnn-9.1-windows10-x64-v7.1\cuda\lib\x64 ^ -DSWIG_DIR=D:\WinSinga\dependencies\swigwin-3.0.12 ^ -DSWIG_EXECUTABLE=D:\WinSinga\dependencies\swigwin-3.0.12\swig.exe ^ -DUSE_CUDA=YES ^ -DCUDNN_VERSION=7 ^ ..
Tạo swig interfaces cho C++ và Python: Tới mục src/api
swig -python -c++ singa.i
Mở generated solution trong Visual Studio
Thay đổi cài đặt thiết lập Settings tới Release and x64.
Tạo một Visual Studio project mới dưới dạng “CUDA 9.1 Runtime”. Đặt tên dạng như singa-kernel.
project này chứa sẵn một tệp tin là kernel.cu. Xoá tệp tin này khỏi project.
Thêm tệp tin này: src/core/tensor/math_kernel.cu
Trong mục cài đặt project:
Tạo singa-kernel project
Trong singa project:
tạo singa project
Đổi tên _singa_wrap.so sang _singa_wrap.pyd trong mục build/python/setup.py
Copy các tệp tin trong src/proto/python_out sang build/python/singa/proto
Không bắt buộc, tạo và kích hoạt virtual environment:
mkdir SingaEnv virtualenv SingaEnv SingaEnv\Scripts\activate
tới thư mục build/python và chạy:
python setup.py install
Sử dụng _singa_wrap.pyd, libglog.dll, libopenblas.dll, cnmem.dll, CUDA Runtime (e.g. cudart64_91.dll) và cuDNN (e.g. cudnn64_7.dll) bằng cách thêm chúng vào đường dẫn hoặc copy chúng vào thư mục gói chương trình singa trong gói python site-packages
Xác nhận SINGA đã được cài đặt bằng cách chạy:
python -c "from singa import device; dev = device.create_cuda_gpu()"
Tham khảo video hướng dẫn cho mục này tại đây:
Trong thư mục tests, tạo Visual Studio solution:
cmake -G "Visual Studio 15 2017 Win64"
Mở solution được tạo trong Visual Studio, hoặc thêm project vào singa solution đã được tạo ở bước 5.2
Thay đổi cài đặt thiết lập Settings tới Release and x64.
Tạo glog project.
Trong test_singa project:
Tạo test_singa project.
Sử dụng libglog.dll, libopenblas.dll, cnmem.dll, cudart64_91.dll và cudnn64_7.dll bằng cách thêm chúng vào đường dẫn hoặc copy chúng vào thư mục test/release.
Tiến hành unit tests bằng cách:
Từ dòng lệnh:
test_singa.exe
Từ Visual Studio:
Tham khảo video hướng dẫn chạy unit tests tại đây: