Questions tagged [hyperthreading]

In a hyperthreaded CPU, for each processor core that is physically present, the operating system addresses two virtual or logical cores, and shares the workload between them when possible.

In an hyper threaded environment, For each processor core that is physically present, the operating system addresses two virtual or logical cores, and shares the workload between them when possible.

This allows to decrease the number of dependent instructions on the pipeline. It takes advantage of superscalar architecture (multiple instructions operating on separate data in parallel).

223 questions
8
votes
1 answer

How does hyperthreading affect parallelization?

I'm using an OpenMP code on a HyperThreaded CPU. If all else were equal, how would performance change on a non-HyperThreaded CPU? I notice a 100% processor utilization, no matter how many threads I run, but changing the number of threads does…
roro
  • 931
  • 5
  • 21
8
votes
4 answers

How to check whether Hyper Threading is enabled or not in Ubuntu?

I am using the Ubuntu. How can I check whether Hyper Threading is enabled or not. And if it is disabled, how can I enable it?
Anil Kumar
  • 516
  • 2
  • 6
  • 16
7
votes
5 answers

What is a CPU thread and how is it related to logical threads in code?

I have been seeing in the literature for some of the newer CPU's such as the Intel Xeon "Nehalem-EX" as having 8 cores and 16 threads. What are they talking about here? I saw mention of this in reference so SPARCS too, surely this isn't the kind of…
MikeJ
  • 14,430
  • 21
  • 71
  • 87
7
votes
3 answers

How can I query the number of physical cores from MATLAB?

Does anyone know of a way to query the number of physical cores from MATLAB? I would specifically like to get the number of physical rather than logical cores (which can differ when hyperthreading is enabled). I need the method to be cross-platform…
Sam Roberts
  • 23,951
  • 1
  • 40
  • 64
7
votes
0 answers

How to find the Number of physical CPU Cores (not logical SMT hyperthreads) via .NET Core?

I want to detect the number of real physical cores, not logical cores, for workloads that scale negatively when more threads compete for private per-core caches, and/or have high enough IPC that running more than one logical thread per core doesn't…
Hessi9
  • 91
  • 4
7
votes
0 answers

JVM only using half the cores on a server

I have a number of Java processes using OpenJDK 11 running on Windows Server 2019. The server has two physical processors and 36 total cores; it is an HP machine. When I start my processes, I see work allocation in Task Manager across all the…
tuj
  • 575
  • 2
  • 9
  • 25
7
votes
2 answers

OpenMP: don't use hyperthreading cores (half `num_threads()` w/ hyperthreading)

In Is OpenMP (parallel for) in g++ 4.7 not very efficient? 2.5x at 5x CPU, I determined that the performance of my programme varies between 11s and 13s (mostly always above 12s, and sometimes as slow as 13.4s) at around 500% CPU when using the…
cnst
  • 25,870
  • 6
  • 90
  • 122
7
votes
1 answer

What will be used for data exchange between threads are executing on one Core with HT?

Hyper-Threading Technology is a form of simultaneous multithreading technology introduced by Intel. These resources include the execution engine, caches, and system bus interface; the sharing of resources allows two logical processors to work with…
Alex
  • 12,578
  • 15
  • 99
  • 195
7
votes
2 answers

FP-intensive hyperthreading performance on latest Xeons

We have recently purchased a dual Intel X5650 workstation to run a floating-point intensive simulation, under Ubuntu 10.04. Each X5650 has 6 cores, so there are 12 cores in total. The code is trivially parallel, so I have been running it mostly with…
7
votes
4 answers

C/C++/Assembly Programatically detect if hyper-threading is active on Windows, Mac and Linux

I can already correctly detect the number of logical processors correctly on all three of these platforms. To be able to detect the number of physical processors/cores correctly I'll have to detect if hyperthreading is supported AND active (or…
HTASSCPP
  • 609
  • 1
  • 6
  • 4
7
votes
2 answers

Enable Intel Hyperthreading in Java

I have a multithreaded program running on a quad-core Intel i7. When I execute Runtime.getRuntime.availableProcessors(), I get 8, and I know that hyperthreading is available on this CPU. However, when I create threads, my CPU levels are at 100%…
Ryan Dougherty
  • 528
  • 6
  • 21
7
votes
2 answers

Processor count reliability

I'm making an Android game and the performance difference between single core phones such as Galaxy S and dual-core Galaxy S2 is comparable to night and day. Thus instead of making different versions for single cores and dual/quad-cores, I thought…
Esa
  • 1,636
  • 3
  • 19
  • 23
7
votes
2 answers

SSE and hyper threading

Are SSE registers shared or duplicated between logical processors (hyper threading) ? Can I expect the same kind of speedup from parallelization for a SSE heavy program as for a normal program (Intel claims 30% for processors with hyper threading)?
Daniel
7
votes
1 answer

Disable hyperthreading vs. changing ProcessorAffinity?

I have noticed that several of my multi-threaded calculations run faster if I disable hyper-threading in the BIOS. I have also learnt that I can programmatically disable the (logical) CPU:s by modifying the processor affinity for the current…
Anders Gustafsson
  • 15,837
  • 8
  • 56
  • 114
6
votes
4 answers

Should I disable HyperThreading to run parallel simulations?

My computer has a quadcore i7 processor. I'm studying parallelization of scientific simulations. How does hyperthreading impact on parallel performances? I know I should never use more than 4 working processes to get descent performances. But should…
Charles Brunet
  • 21,797
  • 24
  • 83
  • 124
1 2
3
14 15