본문 바로가기
반응형

Program Language56

다차원 배열 array에는 크게 두 가지가 있다. 1.int arr1[5]; 2.int *arr2;arr2 = (int*) malloc(sizeof(int)*5); 배열의 데이터가 1번은 스택에 저장되고 2번은 힙에 저장된다. 이건 1차원 배열에선 크게 상관이 없다. 1차원 배열에선 두 가지를 혼용하여 사용하여도 큰 상관은 없지만 2차원 이상 다차원 배열에선 문제가 된다. 2차원 배열을 보면 1.int arr1[2][5]; 2.int **arr2;arr2 = (int**) malloc(sizeof(int*) * 2);arr2[0] = (int*) malloc(sizeof(int)*5);arr2[1] = (int*) malloc(sizeof(int)*5); orint **arr2;arr2 = (int**) malloc.. 2012. 10. 3.
Release clReleaseContext(context);clReleaseCommandQueue(commandq);clReleaseProgram(program);clReleaseKernel(kernel); 2012. 9. 24.
clCreateBuffer clEnqueueWriteBuffer clSetKernelArg clEnqueueReadBuffer http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/clCreateBuffer.html cl_mem clCreateBuffer (cl_context context, cl_mem_flags flags, size_t size, void *host_ptr, cl_int *errcode_ret) flagsCL_MEM_READ_WRITECL_MEM_WRITE_ONLYCL_MEM_READ_ONLYCL_MEM_USE_HOST_PTRCL_MEM_ALLOC_HOST_PTRCL_MEM_COPY_HOST_PTR cl_mem clEnqueueWriteBuffer (cl_command_queue command_queue, cl_mem buffer, cl_bool blockin.. 2012. 9. 24.
OpenCL 외부파일 쉽게 컴파일하기 OpenCL에서 cl파일을 컴파일하기 위해선 파일을 string으로 읽어와야한다. 왜 이렇게 만들었지; #include를 이용하면 간단하게 할 수 있다. char source2[512]; char* ptr_src2 = source2; sprintf(source2, "#include \"%s\"\n",filename); program = clCreateProgramWithSource(context, 1, &ptr_src2, 0, &err); char build_option2[512] = "-I . "; err = clBuildProgram(program, 0, NULL, build_option2, NULL, NULL); 중요한점은 build_option에 "-I . "를 추가해줘야 include가 제대로 .. 2012. 9. 21.