🧊
cuSPARSEのサンプルを動かす
リポジトリ
NVIDIA公式サンプルの中の疎行列線形方程式のサンプルプログラムspmv_csr
を動かす。
環境
- CUDA: 12.2
- Driver Version: 536.25
- GPU: GeForce RTX 3070Ti Laptop
- CMake: 3.26.3
- OS: Windows 11 Home
- IDE: VSCode
- Compiler: VS2022 Community
準備
使用したいGPUのCompute Capability
をチェック。
CUDAをインストール。
VSCodeでCMakeプロジェクトを作成。
CMakeLists.txt
cmake_minimum_required(VERSION 3.0.0)
set(CMAKE_CUDA_ARCHITECTURES 86) # 使用するGPUのCompute Capability
# set(CUDAToolkit_ROOT "Your-CUDA-Install-Dir") # PCに複数VerのCUDAがインストールされている場合は明示的に指定する.
project(PracCuSparse VERSION 0.1.0 LANGUAGES C CXX CUDA)
find_package(CUDAToolkit)
add_executable(${PROJECT_NAME}
main.cu
spmv_csr_example.hpp
)
target_link_libraries(${PROJECT_NAME} PRIVATE
cudart
cusparse
)
target_include_directories(${PROJECT_NAME} PRIVATE
${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}
)
main.cu
GPUを認識しているかチェック。
CUDAが生成する変数threadIdx
は拡張子が.cuでないと利用できなかった。
参考
spmv_csr_example.hpp
もとのサンプルでは関数がmain()になっていたが、spmv_csr_exampleに改名している。
参考
実行
ビルドして実行し、
Hello
OK
spmv_csr_example test PASSED
と表示されればOK。
Discussion