【发布时间】:2014-01-31 18:45:14
【问题描述】:
我是 OpenCL 的新手,我正在尝试实现幂迭代方法(描述为 over here) 矩阵大小超过 100000x100000!
实际上我不知道如何实现这一点。 这是因为工作组有限制 CL_DEVICE_MAX_WORK_GROUP_SIZE (所以我不能用 1000000 个工作项制作一个工作组) 但是在迭代的每一步我都需要同步和规范化向量。
1) 那么是否可以在一个内核中进行所有计算? (如果矩阵大小大于 CL_DEVICE_MAX_WORK_GROUP_SIZE,我认为答案是否定的)
2) 我可以在主机代码中创建“while”循环吗?在这种情况下使用 GPU 是否仍然有利可图? 就像是: while(条件)
{
内核调用
同步
}
【问题讨论】: