8 Replies Latest reply on Jan 22, 2017 3:26 AM by NikosD

    HD 4400 - How many EUs for OpenCL and in general ?



      I've recently bought a new Core i3-4170 (Haswell) processor with an iGPU inside - the HD 4400.


      I have read in many sites and Intel forum that HD 4400 has 20 EUs (Execution Units) inside, but using my Core i3-4170 with Win 10 x64 latest version 14393.447 and latest drivers I can only see 12 EUs using OpenCL apps - and I mean every OpenCL app I tried.


      It seems that the driver exposes 12 EUs for OpenCL.


      For example, take a look of the output of CLInfo:

      (I have the relative line in red)




        Platform Name:                                         Intel(R) OpenCL

      Number of devices:                               2

        Device Type:                                   CL_DEVICE_TYPE_GPU

        Device ID:                                     32902

        Max compute units:                             12

        Max work items dimensions:                     3

          Max work items[0]:                           256

          Max work items[1]:                           256

          Max work items[2]:                           256

        Max work group size:                           256


        Name:                                          Intel(R) HD Graphics 4400

        Vendor:                                        Intel(R) Corporation

        Driver version:                      

        Profile:                                       FULL_PROFILE

        Version:                                       OpenCL 1.2


      My questions:

      1) What is the number of EUs for HD 4400 in OpenCL and in general ? (Direct3D)


      2) Is it a driver bug or some kind of limitation for Core i3 HD 4400 exposing only 12 EUs ?



        • 1. Re: HD 4400 - How many EUs for OpenCL and in general ?

          Check out: HD 4400 EU count

          Looks like there are 2 different HD 4400

          • 2. Re: HD 4400 - How many EUs for OpenCL and in general ?

            Thank you very much for the link.


            I get exactly the same results using the mentioned diagnostic applications and real-world apps.


            GPU-Z says 16 EUs and I get a performance of 16EUs in Direct3D apps.


            GPU Caps viewer says 12 EUs for OpenCL and I get a performance of 12EUs in OpenCL apps.


            Also, other programs like HWiNFO describes HD 4400 of Core i3-4170 as a GT1.5 chip and not GT2.


            The problem right now is why Intel hadn't replied officially to the link mentioned above 2 years ago ?


            And why the hell is still selling desktop Core i3 as having a GT2 with 20 EUs while obviously this is not true ?


            This is clearly false advertising because GT2 has 20EUs and we can sue Intel for that.


            It's clear that desktop Core i3 has HD 4400 with 16EUs for Direct3D and 12EUs for GPGPU (OpenCL & DirectCompute).


            So, it's GT1.5 and not GT2.


            The only difference between HD 4400 and HD 4600 should be its clock and not the number of EUs.


            I DEMAND an official reply from Intel and a driver fix for the number of EUs exposed ASAP.

            • 3. Re: HD 4400 - How many EUs for OpenCL and in general ?
              Intel Corporation
              This message was posted on behalf of Intel Corporation

              Hello :
              First of all let me apologize for any inconvenience you might have in regard to this matter.
              I did some research in order to confirm the information you gave us and actually on the data sheet of the processor it says the processor supports up to 20 EU, but that is depending on the processor SKU, as you can confirm on the following link, page 28:
              Based on the information above, in order to find out which SKU’s support 20 execution units on openCL, please submit that inquiry in our developer zone since that is the place that supports that type of information, the peers in there will be able to provide further assistance about this subject so you can get the most accurate response:
              Once again let me apologize for any inconvenience.
              Any questions, please let me know.

              • 4. Re: HD 4400 - How many EUs for OpenCL and in general ?

                Thank you Alberto.


                If you read my post carefully, you will see that i'm not interested in OpenCL only, but in 3D Engines too.


                What is the number of EUs of the iGPU inside my Core i3-4170 for Direct3D ?


                I'm in the graphics section of the forum, someone official from Intel should be responsible to reply to these questions without sending the users to other threads.


                It is very obvious to me that HD 4400 has 16EUs for 3D and 12 EUs for OpenCL.


                So the main questions are these:


                Does Intel has the right, without a notice to the users:


                1) To expose different number of EUs for the same HD 4400 chip ?

                16EUs for Direct3D and 12EUs for OpenCL ?


                2) To have two versions of HD 4400, one with GT2 and 20EUs and the other one with 16EUs/12EUs ?


                Where is all this info clearly documented ?

                • 5. Re: HD 4400 - How many EUs for OpenCL and in general ?
                  Intel Corporation
                  This message was posted on behalf of Intel Corporation

                  Hello :
                  Yes, I read you post carefully and we are aware you need this information regarding not only OpenCL but al so for 3D engines too.
                  Normally you should be able to get that information on the link I gave you previously for our developer zone, however we will start a research and an investigation on this matter in order to find out if maybe we have a document where you will be able to get the information you are looking for.
                  As soon as I get any resolution from the investigation, I will post all the details on this thread.
                  Any questions, please let me know.

                  • 6. Re: HD 4400 - How many EUs for OpenCL and in general ?

                    Hello Alberto,


                    any news about the documentation referring to HD 4400 as a 16 EUs for 3D and 12EUs for GPU computing ?


                    As you can read here Intel HD Graphics 4400 - NotebookCheck.net Tech HD 4400 for laptops is GT2 with 20EUs having just a lower clock than HD 4600 GT2.


                    But it is a GT2 GPU with 20EUs, something that I expected to find in my Core i3-4170 that has exactly the same name iGPU aka HD 4400.

                    Even Wikipedia doesn't say there are two different versions of HD 4400 as you can read here

                    List of Intel graphics processing units - Wikipedia


                    Also, there are some slides floating around at various sites regarding Intel's iGPU generations like the one below, clearly mentioning a mysterious, undocumented in official Intel's documents GT1.5 EU arrangement with 12EUs.


                    My main question that hasn't been answered yet for more than 10 days is still the same:


                    Is there any official document from Intel describing how many EUs exist in HD 4400 for desktops, like Core i3-4170, for 3D and GPU computing ?


                    Waiting for your feedback...

                    • 7. Re: HD 4400 - How many EUs for OpenCL and in general ?

                      Hi Nikos,

                      First of all, thank you for bringing this to our attention. It took some time to dig into this one, though I see where the confusion is and will make adjustments to the wording in Robert_U’s previous post to mitigate the confusion for others too. Please keep in mind EUs are not directly linked to HD Graphics, they’re tied to the processor SKU. In your case, the i3-4170T (which is a Mobile CPU) has 20 EUs, while the i3-4170 (which is a Desktop CPU) has up to 12 EUs. Both of these processors do indeed share the HD Graphics 4400 moniker though differ in TDP, EUs , Frequency, and possible other features since they’re different SKUs supporting different platform types.

                      In general we’ve moved away from formally calling out Execution Units publically as it has created a confusion for users who associate performance directly with the amount of EUs which is not entirely accurate. Performance is certainly measured with several factors in consideration. As an example, a Celeron CPU if matched in EUs to a corresponding Core CPU like an i3 should not be expected to have the same performance.

                      As for the 3rd party programs which are reading contradicting stats, I cannot comment on how they actually get the information they display. A possible explanation is hard coded stats, though ultimately I must defer to the application vendor further for an answer. I’ve seen at least one post on TechPowerUp forums questioning accuracy. One indicating the data presented in CPU-Z was largely incorrect for a Baytrail processor such as EUs, die process size, DX support, etc. Separately, it was confirmed and also assured by technical experts here that EUs don’t differ from API to API, so if the CPU has 12 EUs, 12 EUs are available for all purposes.

                      I regret there’s been confusion on this subject though hope this helps alleviate concerns. Let me know if we can help further.



                      • 8. Re: HD 4400 - How many EUs for OpenCL and in general ?

                        Hello Bryce,


                        thank you for your reply.

                        I think we have to clarify some misunderstandings.


                        An SKU like Core i3-4170 or Core i3-4170T is not only a CPU, but rather what we call an APU or a SoC or whatever you want to name it in order to include integrated GPU (iGPU).


                        The number of EUs discussed here is a feature of the iGPU only.

                        It's not by any means a feature of the CPU.


                        Also, although I read your reply that Core i3-4170 has up to 12EUs and that should be the same number for 3D and OpenCL or any other API, I have to say that the difference in 3D performance using the same iGPU clock with Haswell iGPUs between 20EUs vs 12EUs do not confirm your reply.


                        My initial tests are showing a very close performance of my iGPU like running using 16EUs and not 12EUs but only for 3D.

                        For GPGPU tests (OpenCL) it is 12EUs for sure.


                        I have to test more though, in order to be sure.


                        Now regarding EUs, when we say that a Celeron processor has 16EUs and a Core i3 has 12EUs, then yes someone who is buying a Celeron SKU with an advertised number of 16EUs can expect and should expect faster iGPU performance than a Core i3 with 12EUs using the same clock for iGPU


                        This is a very reasonable point. Nothing strange here.


                        The only strange thing here in Intel, is the same moniker - HD 4400 - used for different iGPUs.


                        So, you admit with your reply to me what I was assuming from my first post, that mobile HD 4400 is different and faster than HD 4400 for desktops, at least for Core i3.


                        Is this a false advertising or not ?