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

Intel Compiler Patcher boosts AMD processors' performance?

Joined
Nov 2, 2008
Messages
887 (0.16/day)
Processor Intel Core i3-8100
Motherboard ASRock H370 Pro4
Cooling Cryorig M9i
Memory 16GB G.Skill Aegis DDR4-2400
Video Card(s) Gigabyte GeForce GTX 1060 WindForce OC 3GB
Storage Crucial MX500 512GB SSD
Display(s) Dell S2316M LCD
Case Fractal Design Define R4 Black Pearl
Audio Device(s) Realtek ALC892
Power Supply Corsair CX600M
Mouse Logitech M500
Keyboard Lenovo KB1021 USB
Software Windows 10 Professional x64
I was skimming Major Geeks (one of my favorite download sites) and spotted this in today's listing:

Intel Compiler Patcher (ICP) 1.0

Intel Compiler Patcher (ICP) scans your hard drive for executable files compiled with the Intel C++ Compiler making it possible to disable the CPU dispatcher in detected files addressing an issue that causes non Intel chipsets to run these programs slower.

In other words, it is believed that Intel uses this to make their processor faster than the competition, mainly AMD. Here's more on the theory behind this.

The compiler or library can make multiple versions of a piece of code, each optimized for a certain processor and instruction set, for example SSE2, SSE3, etc. The system includes a function that detects which type of CPU it is running on and chooses the optimal code path for that CPU. This is called a CPU dispatcher. However, the Intel CPU dispatcher does not only check which instruction set is supported by the CPU, it also checks the vendor ID string. If the vendor string says "GenuineIntel" then it uses the optimal code path. If the CPU is not from Intel then, in most cases, it will run the slowest possible version of the code, even if the CPU is fully compatible with a better version.

To be clear, this program will work on any non-Intel processor. Please see the readme.html inside the zip.

http://www.majorgeeks.com/files/details/intel_compiler_patcher.html

Interesting.... Did Intel do this deliberately, to make AMD's processors perform poorly? Unfortunately, I don't have access to any AMD processors to test this utility. Does anyone here want to give it a try and report their results?
 
Joined
Aug 20, 2007
Messages
20,787 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
So Intel's compiler is optimized for Intel processors? Who knew? /s
 

dorsetknob

"YOUR RMA REQUEST IS CON-REFUSED"
Joined
Mar 17, 2005
Messages
9,105 (1.30/day)
Location
Dorset where else eh? >>> Thats ENGLAND<<<
guess this could be a buy the popcorn and wait for the fanboys thread

Interesting.... Did Intel do this deliberately, to make AMD's processors perform poorly?
there were story's and rumors circulating a while back to this idea
 
