نوشته شده توسط
__UFNHGGI_H__
اره
اینطوری هر چقدر ک می خوای میشه
الان من تو این کد 380 تا جدا جدا حافظه گرفتم ک هر کدوم 36480 تا دابل هست .
فقط کافیه از این دو تا تابع برا مقدار دهی و مقدار دادن استفاده کنی همین .
#define HEAPSIZE (380*96)
#define ALLOCKCOUNT 380
double* arr[ALLOCKCOUNT];
for(int i = 0; i < ALLOCKCOUNT; i++)
arr[i] = new double[HEAPSIZE];
double GetVal(int index)
{
return arr[index/HEAPSIZE][index % HEAPSIZE];
}
void SetVal(int index, double val)
{
arr[index/HEAPSIZE][index % HEAPSIZE] = val;
}
این کار غیر ممکنه.
به این دلیل:
CUDA_CHECK_RETURN(cudaMalloc((void**) &devBuffer, BUFFER_SIZE))
CUDA_CHECK_RETURN(
cudaMemcpy(devBuffer, hostBuffer, BUFFER_SIZE, cudaMemcpyHostToDevice));