- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的程序非常适合 MPI。每个 CPU 都做自己的、特定的(复杂的)工作,产生一个 double
,然后我使用 MPI_Reduce
将每个 CPU 的结果相乘。
但是我重复了很多很多次(> 100,000)。因此,我突然想到 GPU 会显着加快速度。
我用谷歌搜索过,但找不到任何具体的东西。您如何将 MPI 与 GPU 混合使用?程序有没有办法查询验证 “哦,这个等级是 GPU,其他都是 CPU”? 有推荐的教程之类的吗?
重要的是,我不需要或不需要一整套 GPU。我真的只需要很多CPU,然后一个GPU来加速经常使用的MPI_Reduce
手术。
这是我正在谈论的一个示意性示例:
假设我有 500 个 CPU。每个 CPU 以某种方式产生,比如说,50 double
s。我需要将所有 250,00 相乘 double
一起。然后我重复 10,000 到 100 万次。如果我可以拥有一个 GPU(除了 500 个 CPU),这可能会非常高效。每个 CPU 将计算其 50 double
s 适用于所有约 100 万个“状态”。然后,所有 500 个 CPU 将发送它们的 double
s 到 GPU。然后 GPU 将乘以 250,000 double
为 100 万个“状态”中的每一个加在一起,产生 100 万个 doubles
.
这些数字并不准确。计算量确实很大。我只是想传达一般问题。
最佳答案
这不是思考这些事情的方式。
我喜欢说 MPI 和 GPGPU 的东西是正交的(*)。您在任务之间使用 MPI(对于这些思考节点,尽管每个节点可以有多个任务),并且每个任务可能会或可能不会使用 GPU 之类的加速器来加速任务内的计算。 GPU 上没有 MPI 等级。
无论如何,Talonmies 是对的。这个特定的例子听起来似乎不会从 GPU 中受益。每项任务有数万次 double 也无济于事;如果您每双只执行一个或几个 FLOP,则将数据发送到 GPU 的成本将超过让所有这些内核在它们上运行的好处。
(*) 这曾经更清楚;现在,例如,GPUDirect能够通过 infiniband 将内存复制到远程 GPU,区别更加模糊。然而,我坚持认为这仍然是最有用的思考方式,像 RDMA 到 GPU 之类的东西是一个重要的优化,但在概念上是一个小调整。
关于MPI + GPU : how to mix the two techniques,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10074047/
@Embedded 注释技术和@OneToOne 注释技术之间的区别是什么,因为在 Embedded 中,java 类在类中包含“Has a”关系,并且在 @Embedded 注释的帮助下,我们将 h
大家好.. 我正在使用来自 Github 的非常好的动画技术.这个家伙为我们提供了非常好的文字效果,我喜欢无限次地使用其中的一些,不仅是在用户按下那个特定的按钮然后播放那个效果的时候。 这是我的代码:
在直接代理中,youtube 在我的学校被屏蔽了。但是通过代理链,每个被阻止的站点都可以访问。它使用了什么技术? 最佳答案 proxychains 将所有请求发送到目标服务器,甚至是 dns 查询。m
我的程序非常适合 MPI。每个 CPU 都做自己的、特定的(复杂的)工作,产生一个 double ,然后我使用 MPI_Reduce将每个 CPU 的结果相乘。 但是我重复了很多很多次(> 100,0
假设有一家公司拥有几个vending machines收集硬币的。当投币保险箱已满时,机器将无法出售任何新元素。为了防止这种情况发生,公司必须在此之前收集硬币。但如果公司太早 dispatch 技术人
我在 Java 规范中看到了以下声明。 Programs where threads hold (directly or indirectly) locks on multiple objects s
在我的代码中,每次我用鼠标单击该图像时,该图像都会交换到另一张图像。我在向第二个(交换的)图像添加随机文本时遇到困难。当我看到第一张图片时,文本不应出现。这是我的代码。当我尝试为随机文本编写代码时,j
如果 f 是 [a,b] 上的连续函数并且在[a,b] 并且 [a,b] 中没有局部最大值,您可以找到最小值通过重复将间隔切成三分之一来实现任意精度,在这三分之一的端点上观察 f 的值,并且重复。 这
好吧,我只是浪费了一个小时来寻找为什么我的 lookless WPF 控件没有出现在窗口中。 最终,我追查到我忘记在 themes 目录下的 generic.xaml 文件中添加 ResourceDi
下个月我将指导一个 ACM 团队(请看图),现在是时候讨论 C 中的字符串了。除了讨论标准库、strcpy、strcmp 等,我想给他们一些提示(比如 str[0] 等同于 *str 之类的东西)。
我的开发人员盒子的屏幕分辨率为 1680 x 1050。我正在开发一个全屏 Silverlight 3 应用程序,我正在考虑将其部署到 Internet。所以,我想确保应用程序在各种屏幕分辨率下看起来
当我通过向底层存储添加过滤器来过滤组合框时,过滤器有时起作用(项目被删除),有时不起作用。我已经调试了 filterBy 函数;它被调用并返回真/假,因为我希望过滤/显示项目。 我在 ExtJS 论坛
这个问题在这里已经有了答案: Why don't people use xor swaps? [closed] (4 个答案) 关闭 7 年前。 我遇到了一种交换 2 个变量(整数、字符或指针)的“
它是如何工作的?请用英语或伪代码足够详细地解释,以便我可以用任何语言实现。 在这篇论文中提到并简要描述了: http://citeseerx.ist.psu.edu/viewdoc/download?
这是我一直在尝试的一种快速但肮脏的圆 Angular 技术。 是的,它很丑,但速度很快,边 Angular 流畅,它避免了嵌套的 div,并且不
我正在开发一个 Java Web 应用程序,该应用程序的行为基于从 Web 服务加载的大型 XML 配置文件。由于在访问应用程序的特定部分之前实际上并不需要这些文件,因此它们是延迟加载的。当需要这些文
我也需要在MVC 4上实现“部分验证技术”,如this answer中所述: public class DontValidateEmailAttribute : ActionFilterA
我在 MySql 中遇到了对大量数据进行查询处理的问题。我需要通过连接函数将数据提取到四个以上的表中。查询在服务器上运行速度非常慢。 如何优化多个连接查询的处理时间。 我目前正在使用 innodb 引
当我们在我们的网站中放置 flash 文件时,它 OFF-COURSE 需要在客户端机器上安装 flash player,并提示安装 flash player... 是否有一些 php 代码,我可以使
无可否认,我是一名新手和自学成才的程序员,并且终于开始探索 C 和 C++ 的深度和强大功能。这种自学过程带来的一些东西不是教科书或公开的 google 知识,例如在困难情况下使用的技巧和调试策略。
我是一名优秀的程序员,十分优秀!