comparison fft_fixstart/main.cc @ 6:db074091ed0b

minor change
author Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
date Tue, 05 Feb 2013 15:12:19 +0900
parents 3602b23914ad
children 1b8da19bb31c
comparison
equal deleted inserted replaced
5:3602b23914ad 6:db074091ed0b
135 for (int i = 1; argv[i]; ++i) { 135 for (int i = 1; argv[i]; ++i) {
136 if (strcmp(argv[i], "-file") == 0) { 136 if (strcmp(argv[i], "-file") == 0) {
137 filename = argv[i+1]; 137 filename = argv[i+1];
138 } else if (strcmp(argv[i], "-cpu") == 0) { 138 } else if (strcmp(argv[i], "-cpu") == 0) {
139 device_type = CL_DEVICE_TYPE_CPU; 139 device_type = CL_DEVICE_TYPE_CPU;
140 printf("cpu!\n");
141 } else if (strcmp(argv[i], "-gpu") == 0) { 140 } else if (strcmp(argv[i], "-gpu") == 0) {
142 device_type = CL_DEVICE_TYPE_GPU; 141 device_type = CL_DEVICE_TYPE_GPU;
143 printf("gpu!\n");
144 } 142 }
145 } 143 }
146 if ( (argc == 1)||(filename==0)) { 144 if ( (argc == 1)||(filename==0)) {
147 printf("Usage: ./fft [image filename]\n"); 145 printf("Usage: ./fft -file [image filename] -cpu or -gpu \n");
148 exit(-1); 146 exit(-1);
149 } 147 }
150 148
151 return filename; 149 return filename;
152 } 150 }
222 ((float*)xm)[(2*n*j)+2*i+0] = (float)ipgm.buf[n*j+i]; 220 ((float*)xm)[(2*n*j)+2*i+0] = (float)ipgm.buf[n*j+i];
223 ((float*)xm)[(2*n*j)+2*i+1] = (float)0; 221 ((float*)xm)[(2*n*j)+2*i+1] = (float)0;
224 } 222 }
225 } 223 }
226 224
227 st_time = getTime();
228 /* Get platform/device */ 225 /* Get platform/device */
229 ret = clGetPlatformIDs(1, &platform_id, &ret_num_platforms); 226 ret = clGetPlatformIDs(1, &platform_id, &ret_num_platforms);
230 227
231 ret = clGetDeviceIDs( platform_id, device_type, 1, &device_id, &ret_num_devices); 228 ret = clGetDeviceIDs( platform_id, device_type, 1, &device_id, &ret_num_devices);
232 229
239 /* Create Buffer Objects */ 236 /* Create Buffer Objects */
240 xmobj = clCreateBuffer(context, CL_MEM_READ_WRITE, n*n*sizeof(cl_float2), NULL, &ret); 237 xmobj = clCreateBuffer(context, CL_MEM_READ_WRITE, n*n*sizeof(cl_float2), NULL, &ret);
241 rmobj = clCreateBuffer(context, CL_MEM_READ_WRITE, n*n*sizeof(cl_float2), NULL, &ret); 238 rmobj = clCreateBuffer(context, CL_MEM_READ_WRITE, n*n*sizeof(cl_float2), NULL, &ret);
242 wmobj = clCreateBuffer(context, CL_MEM_READ_WRITE, (n/2)*sizeof(cl_float2), NULL, &ret); 239 wmobj = clCreateBuffer(context, CL_MEM_READ_WRITE, (n/2)*sizeof(cl_float2), NULL, &ret);
243 240
241
242 st_time = getTime();
243
244 /* Transfer data to memory buffer */ 244 /* Transfer data to memory buffer */
245 ret = clEnqueueWriteBuffer(queue, xmobj, CL_TRUE, 0, n*n*sizeof(cl_float2), xm, 0, NULL, NULL); 245 ret = clEnqueueWriteBuffer(queue, xmobj, CL_TRUE, 0, n*n*sizeof(cl_float2), xm, 0, NULL, NULL);
246 246
247 /* Create kernel program from source */ 247 /* Create kernel program from source */
248 program = clCreateProgramWithSource(context, 1, (const char **)&source_str, (const size_t *)&source_size, &ret); 248 program = clCreateProgramWithSource(context, 1, (const char **)&source_str, (const size_t *)&source_size, &ret);