2012-11-30 1 views
4

값으로 전달 개념을 사용하려면 어떻게해야합니까? 예를 들면 : 값으로 전달의 개념을 가진 opencl 커널에서 함수를 호출

void sum(int &u, int &v) 
{ return u+v; } 

__kernel void testing(__global int *a, __global int *b, __global int *c) 
{ int i = get_global_id(0); 
    int u = max(a,b); 
    int v = min(b,c); 
    int x = sum(u,v); 
} 

지금 내 오류는 '&'기호이다. 참조 개념을 통한 전달을 사용하여 인수를 전달할 수 없습니다. 어떻게해야할까요?

답변

4

C는 참조로 변수 전달을 지원하지 않으므로 Opencl 커널은 C99로 작동합니다. 직접 포인터 (값에 의한 전달)를 사용해야합니다.

int sum(int *u, int *v) 
{ return (*u)+(*v); } 
+0

void 반환 형식 함수에서 값을 반환 할 수 있을지 궁금합니다. – Adnan

관련 문제