Я ожидал, что IDE не выдаст никаких ошибок, потому что код выполняется без каких-либо проблем, но при добавлении выражение по-прежнему ожидается.
Код: Выделить всё
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include
__global__ void add(int *a, int *b, int *c)
{
int i = threadIdx.x + blockDim.x * blockIdx.x;
c[i] = a[i] + b[i];
}
__managed__ int vector_a[1000], vector_b[1000], vector_c[1000];
int main()
{
for (int i = 0; i < 1000; ++i) {
vector_a[i] = i;
vector_b[i] = 1000 - i;
}
add(vector_a, vector_b, vector_c);
cudaDeviceSynchronize();
int result = 0;
for (int i = 0; i < 1000; ++i) {
result += vector_c[i];
}
printf("Result = %d", result);
return 0;
}

Подробнее здесь: https://stackoverflow.com/questions/784 ... t-it-works
Мобильная версия