Сказать «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];
Я хочу сделать это как переменный массив в устройстве, и мне нужно изменить это в памяти устройства, и мне нужно скопировать это обратно на хост. Как я могу это сделать??