#include "calculator.h"
#include <cuda_runtime.h>
#include "iostream"
bool InitCUDA()
{
//used to count the device numbers
int count;
// get the cuda device count
cudaGetDeviceCount(&count);
// print("%d\n", count);
std::cout << "count: " <<count << std::endl;
if (count == 0)
{
return false;
}
// find the device >= 1.X
int i;
for (i = 0; i < count; ++i)
{
cudaDeviceProp prop;
if (cudaGetDeviceProperties(&prop, i) == cudaSuccess)
{
if (prop.major >= 1)
{
break;
}
}
}
// if can't find the device
if (i == count)
{
std::cout<<"count: "<<count<<" i:"<<i<<std::endl;
return false;
}
// set cuda device
cudaSetDevice(i);
return true;
}
__global__ void add(const float *dev_a,const float *dev_b,float *dev_c)
{
int i=threadIdx.x;
float sub = dev_a[i]-dev_b[i];
dev_c[i] = sub * sub;
}
bool calculate_distance_imp(c
c++ CUDA编程《一》 计算矩阵加减乘除
最新推荐文章于 2023-08-27 21:05:57 发布