我有一系列独立函数的调用。
func1(arg);
func2(arg);
func3(arg);
我希望能够并行执行它们,而不是串行执行。我目前正在使用
#pragma omp parallel
{
func1(arg);
func2(arg);
func3(arg)
}
我正在尝试的另一种方法是使用switch case语句,然后并行执行以将任务分割到不同的线程中,例如:
function(arg, value)
{
switch(value)
{
case 1: // code of func1
case 2: // code of func2
case 3 :// code of func3
}
}
#pragma omp parallel for
for(j=0; j<3; j++)
function(arg, j);
我的问题是这两种方法都不比对函数进行顺序调用更好。我该如何并行调用这些函数。
谢谢,K