2990WX -- 4.1GHz --24/7 -- All-Cores -- Shared Benchmark Script -- UPDATE-9-25-18 --Kernel-4.19.0-rc5 -- What 'make FLAGS' do you all usually use when compiling the Linux kernel and why?

I have had my 2990WX stable at 4.1GHz on all cores for over a month. I am using the X399 MSI MEG motherboard. It is currently running kernel 4.19.0-rc5 in Arch Linux. I wanted to share with the forum.

I know I need cable management bad lol… But its coming…

I created my own custom benchmark that simply compiles the Linux Kernel 3 times and records the time. This is what I have been using for stability testing and as a judge of speed. Here are the screenshots from that.

Running the Benchmark… (I will share the tarball if anyone wants it and its ok with the mods)

Results – It would be interesting to see how other configuration perform.

Sensors - Idle
Sensors

Sensors - Loaded

Storage
Storage

UPDATE-9-17-18:
I just updated to kernel 4.19.0-rc4 a few minutes ago and re-ran the benchmark. it seems to run slightly faster and also about 2 degrees C hotter.

Please share your thoughts. Thanks for your time…

UPDATE 9-20-18

To compare apples to apples. I put together this benchmark to share with you all.

This benchmark compiles the linux kernel as a test of stability and speed. Please try it out and share your results. I am posting the code below for your review and safety. I am open to feedback and improvements. I am also attaching the tarball which includes the below code, a tarball image of the linux kernel with the .config file already precreated that is used by the benchmark script. I am sure you know how to untar and uncompress it so I will not insult your inteligence with those trivial details. In short, this benchmark will not modify your system in anyway, and I encourage you to examine the script for yourself. Once unziped the benchmark can be executed by running the kernel_compile_benchmark.sh from within the Joes-Compile-Bench directory. Please post your results and lets see who can get the best time. The integrity of the .config file will be on the honor system. Thank you for your time.

Here is the link to the kernel_compile_benchmark.tar.gz

!!START CODE!!
    main(){
	clear
	get_kernel
	let start_time="$(date +%s)"
	compile_kernel
	timer
	rm -r linux-4.18.1
	exit 0
}

function place_holder(){
	sleep 10;
}
function timer(){
			
			let current_time="$(date +%s)"
			let seconds=$current_time-$start_time;
			clear
			echo -e "\n<<------------------------------------------------------------------------>>" >> results.txt
			echo -e `date` >> results.txt
			printf "Compiled kernel ---> %02d:%02d:%02d:%02d" "$((seconds/86400))" "$((seconds/3600%24))" "$((seconds/60%60))" "$((seconds%60))"  >> results.txt
			echo -e "\n<<------------------------------------------------------------------------>>" >> results.txt
			clear && cat results.txt
			
}


function compile_kernel(){
			let threads=`nproc --all`
			make -j $threads -C linux-4.18.1 clean && make -j $threads  -C linux-4.18.1
			
}

function get_kernel(){
	
	clear && echo -e "Starting Benchmark --->> Please Wait..\n" && sleep 3
	tar -xzf ./linux-4.18.1.tar.gz
	echo "<<---------------------------------Results-------------------------------->>" > results.txt
}



main

!!END CODE!!

Here is my last Result for the Benchmark.

Let the games begin!

UPDATE–9-24-18
Just compiled and installed kernel 4.19.0-rc5 - The time to compile the kernel was the same as 4.19.0-rc4.

The kernel was compiled using
!!START_CODE!! – LDFLAGS=–static make -j 64 – !!CODE END!!

QUESTION:
What make flags do you all usually use when compiling the Linux kernel and why??

3 Likes

What are you using as storage? What ram? And have you researched monoblocks for x399?

I am using 3 256GB samsung 960 evo nvme drives in raid 0 for my woirking volume and 2 5TB mechanical hard drives in raid 1 for persistent storage. I have set up backup images for the OS on some of the unused space on one of the nvme drives and a copy also saved on the mechanical drives.

I had a look at monoblocks but the issue was that the VRM’s on the MSI MEG motherboard extend past the cpu area across 50% of the top of the memory dim area so I was forced to air cool them.

I was thinking about how would MEG work with e.g. a proper finned heatsink a-la the kind we see gigabyte using, as opposed to just a block heatsink.

I can’t decide between MEG and Zenith with a monoblock, I guess MEG still has “more overkill” dimm VRMs.

1 Like

one week

We may get to find out because I am currently looking for one(proper heat sink) for the vrm’s.

I also can run my 2990WX stable on 4.1 Ghz with a Enermax 360 II TR4 AIO cooler, 6 Noctua F12 3000 rpm fans in push / pull. However the CPU will throttle in Blender at that frequency. Ram is also stable at 3200 MT/s CL14. Strangely enough the same ram at 3200MT/s CL14 is not stable at 4.0 Ghz and I have no idea why it is so. Stress testing in Aida64 with both CPU & GPU at the same time shows a total system consumption of about 1070 watt in the beginning when the CPU is not yet throttling.

