鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

OmpThreadNum

  • 设置OMP并行多线程数:

    int32_t KVSIP_SetOmpThreadNum(int32_t num);

  • 获取当前OMP并行多线程数:

    int32_t KVSIP_GetOmpThreadNum(void);

参数

参数名

描述

取值范围

输入/输出

num

要限定的线程数上限。

大于0

输入

返回值

KVSIP_SetOmpThreadNum函数:

  • 成功:返回0
  • 失败:返回-1

KVSIP_GetOmpThreadNum函数:

返回值为OMP线程数。

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include "kvsip.h"
#include "vsip.h"
#include "vsip_type.h"

void OmpThreadNumExample()
{
    int32_t originNum = KVSIP_GetOmpThreadNum();
    printf("KVSIP_GetOmpThreadNum originNum = %d\n", originNum);
    const int32_t num = 0x7;
    int32_t ret = KVSIP_SetOmpThreadNum(num);
    int32_t newNum = KVSIP_GetOmpThreadNum();
    printf("KVSIP_SetOmpThreadNum result = %d, newNum = %d\n", ret, newNum);
    int32_t resumeRet = KVSIP_SetOmpThreadNum(originNum);
    int32_t lastNum = KVSIP_GetOmpThreadNum();
    printf("resume omp resumeRet = %d, lastNum = %d\n", resumeRet, lastNum);
}

int main(void) {
    OmpThreadNumExample();
    return 0;
}

运行结果:

1
2
3
KVSIP_GetOmpThreadNum originNum = 1
KVSIP_SetOmpThreadNum result = 0, newNum = 7
resume omp resumeRet = 0, lastNum = 1