首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  算法

迫于性能需求,寻 cuda 大神

  •  
  •   Halo2018 · 355 天前 · 1730 次点击
    这是一个创建于 355 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前有一段 BCH 码的编码程序,用 openmp 粗力度并行译码速度一般,正在学习 cuda,请问有 cuda 大佬帮忙改一段程序吗?

    14 回复  |  直到 2019-01-02 00:59:05 +08:00
        1
    lwh0328   355 天前 via iPhone
    大神不敢说,帮忙可以看一下
        2
    Halo2018   355 天前
    @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
        3
    Halo2018   355 天前
    @lwh0328 谢谢 请问我要怎么并行化比较好
        4
    lwh0328   355 天前 via iPhone
    你 s[i]每次都先置零,后面的操作和判断就没有意义了呀,是不是我理解错了?
        5
    pwrliang   355 天前 via Android
    改成 CUDA 的话直接把外侧循环并行展开,保证结果正确了再调优。
        6
    Halo2018   355 天前 via iPhone
    @lwh0328 s[i]置 0 类似初始化。
        7
    Halo2018   355 天前 via iPhone
    @pwrliang 外侧循环并行展开 判断怎么做
        8
    dongyx   355 天前
    length 和 n 相等吗?
        9
    Halo2018   355 天前 via iPhone
    @dongyx length 和 n 是相等的
        10
    Halo2018   354 天前
    @dongyx 老哥 有方法吗
        11
    dongyx   353 天前
    @Halo2018 cx[]中 0 的密度低吗?
        12
    Halo2018   353 天前 via iPhone
    @dongyx 大概一半吧。
        13
    Halo2018   353 天前 via iPhone
    @dongyx 老哥 可以给我把这段程序改下吗
        14
    hackpro   345 天前
    你的 spec 要求是多少 感觉 openmp 应该也能做 要注意变量是否共享
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4190 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 08:38 · PVG 16:38 · LAX 00:38 · JFK 03:38
    ♥ Do have faith in what you're doing.