커널을 두개 만들었는데
kernel void manipulate(global float* a, global *b) {}
kernel void vex(global float* b, global float* c) {}
manipulate에서 받은 float[] a의 계산 결과가 float[] b이고
계산된 float[] b를 다시 계산해서 float[] c로 넘겨줄건데
(각 커널에서 메모리 인자로 a, b 와 b, c 순으로 정의한 상태)
cq를 커맨드큐로 선언하고,
cq.excute(manipulate,~)
cq.excute(vex,~)
이렇게 각 커널을 실행하면 manipulate가 끝나고 vex가 실행될때 device-host 간에 메모리 트랜스퍼가 없음?
댓글 0