- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对并行循环中的局部值和更新全局变量有疑问。
例如,在伪代码中:我在一个很长的 vector 中搜索最大值。我可以像这样循环执行:
int max;
for(i ...) {
if (max < vector[i]) max = vector[i];
}
我可以轻松地将它与 OpenMP 并行化:
int max;
#pragma omp parallel
{
int local_max;
#pragma omp parallel for
for(i ...) {
if (local_max < vector[i]) local_max = vector[i];
}
#pragma omp critical
{
// choose the best solution from all
if (max < local_max) max = local_max; local_max
}
}
我如何在 TBB parallel_for
中做同样的事情?我不要求确切的代码,我只想知道如何在循环结束时而不是在每次迭代时更新全局结果...
(我是 TBB 新手)
最佳答案
您在本例中所做的称为缩减,因此请使用 parallel_reduce
。它应该比在锁下更新全局变量更有效。基本思想是local_max
是parallel_reduce
的body类的成员变量,其join()
方法接收body的另一个实例并将 local_max
更新为当前值和另一个实例中的值中的较大者。然后在调用 parallel_reduce 之后,您从原始主体对象中取出 local_max
值并将其分配给全局变量。
关于c++ - 待定:parallel_for 中的局部和全局结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064900/
我正在使用 PayPal 的快速结账为我们的客户付款。要确认/完成付款,请调用“DoExpressCheckoutPayment”。 PayPal 响应中的 PAYMENTINFO_0_PAYMENT
我遇到了这个问题: 找到列表中满足给定条件的第一个元素。 不幸的是,列表很长(100.000 个元素),使用一个线程评估每个元素的条件总共需要大约 30 秒。 有没有办法完全并行化这个问题?我查看了所
我正在使用 Sequilizer 并陷入困境,因为该方法永远处于挂起状态。 以下是我正在尝试做的事情的简化版本。基本上,API 通过调用 BatchProcessor 使用以下方法,该方法应该处理提供
我如何才能运行一段代码,比如说每 1 秒运行一次? 这是我的代码 fragment : 主要 Activity : private Context ctx; @Override
这段代码返回一个未决的 promise 我想将从 insta 函数返回的数据存储到数据数组中。 cs2.js:- async function insta(mode, coin) {
我对并行循环中的局部值和更新全局变量有疑问。 例如,在伪代码中:我在一个很长的 vector 中搜索最大值。我可以像这样循环执行: int max; for(i ...) { if (max
我正在尝试制作一个应用程序,允许用户使用两个 TimePickers 输入两次,并且手机将在这些时间之间设置为静音。我正在使用 PendingIntent 和 AlarmManager 在用户选择的时
我想设置一个只触发一次的闹钟。 有一个名为 OneShot 的 pendingintent 标志。看起来这将是正确的标志。 但是我需要使用那个标志吗?如果我使用 AlarmManager.SetTim
我在处理 Notification 和 pending Intent 时遇到了很大的麻烦。我正在尝试使用发送消息的适当 user_details 打开聊天 Activity 。这就是为什么在 Fire
当我广播待定 Intent 并通过 putExtra() 提供我的数据时,我在接收器中获得了具有相同数据的这些 Intent ,这等于第一个创建的待定 Intent .代码: for (int i =
我使用的 Intent 在用户点击推送通知时启动。我在通过未决 Intent 传递额外内容时遇到了一些问题。当我这样做时: Intent i = new Intent(this, DashboardA
作为 Python C API 的学习过程,我试图在传递给 tbb parallel_for 的仿函数中调用 Python 函数。调用函数的操作导致 Python 进程实例崩溃。我没有做任何线程不安全
我在启动 pendingIntent 时遇到问题。我已经使用 logcat 等进行了一些故障排除,最后我几乎肯定我的问题实际上是在我的 pendingIntent 方法中。我设置的时间是正确的,正在调
我的 nodejs 应用程序中有一个类,代码如下: var mongoose = require('mongoose'); var Roles = mongoose.model('r
我有一个创建通知的 Activity 。当我使用 AVD 模拟器(针对 Android 2.1 update 1)时,通知将启动 PendingIntent 就好了,但在实际设备(运行 Android
我在 Activity 中使用待处理的 Intent 。 Intent intent = new Intent(this, MyActivity.class); PendingIntent p
我在 Kubernetes 中创建 RabbitMQ 集群。我正在尝试添加负载均衡器。但我无法获取负载均衡器外部 IP,它仍在等待中。 apiVersion: v1 kind: Service met
为什么服务外部IP地址处于pending状态? 我应该为我的 kubernetes master 启用任何负载均衡器吗? 我在 digital ocean 云上使用 kubernetes。 最佳答案
我是 Android 开发新手。我可以看到股票消息“您到达办公室了吗”,但是当我单击它时,它并没有打开我的主要 Activity 。 下面是我的代码: private class ViewUpdate
我的目标是让 nginx 为我的静态文件提供服务,让 nodejs 为我的动态页面提供服务。它现在工作得很好。但我目前正在使用 websocket 添加功能,nginx 目前不支持 websocket
我是一名优秀的程序员,十分优秀!