Score:2

Ubuntu 20.04 multi-threading off by default AMD 73F3, how to turn on?

ma flag

Just got a new server, has 2 x AMD epyc processors 16 cores each.

They are multi-thread capable

# dmidecode -t processor | grep HTT
        HTT (Multi-threading)
        HTT (Multi-threading)

but it appears to be off - fresh installation of 20.04

# lscpu | grep Thread
   Thread(s) per core:              1

How do I turn multi-threading on?

additional info someone asked for:

# nproc; numactl -s; cat /proc/cpuinfo | grep processor
32
policy: default
preferred node: current
physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 
cpubind: 0 1 2 3 4 5 6 7 
nodebind: 0 1 2 3 4 5 6 7 
membind: 0 1 2 3 4 5 6 7 
processor   : 0
processor   : 1
processor   : 2
processor   : 3
processor   : 4
processor   : 5
processor   : 6
processor   : 7
processor   : 8
processor   : 9
processor   : 10
processor   : 11
processor   : 12
processor   : 13
processor   : 14
processor   : 15
processor   : 16
processor   : 17
processor   : 18
processor   : 19
processor   : 20
processor   : 21
processor   : 22
processor   : 23
processor   : 24
processor   : 25
processor   : 26
processor   : 27
processor   : 28
processor   : 29
processor   : 30
processor   : 31

To be clear because someone below asked, HTT (AMD multithreading) is where one physical core is presented to the OS user as two virtual cores. Here is an example of a DIFFERENT MACHINE where it is working correctly. As you can see there is one physical CPU (physical id=0), with 16 physical cores (core id), but presented as 32 cores to the OS (for example core 3 being processor 3 and processor 19).

# cat /proc/cpuinfo | egrep '(core id|physical id|processor)' | paste -d "\t"  - - -
processor   : 0     physical id : 0 core id     : 0
processor   : 1     physical id : 0 core id     : 1
processor   : 2     physical id : 0 core id     : 2
processor   : 3     physical id : 0 core id     : 3
processor   : 4     physical id : 0 core id     : 4
processor   : 5     physical id : 0 core id     : 5
processor   : 6     physical id : 0 core id     : 6
processor   : 7     physical id : 0 core id     : 7
processor   : 8     physical id : 0 core id     : 8
processor   : 9     physical id : 0 core id     : 9
processor   : 10    physical id : 0 core id     : 10
processor   : 11    physical id : 0 core id     : 11
processor   : 12    physical id : 0 core id     : 12
processor   : 13    physical id : 0 core id     : 13
processor   : 14    physical id : 0 core id     : 14
processor   : 15    physical id : 0 core id     : 15
processor   : 16    physical id : 0 core id     : 0
processor   : 17    physical id : 0 core id     : 1
processor   : 18    physical id : 0 core id     : 2
processor   : 19    physical id : 0 core id     : 3
processor   : 20    physical id : 0 core id     : 4
processor   : 21    physical id : 0 core id     : 5
processor   : 22    physical id : 0 core id     : 6
processor   : 23    physical id : 0 core id     : 7
processor   : 24    physical id : 0 core id     : 8
processor   : 25    physical id : 0 core id     : 9
processor   : 26    physical id : 0 core id     : 10
processor   : 27    physical id : 0 core id     : 11
processor   : 28    physical id : 0 core id     : 12
processor   : 29    physical id : 0 core id     : 13
processor   : 30    physical id : 0 core id     : 14
processor   : 31    physical id : 0 core id     : 15
Nmath avatar
ng flag
Are you sure it's enabled on your motherboard BIOS settings?
ma flag
Is it possible to determine that without me travelling to the datacenter?
Nmath avatar
ng flag
BIOS is firmware level, so you need physical access to the hardware. If the hardware is located somewhere else, then yes, you need to travel or have someone else review it on your behalf.
N0rbert avatar
zw flag
What is the output of `nproc; numactl -s; cat /proc/cpuinfo | grep processor` ?
ma flag
@Nmath can't the OS report on the BIOS settings? I can go in on Monday :(
ma flag
@N0rbert i added the info to the question.
N0rbert avatar
zw flag
So all CPU cores are detected, so all 32 cores should be working normally.
ma flag
HTT (multithreading) is where one physical core shows up as two virtual cores in the OS... so for example an EPYC 7282 has 16 physical cores, but will show up as 32 cores. See additional info I added to the question.
Score:0
ma flag

A people suggested, it was a BIOS setting, I went to the data center and changed it, and it all worked.

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.