動作環境
GeForce GTX 750 Ti
Windows 8.1 pro (64bit)
Visual Studio Community 2013 (以下、VS)
CUDA 7.5
http://qiita.com/7of9/items/c89d00eca4b71b09b048
においてSMが扱えるスレッド数の上限がCompute Capabilityによって変わるというのを知った。
Compute Capabilityが何かはWebで調べれば出てくるが、CUDAの練習をかねて表示してみた。
情報
In the runtime API, cudaGetDeviceProperties returns two fields major and minor which return the compute capability any given enumerated CUDA device.
cudaGetDeviceProperties()についての参考 www.cs.cmu.edu
準備
http://qiita.com/7of9/items/e9c185351803d9794db5
を参考にCUDAをビルドできるslnを用意する (160910_computeCapabilityとした)。
実装と実行
以下のコードを実装した。
kernel.cu
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h>
__global__ void addKernel(int *c, const int *a, const int *b)
{
// int i = threadIdx.x;
// c[i] = a[i] + b[i];
}
int main()
{
cudaDeviceProp prp;
cudaError_t cudaStatus;
cudaStatus = cudaGetDeviceProperties(&prp, /*device=*/0);
if (cudaStatus != cudaSuccess) {
fprintf(stderr, "cudaGetDeviceProperties failed!");
return 1;
}
printf("Compute Capability=%d.%d\r\n", prp.major, prp.minor);
cudaStatus = cudaDeviceReset();
if (cudaStatus != cudaSuccess) {
fprintf(stderr, "cudaDeviceReset failed!");
return 1;
}
return 0;
}
結果
C:\CudaDev\160910_compueCapability\Debug>160910_compueCapability.exe
Compute Capability=5.0
GeForce GTX 750 Tiはわれら四天王の中でも最強
GTX1080欲しい。