我最近开始研究一个项目,以确定如何最好地利用现代显卡中可用的处理能力进行一般编程。似乎现场通用 GPU 编程 (GPGPU) 对具有大量数学的科学应用程序有很大的偏见,因为这非常适合 GPU 计算模型。这一切都很好,但大多数人不会把所有时间都花在运行模拟软件等上,所以我们认为有可能创建一个通用基础,以便为大众轻松构建支持 GPU 的软件。
这就引出了我想提出的问题;程序执行的最常见工作类型是什么?由于我们愿意接受适度的性能改进(总比没有好,对吧?)。
我们已经想到了几个主题:
- 数据管理 - 处理来自数据库等的大量数据。
- 电子表格类型的程序(与上述有点相关)。
- GUI 编程(尽管可能无法访问相关代码)。
- 常用算法,如排序和搜索。
- 通用集合(并将它们与数据操作算法集成)
还有哪些其他编码任务很常见?我怀疑很多正在编写的代码属于库存管理类别,或者跟踪真实的“对象”。
由于我没有行业经验,我认为可能有许多基本类型的代码比我意识到的更频繁地完成,但它们并没有作为外部产品实现。
高级编程任务以及特定的低级操作都将受到赞赏。