小编use*_*335的帖子

Visual Studio中的OpenMP任务

我正在尝试学习基于OMP库任务的编程,作为一个例子,我复制并粘贴了从书中获取的以下代码并输出错误

 'task' : expected an OpenMP directive name  
Run Code Online (Sandbox Code Playgroud)

 'taskwait' : expected an OpenMP directive name
Run Code Online (Sandbox Code Playgroud)

我可以运行omp并行循环而不是任务.你知道omp任务是否需要在visual studio中进一步调整?

 #include "stdafx.h"
 #include <omp.h>

 int fib(int n)
 {
   int i, j;
   if (n<2)
    return n;
 else
 {
   #pragma omp task shared(i) firstprivate(n)
   i=fib(n-1);

   #pragma omp task shared(j) firstprivate(n)
   j=fib(n-2);

   #pragma omp taskwait
   return i+j;
 }
 }

 int main()
{
  int n = 10;

  omp_set_dynamic(0);
  omp_set_num_threads(4);

  #pragma omp parallel shared(n)
  {
     #pragma omp single
     printf ("fib(%d) = %d\n", n, fib(n));
  }
}
Run Code Online (Sandbox Code Playgroud)

c++ openmp visual-c++

13
推荐指数
1
解决办法
3570
查看次数

找到最小值并在python中显示变量名称

你有三个变量,如

   a = 1
   b = 2
   c = 3
Run Code Online (Sandbox Code Playgroud)

并且你发现最小可以以某种方式显示变量名而不是它具有的值

   d = min[a,b,c] 
Run Code Online (Sandbox Code Playgroud)

在此操作之后,d应该变为c,因为c是最大的.或者可能有一些替代方法,因为我想在之后的另一个操作中分配变量名称.

python

0
推荐指数
1
解决办法
493
查看次数

标签 统计

c++ ×1

openmp ×1

python ×1

visual-c++ ×1