社区
英特尔边缘计算技术
帖子详情
vs2008中如何通过API查询当前CPU是几核的?
lfyos
2010-06-03 06:44:33
vs2008中如何通过API查询当前CPU是几核的?
谢谢
...全文
149
3
打赏
收藏
vs2008中如何通过API查询当前CPU是几核的?
vs2008中如何通过API查询当前CPU是几核的? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lfyos
2010-06-06
打赏
举报
回复
太牛了!
在vs2008中使用汇编语言,利用指令cpuid。
budweiser
2010-06-03
打赏
举报
回复
vs2008 只是一个IDE而已, 要查询当前CPU是几核的话, 下面几种方法楼主可以参考
#1
多核cup上跑的程序,有没有windows的api或者别的什么方法能返回运行当前线程的cpu核的?
omp的库函数里有也可以
--------------------
#2
看看这几个函数吧:
setprocessaffinitymask / getprocessaffinitymask
getprocessgroupaffinity / getthreadgroupaffinity
--------------------
#3
引用 1 楼 coding_hello 的回复:
看看这几个函数吧: setprocessaffinitymask / getprocessaffinitymask getprocessgroupaffinity / getthreadgroupaffinity
这几个知道,可是不是我想要的哇~~
--------------------
#4
自己在别处找到了一个方法,自己写个函数可以做到:
//
// getcurrentprocessornumber.cpp
//
// an xp version of getcurrentprocessornumber()
//
// 14/11/07 first version
//
#include "stdafx.h"
#define nthreads 8
//
// getcurrentprocessornumberxp
//
dword getcurrentprocessornumberxp(void)
{
_asm {mov eax, 1}
_asm {cpuid}
_asm {shr ebx, 24}
_asm {mov eax, ebx}
}
//
// thread procedure
//
dword winapi threadproc(lpvoid p)
{
printf("thread %d: logical cpu %d ", (int) p, getcurrentprocessornumberxp());
clock_t t = clock() + 100; // consume 100ms ...
while (clock() < t) // of cpu time
return 0;
}
//
// _tmain
//
int _tmain(int argc, _tchar* argv[])
{
for (int i = 0; i < nthreads; i++)
createthread(null, 0, threadproc, (lpvoid) i, 0, null);
_getch(); // stop console window disappearing prematurely
return 0;
}
lfyos
2010-06-03
打赏
举报
回复
没有人知道吗?
读取
cpu
温度的
api
_读取
CPU
核心温度
最近在搞一个读取
CPU
温度的驱动,网上翻了好多资料,可发现全是copy的,原稿也就两三篇,可经实践发现其
中
不乏错误与片面,让人着实走弯路,燃起了我要总结一番的欲望。这个驱动搞了一个多星期,总算可以运行了,测试了几台Intel和AMD的机器也都测试通过,测试对比用的是
CPU
ID HWMonitor和Core Temp。Intel和AMD的
CPU
中
都有温度传感器(DTS),每个核心都有一个,温度就是由...
Windows如何得到物理
CPU
的数目
最近一直忙运维Agent程序,其
中
一个指标是
查询
目标设备的物理
CPU
数量。
查询
API
和网上同行的帖子都没能解决。 使用
API
的GetSystemInfo函数得到的是逻辑
CPU
数量,若机器是1个4核
CPU
,则查到的就是4,若机器是2个2核
CPU
,则查到也是4,所以没法代表物理
CPU
数量。 使用cmd工具执行“systeminfo”命令,在打印的结果
中
有,在一个设置了2个物理
CPU
的windows
Linux动态频率调节系统
CPU
Freq之二:核心(core)架构与
API
上一节
中
,我们大致地讲解了一下
CPU
Freq在用户空间的sysfs接口和它的几个重要的数据结构,同时也提到,
CPU
Freq子系统把一些公共的代码逻辑组织在一起,构成了
CPU
Freq的核心部分,这些公共逻辑向
CPU
Freq和其它内核模块提供了必要的
API
,像
cpu
freq_governor、
cpu
freq_driver等模块通过这些
API
来完成一个完整的
CPU
Freq体系。这一节我们就来讨论一下核心
线程/进程和核绑定(
CPU
亲和性)
文章目录前言一、
CPU
亲和性1 前言2 为何要手动绑定线程/进程到
CPU
核3 多进程和多线程在多核
CPU
上运行:4 应用场景举例二、Linux的
CPU
亲和性特征1 软亲和性2 硬亲和性3 硬亲和性使用场景三、查看
CPU
的核1 使用指令2 使用sysconf四、Linux操作系统
中
修改
CPU
亲和性的方法1 taskset1.1 获取进程pid:`ps`1.2 查看进程
当前
运行在哪个
cpu
上1.3 指定进程运行在
cpu
1上1.4 如何确认绑定成功1.5 启动程序时绑定
cpu
2 Linux
API
2.1 绑定进程
C/C++通过WMI和系统
API
函数获取获取系统硬件(
cpu
,内存,显卡,网卡)配置信息
前段时间由于项目需要,要求做一个服务器的实时性能监控(
CPU
、内存、网络利用率等)和读取服务器的硬件配置参数的接口供项目组使用,就是一个类似于鲁大师之类的东东吧... 当然第一想法肯定是利用Windows提供的系统标准
API
函数来完成所需的功能,当然这也应该是
当前
最理想最有效率的选择了。但是如果你对
API
编程不是很熟练的话...那就相当蛋疼了!你知道用
API
可以做到但是不知道用哪个AP
英特尔边缘计算技术
567
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章