首页> 外文学位 >Comparison of sequential and parallel architectured run times for Project Euler problems.
【24h】

Comparison of sequential and parallel architectured run times for Project Euler problems.

机译:针对Project Euler问题的顺序和并行架构运行时间的比较。

获取原文
获取原文并翻译 | 示例

摘要

The aim of this thesis is to take a semi random assortment of computer science problems and test solution times in serial programming (C++) vs parallel architecture programming (OpenCL) for GPU's (Graphics Processing Units). To this end, the first forty problems from Project Euler were selected as the problem set, C++ was chosen as the main serial language, and OpenCL as the parallel language. As a Java programmer at work, it seemed interesting to also attempt solutions in Java to compare C++ to Java among the same problem sets with similar solution styles. Finally, this thesis seemed a perfect candidate to present on the web for discussion among interested parties.;The conclusion of the research showed Java to be a little faster than expected. It generally was about twice as slow as C++ for any given solution, but where it did end up being faster, it was largely in file I/O and string operations.;OpenCL also was a little slower than C++ in median execution speeds and much slower in median run times, suggesting that for general problems where nothing is known about the problem, C++ is usually a better choice. However, the type of problem made a huge difference in execution speeds between the two languages. If a problem had thousands or millions of answers to check and was at all parallelizable (or was able to be massively parallel), OpenCL was incredibly fast. Similarly, if a problem was inherently serial, tiny, or even closed form, C++ won handily.;This thesis should be interesting to those who simply enjoy solving abstract problems, those who are curious about Java vs C++ speeds, those who are interested in seeing when parallel programming might beat out standard serial programming and for what types of problems that might be the case, and those who might want to see the process of optimizing a solution for a particular problem. Because of the web presentation aspect of this that allows for comments to be posted to each problem, those that are interested can (and did) contribute to the overall process and engage with the author directly.
机译:本文的目的是在针对GPU(图形处理单元)的串行编程(C ++)与并行体系结构编程(OpenCL)中采用计算机科学问题的半随机分类和测试解决方案时间。为此,选择了来自Euler项目的前40个问题作为问题集,选择了C ++作为主要的串行语言,并选择了OpenCL作为并行语言。作为工作中的Java程序员,尝试使用Java解决方案在具有相似解决方案样式的相同问题集中比较C ++与Java似乎很有趣。最后,该论文似乎是在Web上供感兴趣的各方进行讨论的理想人选。;研究结论表明Java比预期的要快一些。对于任何给定的解决方案,它的速度通常是C ++的两倍,但最终却更快,它主要是在文件I / O和字符串操作中; OpenCL的中速执行速度也比C ++慢一点,并且中值运行时间较慢,这表明对于对问题一无所知的一般问题,C ++通常是更好的选择。但是,问题的类型在两种语言之间的执行速度上产生了巨大的差异。如果一个问题有成千上万的答案需要检查并且完全可以并行化(或者可以大规模并行化),则OpenCL的速度非常快。同样,如果问题本质上是串行的,很小的甚至是封闭的形式,则C ++会轻松胜出。了解何时并行编程可能会胜过标准串行编程以及可能出现的问题类型,以及可能希望了解针对特定问题优化解决方案的过程的人。由于此方法的Web表示方面允许将评论发布到每个问题,因此有兴趣的人可以(并且确实)为整个过程做出了贡献,并直接与作者互动。

著录项

  • 作者单位

    University of Colorado at Denver.;

  • 授予单位 University of Colorado at Denver.;
  • 学科 Computer Science.
  • 学位 M.S.
  • 年度 2015
  • 页码 211 p.
  • 总页数 211
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 石油、天然气工业;
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号