Сказать «Google it» не совсем полезно для людей, которые попадают на эту страницу, делая именно это.

могу создать глобальные переменные в CUDA ?? Не могли бы вы дать мне пример?

Как можно создать массивы внутри функции CUDA, например

__global__ void test()
{
  int *a = new int[10];
}

или Как я могу создать глобальный массив и получить доступ к нему из этой функции. например

__device__ int *a;
__global__ void test()
{
  a[0] = 2;
}

Или как я могу использовать, как показано ниже ..

__global__ void ProcessData(int img)
{
   int *neighborhood = new int[8]; 
   getNeighbourhood(img, neighbourhood);
}

Тем не менее у меня есть некоторые проблемы с этим. Я нашел, что сравнить с

__device__

если я определю

"__device__ __constant__" (read only)

улучшит доступ к памяти. Но моя проблема в том, что у меня есть массив в памяти хоста, скажем

 float *arr = new float[sizeOfTheArray]; 

Я хочу сделать это как переменный массив в устройстве, и мне нужно изменить это в памяти устройства, и мне нужно скопировать это обратно на хост. Как я могу это сделать??

Ответы на вопрос(1)

Ваш ответ на вопрос