Joined
Sep 2, 2011
Messages
1,019 (0.22/day)
Location
Porto
System Name No name / Purple Haze
Processor Phenom II 1100T @ 3.8Ghz / Pentium 4 3.4 EE Gallatin @ 3.825Ghz
Motherboard MSI 970 Gaming/ Abit IC7-MAX3
Cooling CM Hyper 212X / Scythe Andy Samurai Master (CPU) - Modded Ati Silencer 5 rev. 2 (GPU)
Memory 8GB GEIL GB38GB2133C10ADC + 8GB G.Skill F3-14900CL9-4GBXL / 2x1GB Crucial Ballistix Tracer PC4000
Video Card(s) Asus R9 Fury X Strix (4096 SP's/1050 Mhz)/ PowerColor X850XT PE @ (600/1230) AGP + (HD3850 AGP)
Storage Samsung 250 GB / WD Caviar 160GB
Display(s) Benq XL2411T
Audio Device(s) motherboard / Creative Sound Blaster X-Fi XtremeGamer Fatal1ty Pro + Front panel
Power Supply Tagan BZ 900W / Corsair HX620w
Mouse Zowie AM
Keyboard Qpad MK-50
Software Windows 7 Pro 64Bit / Windows XP
Benchmark Scores 64CU Fury: http://www.3dmark.com/fs/11269229 / X850XT PE http://www.3dmark.com/3dm05/5532432
I may try cinebench when I get home with and without this to see if there are any differences...
 
Joined
Aug 20, 2007
Messages
20,787 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
I hate to break it to you guys, but very few programs actually use Intel's compiler, and if they do, they usually expect to run on Intel hardware. The "Intel" part of "Intel compiler" should be a hint...
 
Joined
Nov 2, 2008
Messages
887 (0.16/day)
Processor Intel Core i3-8100
Motherboard ASRock H370 Pro4
Cooling Cryorig M9i
Memory 16GB G.Skill Aegis DDR4-2400
Video Card(s) Gigabyte GeForce GTX 1060 WindForce OC 3GB
Storage Crucial MX500 512GB SSD
Display(s) Dell S2316M LCD
Case Fractal Design Define R4 Black Pearl
Audio Device(s) Realtek ALC892
Power Supply Corsair CX600M
Mouse Logitech M500
Keyboard Lenovo KB1021 USB
Software Windows 10 Professional x64
"Intel compatible" is one thing; "Intel exclusive" is a different story....
 
Joined
Aug 20, 2007
Messages
20,787 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
Joined
Jul 9, 2015
Messages
3,413 (1.06/day)
System Name M3401 notebook
Processor 5600H
Motherboard NA
Memory 16GB
Video Card(s) 3050
Storage 500GB SSD
Display(s) 14" OLED screen of the laptop
Software Windows 10
Benchmark Scores 3050 scores good 15-20% lower than average, despite ASUS's claims that it has uber cooling.
So Intel's compiler is optimized for Intel processors? Who knew? /s

There is no reason to check for vendor id (querying "do you support SSE" is standard), unless criminal energy is involved.

If confirmed, it IS a big deal.

I hate to break it to you guys, but very few programs actually use Intel's compiler, and if they do, they usually expect to run on Intel hardware. The "Intel" part of "Intel compiler" should be a hint...

Last time I was into compilable programs, Intel's compiler beat Microsoft's.
 
Joined
Nov 2, 2008
Messages
887 (0.16/day)
Processor Intel Core i3-8100
Motherboard ASRock H370 Pro4
Cooling Cryorig M9i
Memory 16GB G.Skill Aegis DDR4-2400
Video Card(s) Gigabyte GeForce GTX 1060 WindForce OC 3GB
Storage Crucial MX500 512GB SSD
Display(s) Dell S2316M LCD
Case Fractal Design Define R4 Black Pearl
Audio Device(s) Realtek ALC892
Power Supply Corsair CX600M
Mouse Logitech M500
Keyboard Lenovo KB1021 USB
Software Windows 10 Professional x64
not quite sure what you are getting at here...

AMD's processors are Intel compatible; they are capable of running that code. Looking for the vendor string of "GenuineIntel" doesn't tell the compiler anything useful about a particular processor's capabilities; it only says "This is one of mine." The code still has to identify which Intel processor it's running on in order to implement the correct optimizations.

Rather than hobbling AMD's processors with poorly optimized code, the compiler should check for supported features and optimize accordingly, regardless of the brand of processor. As it stands now, Intel's compiler is effectively saying "I don't like competing against you in this footrace, so instead of giving you sneakers, I'll give you flip-flops." It's petty, spiteful, and unnecessary.

Of course, I'm looking at this as a consumer, not as a manufacturer that has a vested interest in making their own products look good and their competitor's products look bad....
 

FordGT90Concept

"I go fast!1!11!1!"
Joined
Oct 13, 2008
Messages
26,259 (4.63/day)
Location
IA, USA
System Name BY-2021
Processor AMD Ryzen 7 5800X (65w eco profile)
Motherboard MSI B550 Gaming Plus
Cooling Scythe Mugen (rev 5)
Memory 2 x Kingston HyperX DDR4-3200 32 GiB
Video Card(s) AMD Radeon RX 7900 XT
Storage Samsung 980 Pro, Seagate Exos X20 TB 7200 RPM
Display(s) Nixeus NX-EDG274K (3840x2160@144 DP) + Samsung SyncMaster 906BW (1440x900@60 HDMI-DVI)
Case Coolermaster HAF 932 w/ USB 3.0 5.25" bay + USB 3.2 (A+C) 3.5" bay
Audio Device(s) Realtek ALC1150, Micca OriGen+
Power Supply Enermax Platimax 850w
Mouse Nixeus REVEL-X
Keyboard Tesoro Excalibur
Software Windows 10 Home 64-bit
Benchmark Scores Faster than the tortoise; slower than the hare.
There is no reason to check for vendor id (querying "do you support SSE" is standard), unless criminal energy is involved.
The article said that it is coded for each CPU's specific dispatcher to prevent blocking. So yeah, it is pretty important for the compiler to check the Vendor ID and Device ID to make sure it is optimizing for each specific processor. The software likely does nothing if it sees anything other than Vendor ID 0x8086 as it should be because it would likely make performance worse for AMD; not better. AMD is free to make their own compiler to optimize code for their own processors. If they do/did, it would only target AMD processors as well.

There is absolutely nothing fishy about this unless Intel compiler deliberately makes software slower (as in not status quo) on AMD's hardware.


Optimizing a dispatcher goes far beyond just singular instructions. That's why it must look at more than whether or not a specific instruction exists.
 

cdawall

where the hell are my stars
Joined
Jul 23, 2006
Messages
27,680 (4.27/day)
Location
Houston
System Name All the cores
Processor 2990WX
Motherboard Asrock X399M
Cooling CPU-XSPC RayStorm Neo, 2x240mm+360mm, D5PWM+140mL, GPU-2x360mm, 2xbyski, D4+D5+100mL
Memory 4x16GB G.Skill 3600
Video Card(s) (2) EVGA SC BLACK 1080Ti's
Storage 2x Samsung SM951 512GB, Samsung PM961 512GB
Display(s) Dell UP2414Q 3840X2160@60hz
Case Caselabs Mercury S5+pedestal
Audio Device(s) Fischer HA-02->Fischer FA-002W High edition/FA-003/Jubilate/FA-011 depending on my mood
Power Supply Seasonic Prime 1200w
Mouse Thermaltake Theron, Steam controller
Keyboard Keychron K8
Software W10P
This is old hat info. Intel has been doing this for years look into the testing that spoofs the vender ID of AMD processors and how performance changes.
 
Joined
Aug 20, 2007
Messages
20,787 (3.41/day)
System Name Pioneer
Processor Ryzen R9 7950X
Motherboard GIGABYTE Aorus Elite X670 AX
Cooling Noctua NH-D15 + A whole lotta Sunon and Corsair Maglev blower fans...
Memory 64GB (4x 16GB) G.Skill Flare X5 @ DDR5-6000 CL30
Video Card(s) XFX RX 7900 XTX Speedster Merc 310
Storage 2x Crucial P5 Plus 2TB PCIe 4.0 NVMe SSDs
Display(s) 55" LG 55" B9 OLED 4K Display
Case Thermaltake Core X31
Audio Device(s) TOSLINK->Schiit Modi MB->Asgard 2 DAC Amp->AKG Pro K712 Headphones or HDMI->B9 OLED
Power Supply FSP Hydro Ti Pro 850W
Mouse Logitech G305 Lightspeed Wireless
Keyboard WASD Code v3 with Cherry Green keyswitches + PBT DS keycaps
Software Gentoo Linux x64
Last time I was into compilable programs, Intel's compiler beat Microsoft's.

Yet, but this is important, only on Intel hardware.

This is old hat info. Intel has been doing this for years look into the testing that spoofs the vender ID of AMD processors and how performance changes.

I'm pretty sure the intel compiler is even advertised to "boost performance on Intel processors"

I mean this is like complaining that the AMD drivers don't boost your NVIDIA cards performance. OF COURSE THEY HAVE A BIAS FOR THEIR HARDWARE!
 
Joined
Jul 9, 2015
Messages
3,413 (1.06/day)
System Name M3401 notebook
Processor 5600H
Motherboard NA
Memory 16GB
Video Card(s) 3050
Storage 500GB SSD
Display(s) 14" OLED screen of the laptop
Software Windows 10
Benchmark Scores 3050 scores good 15-20% lower than average, despite ASUS's claims that it has uber cooling.
The article said that it is coded for each CPU's specific dispatcher to prevent blocking. So yeah, it is pretty important for the compiler to check the Vendor ID and Device ID to make sure it is optimizing for each specific processor. The software likely does nothing if it sees anything other than Vendor ID 0x8086 as it should be because it would likely make performance worse for AMD; not better.

I'm talking about "does this thing has SSE" kinds of checks.
"Oh, and is it also an Intel CPU" has no meaning in this context.


Yet, but this is important, only on Intel hardware.
No, faster overall, also on Athlons.

I mean this is like complaining that the AMD drivers don't boost your NVIDIA cards performance. OF COURSE THEY HAVE A BIAS FOR THEIR HARDWARE!
Yeah, they were. Drivers, I mean. Compiler was not.

PS
And, yeah, frankly, I don't think compiler tricks could cover the IPC gap between Intel/AMD in 14nm vs 28nm times.
 
Joined
Oct 2, 2004
Messages
13,791 (1.93/day)
When majority of programmers use Intel compilers, it presents a problem. You can't compare AMD and NVIDIA for things that are done differently. It should however never be a reason for standardized things. CPU instructions are standardized. You either support it or you don't. There is no in between. Dropping support for it just because CPU has the wrong vendor ID even though it fully supports that instruction set is just lame and dirty.
 
Top