• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Linpack Xtreme Released

Joined
Oct 15, 2011
Messages
2,465 (0.51/day)
Location
Springfield, Vermont
System Name KHR-1
Processor Ryzen 9 5900X
Motherboard ASRock B550 PG Velocita (UEFI-BIOS P3.40)
Memory 32 GB G.Skill RipJawsV F4-3200C16D-32GVR
Video Card(s) Sparkle Titan Arc A770 16 GB
Storage Western Digital Black SN850 1 TB NVMe SSD
Display(s) Alienware AW3423DWF OLED-ASRock PG27Q15R2A (backup)
Case Corsair 275R
Audio Device(s) Technics SA-EX140 receiver with Polk VT60 speakers
Power Supply eVGA Supernova G3 750W
Mouse Logitech G Pro (Hero)
Software Windows 11 Pro x64 23H2
unless there is some background service that consume a lot of memory.
I know that I have with another RAM kit before, ran those other tests with no errors. Is Linpack silently failing to allocate RAM, because of NT 6/10's OOM'ing BS and causing truncated data?
In my case, it could be a service or the like, for all I know. For all I know, I may be changing tons of voltage settings for nothing. :(

I saw an issue like this with FX8350, as well! So I went to Prime95 and it always looked good in Prime95, when it's not related to core testing. Linpack is excellent for core testing, but don't know about anything else, as I also saw Linpack not reveal a bus instability before, that Prime95 blend did.

Note that I have a new 32 GB RAM kit that I didn't even try to use yet. It's G.Skill RipJaws V 3200.
 
Last edited:

legitmaan

New Member
Joined
Nov 27, 2021
Messages
3 (0.00/day)
Is it normal to have many variations in the residual values on a stock i5-13600K? I find that I have to disable ecores to get the residual values to match over 90% of the time. Do I have a defective CPU or ecores?
 
Joined
Jun 30, 2013
Messages
89 (0.02/day)
I think for anything from Intel 12th gen onwards it can happen. The main thing is that there is always a PASS and not a FAIL, then you are good.
 

Regeneration

NGOHQ.COM
Joined
Oct 26, 2005
Messages
3,131 (0.45/day)
Is it normal to have many variations in the residual values on a stock i5-13600K? I find that I have to disable ecores to get the residual values to match over 90% of the time. Do I have a defective CPU or ecores?

It's normal for CPUs that support AVX 2 and above.
 

freeagent

Moderator
Staff member
Joined
Sep 16, 2018
Messages
8,725 (3.83/day)
Location
Winnipeg, Canada
Processor AMD R7 5800X3D
Motherboard Asus Crosshair VIII Dark Hero
Cooling Thermalright Frozen Edge 360, 3x TL-B12 V2, 2x TL-B12 V1
Memory 2x8 G.Skill Trident Z Royal 3200C14, 2x8GB G.Skill Trident Z Black and White 3200 C14
Video Card(s) Zotac 4070 Ti Trinity OC
Storage WD SN850 1TB, SN850X 2TB, SN770 1TB
Display(s) LG 50UP7100
Case Fractal Torrent Compact
Audio Device(s) JBL Bar 700
Power Supply Seasonic Vertex GX-1000, Monster HDP1800
Mouse Logitech G502 Hero
Keyboard Logitech G213
VR HMD Oculus 3
Software Yes
Benchmark Scores Yes
A little is normal I think.. mine fluctuates with temperature, when it is cold in here I can see very little change in output

Screenshot 2023-12-17 102426.png
 
Joined
Aug 13, 2009
Messages
3,252 (0.58/day)
Location
Czech republic
Processor Ryzen 5800X
Motherboard Asus TUF-Gaming B550-Plus
Cooling Noctua NH-U14S
Memory 32GB G.Skill Trident Z Neo F4-3600C16D-32GTZNC
Video Card(s) AMD Radeon RX 6600
Storage HP EX950 512GB + Samsung 970 PRO 1TB
Display(s) HP Z Display Z24i G2
Case Fractal Design Define R6 Black
Audio Device(s) Creative Sound Blaster AE-5
Power Supply Seasonic PRIME Ultra 650W Gold
Mouse Roccat Kone AIMO Remastered
Software Windows 10 x64
So, will there be any updates? I mean, it's been 3 years according to first post...
 

freeagent

Moderator
Staff member
Joined
Sep 16, 2018
Messages
8,725 (3.83/day)
Location
Winnipeg, Canada
Processor AMD R7 5800X3D
Motherboard Asus Crosshair VIII Dark Hero
Cooling Thermalright Frozen Edge 360, 3x TL-B12 V2, 2x TL-B12 V1
Memory 2x8 G.Skill Trident Z Royal 3200C14, 2x8GB G.Skill Trident Z Black and White 3200 C14
Video Card(s) Zotac 4070 Ti Trinity OC
Storage WD SN850 1TB, SN850X 2TB, SN770 1TB
Display(s) LG 50UP7100
Case Fractal Torrent Compact
Audio Device(s) JBL Bar 700
Power Supply Seasonic Vertex GX-1000, Monster HDP1800
Mouse Logitech G502 Hero
Keyboard Logitech G213
VR HMD Oculus 3
Software Yes
Benchmark Scores Yes
So, will there be any updates? I mean, it's been 3 years according to first post...
Does it need to be? Run it and see what happens.
 

legitmaan

New Member
Joined
Nov 27, 2021
Messages
3 (0.00/day)
I noticed my residuals match a lot more often with my ram at auto than with XMP. Like 10-30 of the same residuals in 50 run sets versus just 2.

I’m using my 13600K with Corsair Vengeance 32GB 6000 CL30 on an ASUS Strix Z790-A II.

Is having fewer matching residuals on XMP a sign of subtle memory instability or does it not matter? I would think that my system spec is strong enough for a 6000 CL30 kit. My system with XMP on passed dozens of hours of Karhu, TestMem 5, and HCI MemTest, for what it’s worth.

Edit: Oof, my PC shut down during a no AVX2/ecores off run after around 15 trials. It then finished 50 trials the next run. A fluke I hope.
 
Last edited:
Joined
Jun 30, 2013
Messages
89 (0.02/day)
I remember even Buildzoid from "Actually Hardcore Overclocking" saying in one of his videos that he previously took non-matching residuals as a sign of hidden instability of sorts, but ever since 12th gen at the latest, he disregards it, because there it can happen even with a totally stable memory system.

Your system should have no problem with DDR5-6000, yes. Provided you are on a recent enough BIOS version and your IMC is not a total dud.

About the PC shutting down, have HWinfo64 Sensors open, with all the sensors expanded (the <-> symbol at the bottom) so you have three big columns of sensors at least, then monitor the power draw and temperatures of everything. A 13600K, depending on your cooler, can overwhelm your cooling in Linpack, or whatever else might be going on.
 
Joined
Jan 10, 2019
Messages
8 (0.00/day)
I have a problem with this benchmark running on Win11 24H2, RTM build.
7950X3D.
OMP: Warning #80: OMP_NUM_THREADS="0": value too small.
OMP: Info #104: OMP_NUM_THREADS value "1" will be used.

Сorrectly detects CPU/Cores - 32. But can't create more then 1 thread.

SMT is on. No any problems in other benchmarks, programs or games.
 
Last edited:
Joined
Dec 5, 2019
Messages
85 (0.05/day)
I have a problem with this benchmark running on Win11 24H2, RTM build.
7950X3D.
OMP: Warning #80: OMP_NUM_THREADS="0": value too small.
OMP: Info #104: OMP_NUM_THREADS value "1" will be used.

Сorrectly detects CPU/Cores - 32. But can't create more then 1 thread.

SMT is on. No any problems in other benchmarks, programs or games.
It relied on WMIC and that has gone on 24h2 apparently


maybe it's just possible to bring it back, i might try that
 
Joined
Jul 9, 2009
Messages
20 (0.00/day)
WMI itself is still available according to that site, just the wmic command line utlity is gone. So you can still query WMI for the amount of processors (just not using wmic).

Aside from that, is there a way to directly start a stress test without going through the setup first? I've noticed that the main exe calls one of the binaries, e.g. linpack_amd64.exe linpack.ini, but I couldn't find any reference to the amount of threads that should be tested inside the ini file. And when I manually start the exe pointing to the ini file, it starts with all available threads.
If there's a way to set this (and read any error output), I might be able to add support for Linpack Xtreme to my CoreCycler script, that's intended to test single-core stability.


// Edit
Here's a one-liner that executes a powershell command from cmd.exe that returns the number of physical (installed) processors, the number of logical processors, and the number of physical cores:
Code:
powershell -command "$processor = Get-CimInstance -ClassName Win32_Processor; @($processor).Count; $($processor | Measure-Object -Property NumberOfCores -sum).Sum; $($processor | Measure-Object -Property NumberOfLogicalProcessors -sum).Sum"
 
Last edited:
Joined
Jul 9, 2009
Messages
20 (0.00/day)
So, no update to this benchmark for actual Windows versions?
The .exe file mostly seems to be a wrapper for a batch file (which is copied to the temp directory during runtime).
You could try to use this .bat file instead, I've changed it to use the powershell command instead of the wmic calls.


Code:
@shift /0
@echo off
SETLOCAL

:menu
if exist linpack.ini del /f /q linpack.ini
if exist results.txt del /f /q results.txt
if /i [%1] EQU [/residualcheck] set RESIDUALCHECK=1
echo %PROCESSOR_IDENTIFIER% | find /i "AMD64 Family 25" > nul
if %ERRORLEVEL% EQU 0 set MKL_DEBUG_CPU_TYPE=4
echo %PROCESSOR_IDENTIFIER% | find /i "AMD64 Family 23 Model 144" > nul
if %ERRORLEVEL% EQU 0 set MKL_DEBUG_CPU_TYPE=4
echo %PROCESSOR_IDENTIFIER% | find /i "AMD64 Family 23 Model 113" > nul
if %ERRORLEVEL% EQU 0 set MKL_DEBUG_CPU_TYPE=4
echo %PROCESSOR_IDENTIFIER% | find /i "AMD64 Family 23 Model 96" > nul
if %ERRORLEVEL% EQU 0 set MKL_DEBUG_CPU_TYPE=4
echo %PROCESSOR_IDENTIFIER% | find /i "AMD64 Family 23 Model 49" > nul
if %ERRORLEVEL% EQU 0 set MKL_DEBUG_CPU_TYPE=4
cls
echo ==============================================================
echo =-=     Linpack Xtreme v1.1.5 by Regeneration (64-bit)     =-=
echo =-=      Based on Intel Math Kernel Library Benchmark      =-=
echo =-=          Copyright (c) 2020 Intel Corporation          =-=
echo ==============================================================
echo.
echo 1. Benchmark
echo 2. Stress Test
echo 3. View Readme.txt
echo 4. Exit
echo.
choice /c:1234 /n /m "Please select an action to perform: "
if %ERRORLEVEL% EQU 4 goto end
if %ERRORLEVEL% EQU 3 goto readme
if %ERRORLEVEL% EQU 2 goto stresstest
if %ERRORLEVEL% EQU 1 goto benchmark

:benchmark
cls
echo ==============================================================
echo =-=     Linpack Xtreme v1.1.5 by Regeneration (64-bit)     =-=
echo =-=      Based on Intel Math Kernel Library Benchmark      =-=
echo =-=          Copyright (c) 2020 Intel Corporation          =-=
echo ==============================================================
echo.
echo 1. Quick 2GB Benchmark
echo 2. Standard 3GB Benchmark
echo 3. Extended 8GB Benchmark
echo.
echo 4. Go back
echo.
choice /c:1234 /n /m "Please select a profile: "
if %ERRORLEVEL% EQU 4 goto menu
echo Linpack data file > linpack.ini
echo Linpack Xtreme v1.1.5 by Regeneration (64-bit) >> linpack.ini
echo 1 >> linpack.ini
if %ERRORLEVEL% EQU 3 set PROBLEMSIZE=32000
if %ERRORLEVEL% EQU 2 set PROBLEMSIZE=20000
if %ERRORLEVEL% EQU 1 set PROBLEMSIZE=15000
echo %PROBLEMSIZE% >> linpack.ini
echo %PROBLEMSIZE% >> linpack.ini
goto runbenchmark

:runbenchmark
cls
echo ==============================================================
echo =-=     Linpack Xtreme v1.1.5 by Regeneration (64-bit)     =-=
echo =-=      Based on Intel Math Kernel Library Benchmark      =-=
echo =-=          Copyright (c) 2020 Intel Corporation          =-=
echo ==============================================================
echo.
set /p RUNS="Enter number of times to run Linpack (1-5): "
if %RUNS% LSS 1 goto runbenchmark
if %RUNS% GTR 5 goto runbenchmark
echo %RUNS% >> linpack.ini
echo 4 >> linpack.ini
FOR /F "usebackq tokens=1,2,3 delims=," %%G IN (`powershell.exe -Command "$processor = Get-CimInstance -ClassName Win32_Processor; @(@($processor).Count; $($processor | Measure-Object -Property NumberOfCores -sum).Sum; $($processor | Measure-Object -Property NumberOfLogicalProcessors -sum).Sum) -Join ','"`) DO (
    set "CPUS=%%G"
    set "CORES=%%H"
    set "THREADS=%%I"
)
set CORES=%CORES: =%
set CPUS=%CPUS: =%
set THREADS=%THREADS: =%
set /a OMP_NUM_THREADS="CORES * CPUS"
echo.
echo %CPUS% CPU(s) %CORES% core(s) %THREADS% thread(s) detected.
echo.
echo Ready to execute Linpack binary.
echo.
echo Press CTRL+BREAK anytime to abort.
echo.
pause
set OMP_PLACES=CORES
set OMP_PROC_BIND=TRUE
set MKL_DYNAMIC=FALSE
set PATH=.\binaries\x64;%PATH%
cls
linpack_amd64.exe linpack.ini
pause
goto menu

:stresstest
cls
echo ==============================================================
echo =-=     Linpack Xtreme v1.1.5 by Regeneration (64-bit)     =-=
echo =-=      Based on Intel Math Kernel Library Benchmark      =-=
echo =-=          Copyright (c) 2020 Intel Corporation          =-=
echo ==============================================================
echo.
echo 1. 2GB
echo 2. 4GB
echo 3. 6GB
echo 4. 8GB
echo 5. 10GB
echo 6. 14GB (experimental)
echo 7. 30GB (experimental)
echo.
echo 8. Go back
echo.
choice /c:12345678 /n /m "Please select amount of RAM to be used: "
if %ERRORLEVEL% EQU 8 goto menu
echo Linpack data file > linpack.ini
echo Linpack Xtreme v1.1.5 by Regeneration (64-bit) >> linpack.ini
echo 1 >> linpack.ini
if %ERRORLEVEL% EQU 7 set PROBLEMSIZE=62897
if %ERRORLEVEL% EQU 6 set PROBLEMSIZE=42789
if %ERRORLEVEL% EQU 5 set PROBLEMSIZE=35000
if %ERRORLEVEL% EQU 4 set PROBLEMSIZE=32209
if %ERRORLEVEL% EQU 3 set PROBLEMSIZE=27818
if %ERRORLEVEL% EQU 2 set PROBLEMSIZE=22611
if %ERRORLEVEL% EQU 1 set PROBLEMSIZE=15825
echo %PROBLEMSIZE% >> linpack.ini
echo %PROBLEMSIZE% >> linpack.ini
goto runstresstest

:runstresstest
cls
echo ==============================================================
echo =-=     Linpack Xtreme v1.1.5 by Regeneration (64-bit)     =-=
echo =-=      Based on Intel Math Kernel Library Benchmark      =-=
echo =-=          Copyright (c) 2020 Intel Corporation          =-=
echo ==============================================================
echo.
set /p RUNS="Enter number of times to run Linpack (1-10000): "
if %RUNS% LSS 1 goto runstresstest
if %RUNS% GTR 10000 goto runstresstest
echo %RUNS% >> linpack.ini
echo 4 >> linpack.ini
FOR /F "usebackq tokens=1,2,3 delims=," %%G IN (`powershell.exe -Command "$processor = Get-CimInstance -ClassName Win32_Processor; @(@($processor).Count; $($processor | Measure-Object -Property NumberOfCores -sum).Sum; $($processor | Measure-Object -Property NumberOfLogicalProcessors -sum).Sum) -Join ','"`) DO (
    set "CPUS=%%G"
    set "CORES=%%H"
    set "THREADS=%%I"
)
set CORES=%CORES: =%
set CPUS=%CPUS: =%
set THREADS=%THREADS: =%
set /a MAXTHREADS="THREADS * CPUS"
echo.
echo %CPUS% CPU(s) %CORES% core(s) %THREADS% thread(s) detected.
echo.
choice /c:yn /n /m "Do you wish to use all available threads? (Y/N)"
if %ERRORLEVEL% EQU 2 goto specifythreads
set OMP_NUM_THREADS=%MAXTHREADS%
goto sleepmode

:specifythreads
echo.
set /p CUSTOMTHREADS="Specify amount of threads (1-%MAXTHREADS%): "
if %CUSTOMTHREADS% LSS 1 goto specifythreads
if %CUSTOMTHREADS% GTR %MAXTHREADS% goto specifythreads
set OMP_NUM_THREADS=%CUSTOMTHREADS%
goto sleepmode

:sleepmode
echo.
choice /c:yn /n /m "Do you wish to disable sleep mode? (Y/N)"
if %ERRORLEVEL% EQU 2 goto hwmonitor
powercfg.exe -change -standby-timeout-ac 0
powercfg.exe -change -hibernate-timeout-ac 0
goto hwmonitor

:hwmonitor
echo.
choice /c:yn /n /m "Do you wish to run CPUID HWMonitor in the background? (Y/N)"
echo.
echo Ready to execute Linpack binary.
echo.
echo Press CTRL+BREAK anytime to abort.
echo.
pause
if exist results.txt goto menu
set OMP_PLACES=CORES
set OMP_PROC_BIND=SPREAD
set MKL_DYNAMIC=FALSE
set PATH=.\binaries\x64;%PATH%
if %ERRORLEVEL% EQU 1 start /min .\hwmonitor\HWMonitor_x64.exe
echo %PROCESSOR_IDENTIFIER% | find /i "AMD" > nul
if %ERRORLEVEL% EQU 0 set RESIDUALCHECK=1
if %ERRORLEVEL% EQU 0 start /b linpack_amd64.exe linpack.ini > results.txt
if %ERRORLEVEL% EQU 1 start /b linpack_intel64.exe linpack.ini > results.txt
echo.
echo Stress test will begin in 5 seconds...
timeout 5 /nobreak > nul
goto checkprocess

:checkprocess
tasklist.exe | find /i "linpack_" > nul
if %ERRORLEVEL% EQU 0 goto checkstatus
if exist results.txt goto checkresults
goto menu

:checkstatus
cls
type results.txt
find /i "fail" results.txt > nul
if %ERRORLEVEL% EQU 0 goto fail
if defined RESIDUALCHECK goto checkresidual
goto noerrors

:checkresidual
for /f "tokens=6 skip=22" %%G IN ('type results.txt') DO set RESIDUAL=%%G
if not defined RESIDUAL goto noerrors
for /f "tokens=6 skip=22" %%H IN ('type results.txt') DO if /i %RESIDUAL% NEQ %%H goto fail
goto noerrors

:noerrors
echo.
echo No errors detected so far. [%date% - %time%]
timeout 10 /nobreak > nul
goto checkprocess

:checkresults
cls
type results.txt
find /i "passed" results.txt > nul
if %ERRORLEVEL% EQU 0 goto success
goto fail

:fail
tasklist.exe | find /i "linpack_" > nul
if %ERRORLEVEL% EQU 0 taskkill.exe /f /im linpack_* > nul
echo 
echo Hardware failure detected. System failed to maintain stability.
echo 
pause
goto menu

:success
pause
goto menu

:readme
if exist readme.txt (
    cls
    type readme.txt|more
) else (
    echo.
    echo Error! the file is missing.
    echo.
)
pause
goto menu

:end
if exist linpack.ini del /f /q linpack.ini
if exist results.txt del /f /q results.txt
ENDLOCAL
exit
 
Joined
Jan 10, 2019
Messages
8 (0.00/day)
Now works fine. Thx!
But some mismatch in cpu detection/information.
 

Attachments

  • Снимок экрана 2024-07-01 195911.png
    Снимок экрана 2024-07-01 195911.png
    61.4 KB · Views: 51
  • Снимок экрана 2024-07-01 195924.png
    Снимок экрана 2024-07-01 195924.png
    18.1 KB · Views: 49
Joined
Jul 9, 2009
Messages
20 (0.00/day)
I think that's normal. When I looked through the thread earlier, it was mentioned that for a benchmark run Hyperthreading / SMT is not used, so it's only using half of the available "virtual" threads.
During a stress test run, all of them are being used (and displayed as "number of threads").
 
Joined
Jul 9, 2009
Messages
20 (0.00/day)
While looking through the batch file and reading up on how Linpack / Intel's MKL library handles things, I noticed that Linpack Xtreme uses only AVX instructions for AMD processors, and not AVX2.
Intel processors are always using AVX2, but since Intel didn't really care about AMD support, you need to set an undocumented environment variable to enable AVX or AVX2 support for AMD processors (MKL_DEBUG_CPU_TYPE=4 resp. MKL_DEBUG_CPU_TYPE=5, see here for the original thread).

In Linpack Xtreme this variable is set to 4 for AMD (see the batch file code above), which means that the instructions to be used are set to AVX, and not to AVX2.

And interestingly, setting it to 4 does increase performance / GFlops during an all-core test.
However already for the benchmark with only half of the available virtual CPUs / threads, and even more so when using a low thread count like 1 or 2, using MKL_DEBUG_CPU_TYPE=5 over 4 to enable AVX2 does indeed increase performance. At least on my Ryzen 5900x processor.

Here are some examples:

Stress test, all threads, 2GB
MKL_DEBUG_CPU_TYPE=4: 405 GFlops
MKL_DEBUG_CPU_TYPE=5: 332 GFlops
1720018590979.png
1720018607034.png



Benchmark, 12 threads (automatic), 2GB
MKL_DEBUG_CPU_TYPE=4: 417 GFlops
MKL_DEBUG_CPU_TYPE=5: 423 GFlops
1720018892025.png
1720018902101.png



Stress test, 1 thread, 2GB
MKL_DEBUG_CPU_TYPE=4: 45 GFlops
MKL_DEBUG_CPU_TYPE=5: 66 GFlops
1720017985154.png
1720018032615.png
 
Joined
Nov 11, 2020
Messages
299 (0.20/day)
Would be really nice if we could get a update to this benchmark, i kinda use it alot already on vanilla Zen4 :toast:
(but lately i have to fire up LinX if i want to see those ~1900GFLOPS numbers)

Defaulting to AVX2 / AVX512 for supported CPU's would also leveling the playing field
 
Joined
Jul 9, 2009
Messages
20 (0.00/day)
I guess that would require a larger overhaul. Intel's Math Kernel Library has been changed in 2020 (also see the original thread) and doesn't support that debug flag anymore.
At the same time they have added some improvements for AMD, but it being an Intel library designed for Intel chips, they probably don't put a lot of effort into it.

As a reaction, AMD has developed its AOCL package (AMD Optimizing CPU Libraries), which - if updating MKL (which is now also a part of Intel's oneAPI package) - should be used as an alternative for AMD processors.

It's all a bit complicated, and I'm not very deep into the issue either.
 
Joined
Dec 5, 2019
Messages
85 (0.05/day)
So, no update to this benchmark for actual Windows versions?


this worked for me
 
Joined
Jul 9, 2009
Messages
20 (0.00/day)
So I did make some tests with the latest oneMKL release (2024.2.1.0). I patched the linpack_xeon64.exe to allow it to run on AMD CPUs (replace the hex values E8 38 4F with B8 01 00 at offset 0x533).

This version runs faster (more GFlops) on one thread than the version from Linpack Xtreme, when it's running with the default MKL_DEBUG_CPU_TYPE=4 settings. But it's still slower than if you set it to MKL_DEBUG_CPU_TYPE=5.
As mentioned, since 2020.something this environment variable isn't available anymore for Intel's MKL library, so it at least runs with decent speed now by default.
I didn't test with all threads or benchmark, but these are the results for me:
Linpack Xtreme 1 thread MKL_DEBUG_CPU_TYPE=4: 45 GFlops
Linpack Xtreme 1 thread MKL_DEBUG_CPU_TYPE=5: 65 GFlops
Linpack 1 thread 2024.2.1.0: 59 GFlops

And while looking at the binaries, I wonder why the linpack_amd64.exe is so different in size than the linpack_intel64.exe. Normally the patch I mentioned above doesn't change the file size, so I wonder if some additional changes have been made to the binary? Is it maybe not even Intel's MKL linpack version but actually one that was already compiled using AMD's libraries? @Regeneration

The latest HPL version ("High Performance Linpack"), the original code Intel's binary is based on, is from 2018, so also not exactly very recent.
Trying to compile this HPL code with AMD's libraries would be the next step I guess, although I have no experience with these kind of things, so I'm not sure I'm willing to invest the time to learn how to do it.


// Edit
I got ahold of a pristine version of Intel's MKL linpack 2018.0.3.1, (the included linpack_xeon64.exe perfectly matches Linpack Xtreme's linpack_intel64.exe), and when patching it to allow AMD, it shows the same performance as Linpack Xtreme's linpack_amd64.exe file. So there don't seem to be any additional optimizations, which makes me wonder even more why the file size is so different.
 
Last edited:
Joined
Jul 9, 2009
Messages
20 (0.00/day)
Would be really nice if we could get a update to this benchmark, i kinda use it alot already on vanilla Zen4 :toast:
(but lately i have to fire up LinX if i want to see those ~1900GFLOPS numbers)

Defaulting to AVX2 / AVX512 for supported CPU's would also leveling the playing field

I have no way to test this myself, but you could try to add this to the batch file:
Code:
set "MKL_DEBUG_CPU_TYPE=7"
set "MKL_ENABLE_INSTRUCTIONS=AVX512"

This supposedly activates resp. forces the AVX512 pathway. And crashes on my non-AVX512 capable Zen 3.
"5" is AVX2, no idea what "6" would do.
 
Top