What contributes towards the power consumption of the uncore part?
Uncore contains memory controller and QPI links to chipset parts
Why is the UNCORE active only when gpu workload was ran and not during cpu workload?
IGP video memory usage (obviously) and QPI links (due to video outputs are in chipset).
When CPU and GPU are both utilized, why does the power consumption of CPU went up and that of the GPU & UNCORE went down?
Because of TDP balance - in order to fit into thermal profile CPU lowers IGP freq when CPU cores are under sustained load.
Thanks for your response. I was suspecting the LLC coherency engine (in the uncore part) since LLC is accessible by the IGP to contribute to the uncore power consumption. This is in sync with your point on accessing video memory.
As for the comment on TDP, I am not sure if this is the case
a) The sustained load on CPU would cause it to consume ~7 Watts however the power consumption increases (to ~15 W) when gpu workloads is run alongside cpu workload.
b) The power limit was raised to 25 W and so, the chip is still within the limit.
c) If there is a concern about the thermal limit, the chip was not overheated at any point during the experiment. I used a tool to read the thermal sensors output to verify this. So, throttling due to thermal factor didn't happen.
d) The performance of both CPU and GPU workloads remained the same as when they were run stand-alone.
Thermal balance is not directly translated into watts and Celsius. The processor datasheet Desktop 5th Gen Intel® Core™ Processor Family Datasheet, Vol. 1 contain part about thermal management, take a look at tables and graphs.
Also, Beignet docs http://www.freedesktop.org/wiki/Software/Beignet/ tells, that some functions are 'software', runs on CPU i think. Your benchmark may be CPU-limited, thus you have no changes in performance and increased CPU cores power drain in combined runs.
Thanks for the thermal management reference - I will read through the section.
I am not sure about the Beignet argument for the following reasons (but I could be wrong):
a) The CPU workload that I use max out the utilization of all the CPUs on the processors. So, use of CPU by opencl workload should impact the performance of the CPU workload.
b) If the beignet based opencl workload was using cpu for some part of its execution then the cpu power consumption cannot be as low as <1W (Refer to the power numbers in my original post corresponding to GPU workload where the beignet workload was run standalone). So, I guess only the main thread of the program runs on the CPU and offloads tasks onto the IGP.