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 |
父主题: 基础函数