我是 OpenCL 领域的新手,我想增加对它的了解。
我试图找到有关如何使用 OpenCL 构建“复杂功能”的信息。对于“复杂函数”,我的意思是可以并行化并且内部具有也可以并行化的函数的函数。我看过如下链接:
现在,我在这里提出我的问题,我将使用一个示例:
// A and B are int vectors
// The value of M and N are different!! M != N
for(int i=0; i<=M-2;i++){
for(int j=i+1;j<=M-1;j++){
distance=calculate_distance(A[i],B[j]);
//more sequential instructions
}
}
并且 calculate_distance 连接两个向量并有一个循环:
for(int i=0; i<=N-1;i++)
// Some sequential instructions
这个完整的代码片段可以并行化吗?在那种情况下如何(这是内核内部的标题内核的原因)?
注意:我正在使用 Intel(R) SDK for OpenCL - Offline Compiler 2012 (Windows) 来检查我的内核。
提前致谢