GPU MATLAB 在第一次和第二次执行之间给出不同的经过时间

联合防空系统

当我使用 Matlab 并行工具箱执行我的代码时,它在第一次和第二次之间给了我两个不同的时间执行。

实际上第一次很慢(比CPU版本还慢)但是第二次更快更合乎逻辑,后续的运行和第二次一样。为什么会发生这种情况?

安德·比古里

这是正确的,也是预期的。

当你第一次调用它时,它需要初始化 GPU(在某种意义上“打开它”),设置 CUDA 上下文等。第二次运行它时,GPU 准备好接受你抛出的任何东西在它。

最重要的是,取决于您如何编写代码,也许第一次需要将一些数据移动到 GPU,也许在第二次内存已经存在。

通常这样做gpuDevice(1)会足够初始化上下文,否则只需向它抛出一个小的矩阵乘法来初始化。

所有这些对于 MATLAB 中的其他并行计算范式来说都是正确的,例如,如果您想使用parfor,则需要初始化并行池,否则第一次将花费很长时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

第一次点击和第二次点击之间有不同的动作?

第一次和第二次之间的速度差

Moq第一次和第二次返回值不同

我怎样才能让按键第一次执行,而第二次执行不同的操作?

在第二次执行时暂停函数的第一次执行(Python)

Matlab GPU反向传播

Matlab GPU计算

计算每个用户第一次和第二次购买之间的天数

如果在第一次迭代和第二次迭代之间有一小段时间

用不同的字符替换第一次出现和第二次出现

swt-获取双击事件在第一次点击和第二次点击之间的最长时间

程序在第一次和第二次执行时的运行方式有所不同。为什么?

如何在第一次触摸和第二次触摸时执行不同的事件(适用于Android的TicTacToe)

AMD GPU FirePro是否对Linux的Matlab和CUDA足够支持?

代码第一次编译时给出正确的数字,第二次给出随机数

循环中第二次给出第一次机会错误时删除查询

为什么此组合器的第二次执行比第一次执行快10倍?

仅当第一次失败时才执行第二次 http 调用

单击按钮第一次显示警报,单击第二次执行代码

对setState的第二次调用会阻止对setState的第一次调用执行

GPU MATLAB上的LU分解

Matlab GPU计算的性能提升

使用 MATLAB 生成 GPU 代码

Centos 7中的NIO和IO性能问题(第一次和第二次读写)

修改字符串的第一次和第二次出现和重置

MS Access VBA呼叫子项在第一次通过时起作用,但在第二次通过时不起作用

Ruby Rspec Mock 同一实例在第一次和第二次调用中表现不同

SQL 拆分字符串并合并第一次和第二次出现

第一次和第二次出现在PostgreSQL中的行ID