文章 "神经网络变得轻松(第五部分):OpenCL 中的多线程计算" - 页 2 123456 新评论 Dmitriy Gizlyk 2020.09.21 11:35 #11 Aleksey Vyazmikin:因此,这并不是什么新闻--原来只有一个内核,负载很重,现在有了两个内核,负载减少了一半....。最有可能的是,这种变化更为显著,而这种比较是不正确的。 要了解加速的原因,光看内核数量是不够的,还应该看看计算的架构。 Aleksey Vyazmikin 2020.09.21 11:37 #12 Dmitriy Gizlyk: 要了解加速的原因,光看内核数量是不够的,还必须看计算架构。 我同意。我不明白为什么要并行处理 4 个矢量而不是 2 个? Maxim Dmitrievsky 2020.09.21 11:52 #13 Aleksey Vyazmikin:因此,这并不是什么新闻--原来只有一个内核,负载很重,现在有了两个内核,负载减少了一半....。最有可能的是,变化更为显著,对比并不正确。 内存分配可以更高效,一个内核可以一次性获得全部数据,而无需重新分配。结果是速度更快。但对于某些任务来说,当内核 计算需要大量资源时,速度可能会更慢。 Dmitriy Gizlyk 2020.09.21 12:15 #14 Aleksey Vyazmikin:同意。在这里,我不明白为什么要将 4 个矢量平行化,而不是 2 个? 2 个矢量各包含 4 个元素,被平行化了。矢量 inp 和 weight。他们在每个向量中放入 4 个元素,然后用点乘以它们。 dot(inp,weight) -> i1*w1+i2*w2+i3*w3+i4*w4 Boris Egorov 2020.09.21 12:52 #15 Dmitriy Gizlyk 感谢您的回复。 Aleksey Vyazmikin 2020.09.21 13:27 #16 Maxim Dmitrievsky:内存分配的效率更高,内核可以一次性获取全部数据,而无需重新分配。这样做的结果是速度更快。但对于某些任务,当内核 计算需要大量资源时,速度可能会慢一些。 也许吧 ruslan_r 2020.09.21 23:14 #17 感谢你的系列文章,既有趣又翔实。但如何训练网络,这是我不明白的地方。我已经在欧元兑美元图表 上运行了好几次。预测增长,然后开始下降。有人已经训练过网络了吗? Aleksey Vyazmikin 2020.09.22 11:03 #18 Dmitriy Gizlyk:两个各包含 4 个元素的向量并行。向量 inp(初始数据)和 weight(权重)。每个向量写入 4 个元素,然后用点乘以 也就是说,由于顺序相乘操作,会出现增加?毕竟,两个向量是并行的,其中每个向量都顺序执行了 4 次(有条件的)乘法运算? Maryna Shulzhenko 2020.09.22 20:08 #19 非常有趣的文章,神经网络是时下的热门话题。感谢作者的出色工作。 Dmitriy Gizlyk 2020.09.23 09:02 #20 Aleksey Vyazmikin:也就是说,由于顺序乘法运算,运算量会增加?毕竟,两个矢量是并行的,其中每个矢量都要顺序执行 4 次(有条件的)乘法运算? 使用向量运算可以并行而不是顺序执行 4 个元素的乘积。请看视频 https://ru.coursera.org/lecture/parallelnoye-programmirovaniye/4-1-chto-takoie-viektorizatsiia-i-zachiem-ona-nuzhna-f8lh3。这是关于 OpenMP 的,但意思是一样的。 4.1. Что такое векторизация и зачем она нужна - Векторные вычисления с помощью OpenMP 4.0 | Coursera ru.coursera.org Video created by Национальный исследовательский Томский государственный университет for the course "Введение в параллельное программирование с использованием OpenMP и MPI". Приветствуем вас на четвертой неделе курса! На этой недели мы разберемся ... 123456 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
因此,这并不是什么新闻--原来只有一个内核,负载很重,现在有了两个内核,负载减少了一半....。最有可能的是,这种变化更为显著,而这种比较是不正确的。
要了解加速的原因,光看内核数量是不够的,还必须看计算架构。
我同意。我不明白为什么要并行处理 4 个矢量而不是 2 个?
因此,这并不是什么新闻--原来只有一个内核,负载很重,现在有了两个内核,负载减少了一半....。最有可能的是,变化更为显著,对比并不正确。
内存分配可以更高效,一个内核可以一次性获得全部数据,而无需重新分配。结果是速度更快。但对于某些任务来说,当内核 计算需要大量资源时,速度可能会更慢。
同意。在这里,我不明白为什么要将 4 个矢量平行化,而不是 2 个?
2 个矢量各包含 4 个元素,被平行化了。矢量 inp 和 weight。他们在每个向量中放入 4 个元素,然后用点乘以它们。
感谢您的回复。
内存分配的效率更高,内核可以一次性获取全部数据,而无需重新分配。这样做的结果是速度更快。但对于某些任务,当内核 计算需要大量资源时,速度可能会慢一些。
也许吧
两个各包含 4 个元素的向量并行。向量 inp(初始数据)和 weight(权重)。每个向量写入 4 个元素,然后用点乘以
也就是说,由于顺序相乘操作,会出现增加?毕竟,两个向量是并行的,其中每个向量都顺序执行了 4 次(有条件的)乘法运算?
也就是说,由于顺序乘法运算,运算量会增加?毕竟,两个矢量是并行的,其中每个矢量都要顺序执行 4 次(有条件的)乘法运算?
使用向量运算可以并行而不是顺序执行 4 个元素的乘积。请看视频 https://ru.coursera.org/lecture/parallelnoye-programmirovaniye/4-1-chto-takoie-viektorizatsiia-i-zachiem-ona-nuzhna-f8lh3。这是关于 OpenMP 的,但意思是一样的。