Ryzen 7950x lacks feature sse2

ahorek's team
ahorek's team
Joined: 16 Dec 05
Posts: 19
Credit: 249306656
RAC: 6579
Topic 229164

the CPU obviously supports sse2, but it's not recognized for some reason, maybe it's too new? :). All cpu tasks except Arecibo, large are being rejected for that reason. Any idea?

https://einsteinathome.org/cs/host/12985849

2023-02-28 23:57:41.8776 [PID=2184794]   Request: [USER#xxxxx] [HOST#12985849] [IP xxx.xxx.xxx.xxx] client 7.20.5
2023-02-28 23:57:41.8897 [PID=2184794] [debug]   have_master:1 have_working: 1 have_db: 1
2023-02-28 23:57:41.8898 [PID=2184794] [debug]   using working prefs
2023-02-28 23:57:41.8898 [PID=2184794] [debug]   have db 1; dbmod 1665796207.000000; global mod 1665796207.000000
2023-02-28 23:57:41.8898 [PID=2184794]    [send] effective_ncpus 32 max_jobs_on_host_cpu 999999 max_jobs_on_host 999999
2023-02-28 23:57:41.8898 [PID=2184794]    [send] effective_ngpus 0 max_jobs_on_host_gpu 999999
2023-02-28 23:57:41.8898 [PID=2184794]    [send] Not using matchmaker scheduling; Not using EDF sim
2023-02-28 23:57:41.8898 [PID=2184794]    [send] CPU: req 911034.82 sec, 32.00 instances; est delay 0.00
2023-02-28 23:57:41.8898 [PID=2184794]    [send] work_req_seconds: 911034.82 secs
2023-02-28 23:57:41.8898 [PID=2184794]    [send] available disk 9.72 GB, work_buf_min 17280
2023-02-28 23:57:41.8898 [PID=2184794]    [send] active_frac 0.999822 on_frac 0.998183 DCF 4.070761
2023-02-28 23:57:41.8909 [PID=2184794]    [mixed] sending non-locality work first (0.7478)
2023-02-28 23:57:41.9076 [PID=2184794]    [send] [HOST#12985849] will accept beta work.  Scanning for beta work.
2023-02-28 23:57:41.9155 [PID=2184794]    [mixed] sending locality work second
2023-02-28 23:57:41.9250 [PID=2184794]    [send] send_old_work() no feasible result older than 336.0 hours
2023-02-28 23:57:41.9363 [PID=2184794]    [send] send_old_work() no feasible result younger than 328.5 hours and older than 168.0 hours
2023-02-28 23:57:41.9712 [PID=2184794]    [version] Checking plan class 'GW-SSE2'
2023-02-28 23:57:41.9745 [PID=2184794]    [version] reading plan classes from file '/BOINC/projects/EinsteinAtHome/plan_class_spec.xml'
2023-02-28 23:57:41.9745 [PID=2184794]    [version] CPU [' family 25 model 97 stepping 2 '] lacks feature ' sse2 '
2023-02-28 23:57:41.9747 [PID=2184794]    [version] no app version available: APP#59 (einstein_O3MD1) PLATFORM#7 (x86_64-pc-linux-gnu) min_version 0
2023-02-28 23:57:41.9747 [PID=2184794]    [version] no app version available: APP#59 (einstein_O3MD1) PLATFORM#1 (i686-pc-linux-gnu) min_version 0
2023-02-28 23:57:41.9775 [PID=2184794] [debug]   [HOST#12985849] MSG(high) No work sent

boinc report - sse2 is present
28.02.2023 17:45:16 |  | Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good amd_lbr_v2 nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba perfmon_v2 ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local avx512_bf16 clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif x2avic v_spec_ctrl avx512vbmi u

/proc/cpuinfo features
fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good amd_lbr_v2 nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibsskinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba perfmon_v2 ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local avx512_bf16 clzero irperf xsaveerptr rdpru wbnoinvd cppcnpt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif x2avic avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid overflow_recov succor smca fsrm flush_l1d

 

Tom M
Tom M
Joined: 2 Feb 06
Posts: 6451
Credit: 9577623186
RAC: 7748669

Reset project? Might be

Reset project? Might be garbled downloads.

Try a different version of  Linux. Clear has had trouble trying to run e@h boinc before.

Tom M

A Proud member of the O.F.A.  (Old Farts Association).  Be well, do good work, and keep in touch.® (Garrison Keillor)  I want some more patience. RIGHT NOW!

ahorek's team
ahorek's team
Joined: 16 Dec 05
Posts: 19
Credit: 249306656
RAC: 6579

It's a new installation, so I

It's a new installation, so I don't think anything is messed up. Other projects and Arecibo large work just fine.

sure, it could be the OS, but the thing is boinc itself detects available features properly. Does anyone know where this code comes from?
[version] CPU [' family 25 model 97 stepping 2 '] lacks feature ' sse2 '

I can help debug it if someone more familiar with the code base could point me in the right direction. Thanks!

Keith Myers
Keith Myers
Joined: 11 Feb 11
Posts: 4964
Credit: 18736923861
RAC: 7008283

Probably related to this

Probably related to this bug.

New universal BOINC client breaks CPU feature detection #4137

2021-01-03 19:48:16.5251 [PID=7492 ] [version] Checking plan class 'FGRPSSE'
2021-01-03 19:48:16.5252 [PID=7492 ] [version] CPU [' '] lacks feature ' sse '

Probably similar issue with sse2

I'd go back to a earlier version of BOINC client. Maybe try 7.16.5

The code for detection is here.

https://github.com/BOINC/boinc/blob/03b2e00990b54caab9a2d725104f1f69b469b505/client/hostinfo_unix.cpp#L777

 

ahorek's team
ahorek's team
Joined: 16 Dec 05
Posts: 19
Credit: 249306656
RAC: 6579

yes, a similar problem, but

yes, a similar problem, but it's related to the Rosetta emulation on ARMs, this is just a native Linux x64 architecture.

a quick source-code review:

the cpuid version returns the right result
https://github.com/BOINC/boinc/blob/c6c73a225b943f1d7c36dd87703b642c67443eb9/client/hostinfo_unix.cpp#L760

but it's for FreeBSD only. Btw: there's a missing guard if((xgetbv(0) & 6) != 6 ) { for AVX detection, it could report a false positive, probably not a big deal...

the Linux version actually parses features from
cat /proc/cpuinfo
https://github.com/BOINC/boinc/blob/c6c73a225b943f1d7c36dd87703b642c67443eb9/client/hostinfo_unix.cpp#L683

one problem, the internal buffer 1024 is too short. New Ryzens has too many features, so the result becomes truncated as you can see in the boinc report.

anyway, sse2 is at the top, so it should be there... hmm. Maybe I'm missing something.

a full output looks like this. I compared it with Ubuntu's output and it's the same format, nothing special.
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 25
model           : 97
model name      : AMD Ryzen 9 7950X 16-Core Processor
stepping        : 2
microcode       : 0xa601203
cpu MHz         : 4499.798
cache size      : 1024 KB
physical id     : 0
siblings        : 32
core id         : 0
cpu cores       : 16
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 16
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good amd_lbr_v2 nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba perfmon_v2 ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local avx512_bf16 clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif x2avic v_spec_ctrl avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid overflow_recov succor smca fsrm flush_l1d
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 8999.57
TLB size        : 3584 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

Keith Myers
Keith Myers
Joined: 11 Feb 11
Posts: 4964
Credit: 18736923861
RAC: 7008283

I bet the 1024 buffer being

I bet the 1024 buffer being too small is the culprit.

You should log a bug defect at BOINC Github.

With all the AVX512 feature set of Zen 4, pretty sure the cpu_info is being truncated.

 

ahorek's team
ahorek's team
Joined: 16 Dec 05
Posts: 19
Credit: 249306656
RAC: 6579

ok, reported, thanks

ok, reported, thanks

ahorek's team
ahorek's team
Joined: 16 Dec 05
Posts: 19
Credit: 249306656
RAC: 6579

based on

based on https://github.com/BOINC/boinc/issues/5122#issuecomment-1452435429

Einstein@Home probably uses a modified version on their server side, but I guess the source isn't publicly available. Any Einstein@Home dev who could check it?

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5872
Credit: 117627849571
RAC: 35207939

Send a message to Bernd

Send a message to Bernd Machenschalk.

You'll find he posts many of the topics in Technical News.

Cheers,
Gary.

mikey
mikey
Joined: 22 Jan 05
Posts: 12687
Credit: 1839092724
RAC: 3800

ahorek's team wrote: based

ahorek's team wrote:

based on https://github.com/BOINC/boinc/issues/5122#issuecomment-1452435429

Einstein@Home probably uses a modified version on their server side, but I guess the source isn't publicly available. Any Einstein@Home dev who could check it? 

Boinc itself IS publicly available but you are probably correct in assuming the Einstein tweaks would not be and each app is individually built in house so those probably wouldn't be public info either. Although some Projects have allowed some individuals with specific abilities to assist them in optimizing some of the apps, Einstein included.

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3956
Credit: 46905702642
RAC: 64496881

don't believe the cop out

don't believe the cop out response that it's Einstein's problem. while they are using custom BOINC server software, the relevant information here is coming from the client. the BOINC client looks to be truncating the feature set. the server can only read what the client tells it. it's the client that needs a fix.

_________________________________________________________________________

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.