Here’s my test code:
#include <stdio.h>
#include <cuda.h>
#include <cutil.h>
int main(int argc, char **argv)
{
CUT_DEVICE_INIT(argc,argv);
cudaChannelFormatDesc d1_desc = cudaCreateChannelDesc<float>();
cudaArray *d1=0;
CUDA_SAFE_CALL(cudaMallocArray(&d1, &d1_desc, 512, 512));
if (d1==NULL)
printf("NULL POINTER!!!");
CUDA_SAFE_CALL(cudaFreeArray(d1));
CUT_EXIT(argc, argv);
}
The problem is cudaMallocArray isn’t setting d1 to anything, it comes back out as a null pointer…
I checked the SDK samples, and all FAILED, if it use cudaMallocArray…
OS: winxp sp2
GPU: 9600 GT
forceware: 175.16
Cuda: 2.0 beta