jjzjj

hyperthreading

全部标签

windows - 从没有超线程的计算机中获取内核总数

这是一个艰难的过程。我需要使用命令从我的服务器输出确切的内核数。我的测试:X:在具有4个处理器(插槽)和2个内核的Windows服务器上,每个处理器都没有HT。Y:在具有2个处理器(插槽)和6个内核的Windows服务器上,每个内核都具有HT。GetSystemInfo只得到安装的处理器数量:4个用于X,2个用于Y。||X:8cores|Y:12cores|||4x2(noHT)|2x6(HT)||----------------|-------------|-------------||Desiredoutput|8|12||GetSystemInfo|4|2|%NUMBER_OF_

c++ - Visual Studio 2010,超线程处理器的最大并发 C++ 编译

我正在尝试优化大型VC++项目的编译时间。我的处理器是Corei7950(4核、8线程,因为它支持Intel超线程技术)。在MicrosoftVisualStudio2010中,如果您转到工具>选项>项目和解决方案>VC++项目设置>最大并发C++编译您可以选择最大数量的CPU内核用于并行C++编译。我在那里选择0(以便使用我的所有内核),这与使用4或8时产生的结果完全相同。现在,如果我在编译项目时打开任务管理器,我可以看到4个并行编译线程正在运行(在进程下它们有描述:MicrosoftC/C++CompilerDriver),并且总CPU使用率是一直低于50%。所以我的问题是:是否可

c++ - 多线程程序中映射模式的性能低于预期(4 倍加速比 8 倍)

我刚开始进行多线程编程,所以如果以下内容看起来很明显,请原谅。我正在将多线程添加到图像处理程序中,但加速并不完全符合我的预期。我目前在具有超线程(8)的4物理处理器cpu上获得了4倍的加速,所以我想知道这种加速是否是预期的。我唯一能想到的是,如果单个物理CPU的两个超线程必须共享某种内存总线,这可能有意义。作为多线程的新手,考虑到所有内存都分配在RAM中,我不太清楚这是否会被视为I/O绑定(bind)程序(我知道我的操作系统的虚拟内存管理器将决定分页从堆中输入/输出这个假设的内存量)我的机器有16Gb的RAM,以防它帮助确定分页/交换是否是一个问题。我已经使用QThreadPool和t

c++ - 超线程如何影响并行化?

我在超线程CPU上使用OpenMP代码。如果其他条件都相同,在非超线程CPU上性能会如何变化?我注意到处理器利用率为100%,无论我运行多少线程,但改变线程数确实可以提高性能。怎么会这样?非INTEL多线程CPU的情况是否相同? 最佳答案 超线程带来的性能提升(如果有的话)很难预测。超线程意味着如果一个线程由于(几乎)任何原因而停止,CPU将有一个来自另一个线程的指令池来(尝试)执行。即使没有真正的停顿,如果两个线程被安排使用不同的执行资源,来自两个线程的指令也可以在同一个内核上同时执行。因此,例如,如果代码严重依赖于主内存延迟(例

android - 如何在 Windows 8 中禁用 Hyper-V 和安装 HAXM

我正在尝试为androidstudio安装HAXM,但它显示错误:现在我的系统启用了VT-x:在此之后我尝试禁用HYPER-V但是当我尝试通过cmd时它显示错误:在Windows功能中我没有HYPER-V选项:我已经卸载了我的AVAST反病毒软件,我也尝试通过powershell禁用HYPER-V,但它不起作用..我正在使用带有英特尔i5的Windows8.164位操作系统请帮忙提前致谢!! 最佳答案 在互联网上对这个问题进行了大量搜索后,我终于找到了适合我的解决方案。这是一个硬件问题,我切换到Windows8PRO版本,然后一切正

android - 处理器计数可靠性

我正在制作一款Android游戏,单核手机(例如GalaxyS)和双核GalaxyS2之间的性能差异堪比白天和黑夜。因此,我没有为单核和双核/四核制作不同的版本,而是考虑使用设备的处理器数量来关闭和打开某些图形功能。但是获取处理器数量的可靠性如何?一些单核手机是否有线程,如英特尔超线程,将一个核心显示为两个?还是某些双核手机比GalaxyS2慢很多? 最佳答案 虽然我认识到您检查内核和自动调整设置的想法背后的良好Intent,因此用户不必自己调整设置并提高性能,但它在实践中行不通。这是因为要涵盖的设备和边角案例太多。例如:一些多核设

linux - 如何检查 Ubuntu 中是否启用了超线程?

我正在使用Ubuntu。如何检查是否启用了超线程。如果它被禁用,我该如何启用它? 最佳答案 可以查看伪文件/sys/devices/system/cpu/smt/active-如果启用了超线程,它包含1,否则包含0。外壳示例:$printf'Hyperthreading';\sed-es/1/enabled/-es/0/disabled//sys/devices/system/cpu/smt/active您可以在BIOS中启用它-或者在Linux中使用#echoon>/sys/devices/system/cpu/smt/contr

linux - 如何检查 Ubuntu 中是否启用了超线程?

我正在使用Ubuntu。如何检查是否启用了超线程。如果它被禁用,我该如何启用它? 最佳答案 可以查看伪文件/sys/devices/system/cpu/smt/active-如果启用了超线程,它包含1,否则包含0。外壳示例:$printf'Hyperthreading';\sed-es/1/enabled/-es/0/disabled//sys/devices/system/cpu/smt/active您可以在BIOS中启用它-或者在Linux中使用#echoon>/sys/devices/system/cpu/smt/contr

Linux查找超线程核心id

我今天早上花了很多时间试图找出如何确定哪个处理器ID是超线程核心,但没有成功。我希望找到此信息并使用set_affinity()将进程绑定(bind)到超线程或非超线程以分析其性能。 最佳答案 我发现了一个简单的技巧来完成我需要的事情。cat/sys/devices/system/cpu/cpu0/topology/thread_siblings_list如果第一个数字等于CPU编号(本例中为0),则它是一个真正的内核,否则它就是一个超线程内核。真实核心示例:#cat/sys/devices/system/cpu/cpu1/topo

Linux查找超线程核心id

我今天早上花了很多时间试图找出如何确定哪个处理器ID是超线程核心,但没有成功。我希望找到此信息并使用set_affinity()将进程绑定(bind)到超线程或非超线程以分析其性能。 最佳答案 我发现了一个简单的技巧来完成我需要的事情。cat/sys/devices/system/cpu/cpu0/topology/thread_siblings_list如果第一个数字等于CPU编号(本例中为0),则它是一个真正的内核,否则它就是一个超线程内核。真实核心示例:#cat/sys/devices/system/cpu/cpu1/topo
12