社区
OpenCL和异构编程
帖子详情
求解惑,每个核函数中有一个排序算法,是否适合用opencl加速
zwmeimeimei
2015-03-05 05:37:22
本人初学opencl,希望将算法中的一个模块用opencl加速,这个模块每执行一次循环迭代都要进行一次排序,排序的数据量大概是1000左右,采用堆排序,可否将这个模块写成核函数进行opencl加速
注意,不是将排序算法并行运算,而是每次并行运算中都有一个排序算法,这种情况适合用opencl吗?
...全文
1015
4
打赏
收藏
求解惑,每个核函数中有一个排序算法,是否适合用opencl加速
本人初学opencl,希望将算法中的一个模块用opencl加速,这个模块每执行一次循环迭代都要进行一次排序,排序的数据量大概是1000左右,采用堆排序,可否将这个模块写成核函数进行opencl加速 注意,不是将排序算法并行运算,而是每次并行运算中都有一个排序算法,这种情况适合用opencl吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fronteer
2015-03-19
打赏
举报
回复
1000 根本没必要用 GPU, 现在的 GPU 计算能力越来越强, 需要很大的数据规模才能发挥优势。Sorting 算法本质上串行因素比较大, 很适合 CPU, 但数据量大的情况下, 用bitonic 算法结合GPU多个计算单元分段排序再合并,也是可能提高sorting 的性能的。 另外, 从要解决问题的目标考虑, sorting 的目的可能是要进行查找 (用 key 二分查找), 可利用GPU计算线程多的特点, 不用sorting 直接查找可能性能更好, 特别是数据不断增加的情况下,每次数据增加后CPU都要重新sorting, 可能不如利用GPU直接search.
lcwyylcwyy
2015-03-19
打赏
举报
回复
建议采用桶排序试试
zenny_chen
2015-03-17
打赏
举报
回复
做法有很多。首先,排序算法有一些比较适合GPU的;其次,对于数据量不大的排序可以通过以work-group为单位做模拟的任务级并行计算,不同work-group之间的计算可以被并发执行的。最后提醒一下,在kernel程序里是做不了动态内存分配的。所以排序算法先要针对GPU的处理特性做好设计。
outstander
2015-03-14
打赏
举报
回复
可以在每个线程里使用单独使用排序算法的。但建议不要用太复杂的排序算法,GPU对逻辑判断和循环支持和执行效率较差
基于
OpenCL
并行
加速
算法研究及其FPGA实现_彭新显
基于
OpenCL
并行
加速
算法研究及其FPGA实现(彭新显),异构并行计算的好东西
OpenCL
内建
函数
中
文手册.pdf
opencl
中
文手册,方便查看
opencl
的相应API,整数
函数
,公共
函数
,几何
函数
。关系
函数
,加载矢量数据图像数据等,详细介绍各种数据类型,
函数
的精度等
GDB 调试 Linux C / C++
# 论 调试能力在开发程序
中
的重要性 调试是开发流程
中
一个非常重要的环境,每个程序员都应具备调试代码的能力,尤其对于从事 Linux C/C++ 开发的用户,必须具备熟练使用 GDB 调试器的能力。俗话说你有十分技能,那么其
中
包含了六分开发能力和四分调试能力。这套 GDB 入门视频教程能够做到深入浅出,让同学们能够快速学会使用 GDB 调试程序。# GDB 简介 GNU symbolic debugger,简称GDB 调试器,是 Linux 平台下最常用的一款程序调试器。GDB 编译器通常以 gdb 命令的形式在终端(Shell)
中
使用,它有很多选项,这是我们要重点学习的。 发展至今,GDB 调试器已经对 C、C++、Go、Objective-C、
OpenCL
、Ada 等多种编程语言提供了支持。实际场景
中
,GDB 更常用来调试 C 和 C++ 程序,虽然 Linux 平台下有很多能编写 C、C++ 代码的集成开发工具(IDE),但它们调试代码的能力往往都源自 GDB 调试器。
OPENCL
版A*算法
分别使用C++和
opencl
实现A*算法,并对比性能。(注:目前在本人环境上,
opencl
无优势)
opencl
编程指南(
中
文版SDK)
opencl
编程指南(
中
文版SDK),介绍满详细的,跨平台使用,硬件
加速
,可以当工具书参考用。
OpenCL
领域公认的权威著作,由
OpenCL
核
心设计人员亲自执笔,不仅全面而深刻地解读了
OpenCL
规范和编程模型,而且通过大量案例和代码演示了 基于
OpenCL
编写并行程序和实现各种并行算法的原理、方法、流程和最佳实 践,以及如何对
OpenCL
进行性能优化,如何对硬件进行探测和调整。
OpenCL和异构编程
604
社区成员
575
社区内容
发帖
与我相关
我的任务
OpenCL和异构编程
异构开发技术
复制链接
扫一扫
分享
社区描述
异构开发技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章