开发者
资源
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

kupl_in_parallel

判断当前是否在并行域内。

接口定义

bool kupl_in_parallel();

返回值

  • 在并行域内:返回true
  • 不在并行域内:返回false

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <assert.h>
#include "kupl.h"

static void task_int_parallel(kupl_nd_range_t *nd_range, void *args, int tid, int tnum)
{
    bool in_parallel = kupl_in_parallel();
    assert(in_parallel == true);
}

int main()
{
    kupl_parallel_for_desc_t desc = {
        .field_mask = KUPL_PARALLEL_FOR_DESC_FIELD_DEFAULT,
        .range = nullptr,
        .egroup = nullptr,
        .concurrency = 4,
        .policy = KUPL_LOOP_POLICY_STATIC
    };
    kupl_parallel_for(&desc, task_int_parallel, nullptr);
}
  • 上述示例演示了开启并行域并判断当前是否在并行域内的流程。
  • 上述在并行域内调用kupl_in_parallel函数,因此得到true的结果。