1 Like

I guess I need to try the blender test, because I have not seen any throttling of any kind. I have 2 EK XE 480mm rads with 8 5000 rpm delta fans sandwiched between them. I have tried 3000 cl14 and it was not really as fast. No crashing but just ran slower that 2800CL14 1T timings. Could you please point me to the exact blender test that you ran? I would also be interested as to how your setup does on my kernel compile test.

Nice…about 4 min to compile the kernel. I think it took around 10 min on my R7 but I never measured it exactly.

1 Like

2990 phoronix test is 30 seconds flat with the pbo 2 the max

1 Like

To compare apples to apples. I put together this benchmark to share with you all.

This benchmark compiles the linux kernel as a test of stability and speed. Please try it out and share your results. I am posting the code below for your review and safety. I am open to feedback and improvements. I am also attaching the tarball which includes the below code, a tarball image of the linux kernel with the .config file already precreated that is used by the benchmark script. I am sure you know how to untar and uncompress it so I will not insult your inteligence with those trivial details. In short, this benchmark will not modify your system in anyway, and I encourage you to examine the script for yourself. Once unziped the benchmark can be executed by running the kernel_compile_benchmark.sh from within the Joes-Compile-Bench directory. Please post your results and lets see who can get the best time. The integrity of the .config file will be on the honor system. Thank you for your time.

Here is the link to the kernel_compile_benchmark.tar.gz

!!START CODE!!
main(){
clear
get_kernel
let start_time="$(date +%s)"
compile_kernel
timer
rm -r linux-4.18.1
exit 0
}

function place_holder(){
sleep 10;
}
function timer(){

		let current_time="$(date +%s)"
		let seconds=$current_time-$start_time;
		clear
		echo -e "\n<<------------------------------------------------------------------------>>" >> results.txt
		echo -e `date` >> results.txt
		printf "Compiled kernel ---> %02d:%02d:%02d:%02d" "$((seconds/86400))" "$((seconds/3600%24))" "$((seconds/60%60))" "$((seconds%60))"  >> results.txt
		echo -e "\n<<------------------------------------------------------------------------>>" >> results.txt
		clear && cat results.txt

}

function compile_kernel(){
let threads=nproc --all
make -j $threads -C linux-4.18.1 clean && make -j $threads -C linux-4.18.1

}

function get_kernel(){

clear && echo -e "Starting Benchmark --->> Please Wait..\n" && sleep 3
tar -xzf ./linux-4.18.1.tar.gz
echo "<<---------------------------------Results-------------------------------->>" > results.txt

}

main

!!END CODE!!

Here is my last Result for the Benchmark.

Let the games begin!

I’d say Wendell has everyone beat at 30 seconds. We must be doing it wrong :stuck_out_tongue:

3 Likes

Yeah, by the time I’ve gotten through the .conf copied from CentOS’s kernel and tweaked the tweakings for TR, its a wee bit more than 30 seconds… :wink:

Could cut it down to that and remove all the drivers, but that would take some doing.

1 Like

Yes Wendel. Lets see if you have a Threadripper build that can run the benchmark I shared faster than mine.

I guess technically one could compile the kernel minus the over additional 5000 modules that I compile in the benchmark I shared.

It’s literally the phoronix build-linux-kernel test

I tried to get the phoronix benchmark suite working early on but it would give me lots of server connection issues. So like any Linux guy I wrote my own. I am not sure how theirs works but a big problem with doing this kind of benchmark is standardizing the .config file. That is what I have tried to do. It is not a make allyesconfig which usually does not work, but it does build a kernel with enough features to be usable. What do you say? Will you give it a go? To this day I have not had anyone with a 2990WX to compare results with. Especially with 128GB of samsung B-die like me.

What speed is your 128G running?

I was able to get to 3200C14 with 4 of 8 sticks of a 128G b-die kit (only 64G), but with 8, I can’t get a MHz past 3000. Unfortunately, I won’t be back to it for as much as a week to try more tests. Having to make do with just 18 cores in the mean-time. :wink:

EDIT: I see 2800 in your BIOS. I actually saw no difference between 64G and 128G with both at 3000 (nor do I on Intel). I do see a drop from 3200 to 3000. I lose about the same % in performance in memory speed as I do app.

I have not tried 3200, but for some reason 3000 was slower than 2800 and I can tighten the secondary timings significantly more at 2800.

Regarding the benchmark, try adding to the beginning of the test:

declare -r TEST_ROOT=/dev/shm/kernel_compile_test
mkdir -p $TEST_ROOT
cd $TEST_ROOT

Also, consider

let threads=$((`nproc -all` * 2))

Even on tmpfs. Reason is that not all parts of the kernel are equally parallelizable, that way context switching will add some overhead, but you might eliminate make bottlenecking a little, it’s a balancing act.