目前有一段 BCH 码的编码程序,用 openmp 粗力度并行译码速度一般,正在学习 cuda,请问有 cuda 大佬帮忙改一段程序吗?
1
lwh0328 2018-12-22 18:48:49 +08:00 via iPhone
大神不敢说,帮忙可以看一下
|
2
Halo2018 OP @lwh0328
for (i = 1; i <= t2; i++) { s[i] = 0; for (j = 0; j < length; j++) if (cx[j] != 0) s[i] ^= alpha_to[(i * j) % n]; if (s[i] != 0) syn_error = 1; s[i] = index_of[s[i]]; } 主要是这段代码的改写 其中的 t2 大概在 3000 length 的长度大概在 16383 返回 s |
4
lwh0328 2018-12-22 21:27:53 +08:00 via iPhone
你 s[i]每次都先置零,后面的操作和判断就没有意义了呀,是不是我理解错了?
|
5
pwrliang 2018-12-22 21:52:45 +08:00 via Android
改成 CUDA 的话直接把外侧循环并行展开,保证结果正确了再调优。
|
8
dongyx 2018-12-23 00:30:13 +08:00
length 和 n 相等吗?
|
14
hackpro 2019-01-02 00:59:05 +08:00
你的 spec 要求是多少 感觉 openmp 应该也能做 要注意变量是否共享
|