谁能指出一个简单的并行最短路径算法的良好伪代码?或者任何语言,都没关系。我很难找到好的例子=[
问问题
1684 次
1 回答
1
我最终使用 OpenMP 自己为比特币机器人实现了它:
/*defines the chunk size as 1 contiguous iteration*/
#define CHUNKSIZE 1
/*forks off the threads*/
#pragma omp parallel private(i) {
/*Starts the work sharing construct*/
#pragma omp for schedule(dynamic, CHUNKSIZE)
list<list_node>::iterator i;
for (int u = 0; u < V - 1; u++) {
if (dist[u] != INT_MAX) {
for (i = adj[u].begin(); i != adj[u].end(); ++i) {
if (dist[i->get_vertex()] > dist[u] + i->get_weight()) {
dist[i->get_vertex()] = dist[u] + i->get_weight();
pre[i->get_vertex()] = u;
}
}
}
}
}
如果您想查看我的完整实现,可以在我的 GitHub 上将其视为 Gist
于 2014-02-17T01:07:45.433 回答