Download
The processor operating system (OS) compatiblity page has four sections: Intel® Core™ i9, Intel® Core™ i7, Intel® Core™ i5, and Intel® Core™ i3. Steps to find the supported OS for your processor: Identify your Intel® Processor, or the note the processor that you need information about. Visit Processor OS Compatibility and look for. Image there Windows XP running on PowerPC G3 processor computers and Mac OS X running on Intel 486 Pentium 4 processor. Nah, I don't think that ever will happen. But that would be nice, so you don't have pay other thousand dollars on computer if Linux, Mac, and Windows run on any kind of processor. Mac OS X Support Mac Software Other Apple Hardware Laptops Laptop Compatibility. CPU Intel 8700K Graphics XFX (Radeon) 580 Oct 30, 2014 #3 The answer, simply, is. Google “hackintosh” - first link is Hackintosh Instructions, Hackintosh How To Guides: Hackintosh.com It is time consuming, works on some precise hardware, and often breaks when updating. It is also the last Mac OS X version that supports PowerPC-based applications, as Mac OS X v10.7 'Lion' dropped support for Rosetta. In 2020, 15 years following the announcement to transition to Intel processors, Apple announced a transition of the Macintosh to ARM -based processors developed in-house.
Development Team
- Windows*: Joe Olivas, Timo Kleimola, Mark Price, Timothy McKay
- MacOS*: Patrick Konsor
Previous Contributors
- Windows*: Seung-Woo Kim, Karthik Krishnan, Vardhan Dugar, Joseph Jin-Sung Lee, Jun De Vega
Introduction
Intel® Power Gadget is a software-based power usage monitoring tool enabled for Intel® Core™ processors (from 2nd Generation up to 10th Generation Intel® Core™ processors). Intel® Atom™ processors are not supported. It is supported on Windows* and macOS* and includes an application, driver, and libraries to monitor and estimate real-time processor package power information in watts using the energy counters in the processor. With this release, we are providing functionality to evaluate power information on various platforms including notebooks, desktops and servers. Windows 7* and 32-bit versions of the Intel® Power Gadget for Windows* has ceased development from 3.0.7. Starting with version 3.5 and going forward, only the 64-bit version and Windows 8* will be supported.
Background
Traditional methods to estimate power/energy usage of the processor has always been a cumbersome task that included special purpose tools or instrumentation on the platform along with third party equipment. The motivation for the tool was to assist end-users, ISV’s, OEM’s, developers, and others interested in a more precise estimation of power from a software level without any H/W instrumentation.
New Features
In version 3.0 there are additional features that include estimation of power on multi-socket systems as well as externally callable APIs to extract power information within sections of code. The multi-socket support essentially evaluates the Energy MSR on a per-socket basis and provides an estimate of power draw per socket. The API layer is a set of libraries and dlls that can be called and offers the flexibility to build the tool within code sections of an application. Latest release also includes support for Windows 10*.
Brief Description (Windows*)
Intel® Power Gadget 3.5 consists of the following components. Set of driver and libraries which access and post process the processor energy counter to calculate the power usage in Watts, temperate in Celsius and frequency in GHz (default install directory will be ~Program FilesIntelPower Gadget 3.5). A command line version of the tool (PowerLog3.0.exe) is also included
System Requirements (Windows*)
- Windows 8*
- Windows 10*
- Windows Server 2008, Windows Server 2012
- Microsoft .NET* Framework 4
- Microsoft Visual C++ 2017 Redistributable package
- 2nd Generation Intel® Core™ Processor or later, older processors not supported
- Single socket
- Multi-socket
System Requirements (MacOS*)
- macOS* 10.11 or later
- 2nd Generation Intel® Core™ processor or later
Known Limitations / Issues
- Graphs will not appear if your processor does not have the appropriate hardware counters
- Discrete graphics cards are not supported and GPU graphs will not appear unless Intel graphics is in use
- Windows 7* supported builds are below in the Archive section
Installation / Setup (Windows*)
- Run the msi package as an administrator. Accept the UAC, if one appears
- Follow the installer prompt instructions to complete installation
- .Net Framework 4 (will automatically be downloaded from Microsoft* site if not yet installed in your system) needs Internet connection
- Microsoft* Visual C++ 2017 Redistributable Package (will automatically get installed if not yet installed)
Installation / Setup (macOS*)
- Double click the downloaded DMG (Intel Power Gadget.dmg)
- Double click the package (Install Intel Power Gadget.pkg)
- Follow the installer prompt instructions to complete installation
On recent macOS versions, after installation users need to explicitly allow the Power Gadget driver to load:
- Open System Preferences, and click on 'Security and Privacy'
- Click the lock at the bottom of the page to unlock changes
- Click 'Allow' to allow system software from Intel Corporation:
- Restart your computer to apply the changes
On macOS Catalina (10.15), users may need to perform additional steps to enable the Power Gadget driver to automatically load (this is due to a bug in macOS).
- Open the Terminal application
- Enter the following command, and press Enter (requires a password to complete):
- Restart your computer to apply the changes
Usages (Windows*)
Common use of Intel® Power Gadget is to monitor energy usage of the processor
- Provides processor power (Watts), temperature (Celsius) and frequency (MHz) in real-time via graph displayed in the GUI
- Let you log the power and frequency measurements and save it in a csv format.
- Double click on the desktop shortcut and the GUI will launch
- Drag to move the GUI.
- Right click the GUI and a pop-up menu will show up allowing you to choose options or close the application. Options have the following parameters. Click “Start Log” button in the GUI to start logging. Press the same button “Stop Log” to stop logging. While it’s logging, red label “REC” will blink in the power chart area.
- You can choose to add time-stamp to the log file name or not.
- You can choose the log file name.
- You can choose to resize the GUI from 100% to 300% by dragging the slider and testing the new size with the “Apply Size” button and accept the changes by pressing “Ok”.
- Screen Update Resolution lets you change how often the GUI is updated at runtime. This may range from 50 ms to 1000 ms. (Default set to 1000 ms)
- Log Sampling Resolution lets you change the logging sampling resolution ranging from 1 ms to 1000 ms. (Default set to 100 ms)
- In a multi-socket system, you can choose which package information to display in the GUI. The log will record all package information in a csv file.
- Click 'Start Log' button in the GUI to start logging. Press the same button 'Stop Log' to stop logging. While it's logging, red label 'REC' will blink in the power chart area
Using Intel® Power Gadget 3.0 in a script
In order to start and stop the logging in a script, first launch the GUI as usual.
- At the beginning of the script, call 'IntelPowerGadget.exe -start' and it will trigger the logging in the GUI.
- At the end of the script, call “IntelPowerGadget.exe -stop” and it will stop the logging.
The parameters for the log are based on the options set in the GUI.
PowerLog3.0
PowerLog3.0.exe is the command line version of Intel® Power Gadget in logging power usage
Usage:
- Log power data to logfile for a period of time:
- Start a command a log power data to logfile until the command finish:
Logfile data
Logfile will include the elapsed timed, package power limit, processor frequency, GT frequency, processor temperature, average and cumulative power of the processor
- Processor Energy (Total energy of the processor) = IA Energy + GT Energy (if applicable) + Others (not measured)
- IA Energy (Energy of the CPU/processor cores)
- GT Energy (Energy of the processor graphics) – If applicable , some processors for desktops and servers don’t have it or may have use discrete graphics
Only works on 2nd Generation Intel® Core™ processor family or newer. Atom processors not yet supported.
Use only 32-bit installer for 32-bit OS and 64-bit installer for 64-bit OS
Application may hang after running for a long period of time (just close and restart application)
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
This document contains information on products in the design phase of development.
All products, platforms, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice. All dates specified are target dates, are provided for planning purposes only and are subject to change.
This document contains information on products in the design phase of development. Do not finalize a design with this information. Revised information will be published when the product is available. Verify with your local sales office that you have the latest datasheet before finalizing a design.
Code names featured are used internally within Intel to identify products that are in development and not yet publicly announced for release. Customers, licensees and other third parties are not authorized by Intel to use code names in advertising, promotion or marketing of any product or services and any such use of Intel's internal code names is at the sole risk of the user.
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2019, Intel Corporation. All rights reserved.
Intel® Power Gadget also provides a C/C++ Application Programming Interface (API) for accessing this power and frequency data in your program; the API is supported on Windows and Mac OS X. For more information on the API's, see:
For Mac Using the Intel® Power Gadget API on Mac OS X
For Windows Using the Intel® Power Gadget API on Windows
End User License Agreement included in Windows* download
Notices
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked 'reserved' or 'undefined.' Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Using the Intel® Power Gadget API on Mac OS X*
Intel® Power Gadget for Mac* is a GUI application that provides real-time data on processor frequency and estimated processor power, and can log frequency, power, energy, and temperature data over time. Intel® Power Gadget also provides a C Application Programming Interface (API) for accessing this power and frequency data in your program. Intel® Power Gadget is also available for Windows* and Linux*. Intel® Power Gadget and the API are only supported on 2nd generation and later Intel® Core processors, because previous processors do not support the necessary power Model Specific Registers (MSRs).
Intro to the Intel® Power Gadget API
The Intel® Power Gadget API is a framework (IntelPowerGadget .framework) that provides a C interface for reading current estimated processor power, current processor frequency, base frequency, thermal design power (TDP), current temperature, maximum temperature, timestamps, and elapsed time. It also provides logging functionality.
What You Need
To use the API you’ll need the Intel® Power Gadget for Mac* driver and framework. These are included in the Intel® Power Gadget installer, or as a standalone API installer. The driver is installed to /System/Library/Extensions/EnergyDriver.kext, and the framework is installed to /Library/Frameworks/IntelPowerGadget.framework.
Apple Intel Processors
To link with the Intel® Power Gadget API you simply need to include–framework IntelPowerGadget
in your link command.
Using the Intel® Power Gadget API
To begin you must initialize the library by calling IntelEnergyLibInitialize
.
The most common use of the Intel® Power Gadget API is to read samples with ReadSample. The API supports sampling of specific Model Specific Registers (MSRs). Meta data on the sampled MSRs can be queried with GetNumMsrs
, GetMsrName
, and GetMsrFunc
. GetNumMsrs
returns the number of sampled MSRs; MSRs are given an ID from 0 to n-1, where n is the number returned by GetNumMsrs
. The MSR ID is used to get data for a specific MSR with functions GetPowerData
, GetMsrName
, and GetMsrFunc
.
Calling GetPowerData
for each sampled MSR will provide you with the relevant data from that MSR. An MSR’s function (from GetMsrFunc
) determines the amount and meaning of data returned from GetPowerData
. MSRs with function 0 (frequency) return 1 result, which represents the frequency in megahertz. MSRs with function 1 (power) return 3 results, which represent the average power in watts, cumulative energy in Joules, and cumulative energy in milliwatt-hours. MSRs with function 2 (temperature) return 1 result, which represents the temperature in degrees Celsius. The Intel® Power Gadget API currently supports sampling with the following MSRs: processor frequency, estimated processor power, and package temperature. The currently supported MSR functions are: frequency (0), power (1), temperature (2).
ReadSample also reads the system time and Time Stamp Counter (TSC) at the time the sample is read. These values are available via GetSysTime
and GetRDTSC
; the time interval between samples is available (in seconds) via GetTimeInterval. Note that you must call ReadSample prior to calling GetPowerData
, GetRDTSC
, and GetTimeInterval
, and that you must call ReadSample twice before calling GetTimeInterval
and before getting power data (as opposed to frequency or temperature data) from GetPowerData
, as they are computed using the difference between two samples.
The Intel® Power Gadget API also supports reading generic MSRs with ReadMSR, which returns the raw data from the MSR. However, note that specifying an invalid MSR address can crash your system and could potentially corrupt it. There is no method to determine if an MSR address is valid. The API supports reading common individual MSRs without having to specify the MSR address or read an entire sample; the supported functions are: GetIAFrequency
, GetMaxTemperature
, GetTemperature
, and GetTDP
.
The sample data from ReadSample
can be logged to a file. Logging can be enabled at any time by calling StartLog, and subsequently disabled by calling StopLog. Note that the logged data isn’t written until StopLog is called. Both StartLog and StopLog cause an internal call to ReadSample.
Sampling Considerations
The frequency at which you read samples may have an impact on the accuracy of data. The instantaneous processor frequency can change significantly from moment to moment. Frequency data may be more meaningful if you sample often and average the frequency samples over time. The processor power is calculated by taking the difference between two samples, thus a shorter interval between samples will result in more fine-grained power data. However, the frequency at which you read samples may also impact the performance of the system. Using a very short frequency (e.g. less than 20 milliseconds) may result in significant overhead, and may also increase the power consumption of the system, both of which may reduce the usefulness of the data. The Intel® Power Gadget application uses a default sampling frequency of 50 milliseconds, and updates the GUI with averaged frequency and power data every second.
Example
Download the Xcode project for this example application here.
API Reference
Initializes the library and connects to the driver.
Returns the number of CPU packages on the system.
Returns the number of supported MSRs for bulk reading and logging.
Returns in szName the name of the MSR specified by iMsr. Note that the Windows version uses wchar_t.
Returns in pFuncID the function of the MSR specified by iMsrCurrently supported functions are: 0 = frequency, 1 = power, 2 = temperature.
Reads the MSR specified by address on the package specified by iNode, and returns the value in value. Warning: Specifying an invalid MSR address can crash your system and could potentially corrupt it. There is no method to determine if an MSR address is valid.
Reads the processor frequency MSR on the package specified by iNode, and returns the frequency in MHz in freqInMHz.
Reads the package power info MSR on the package specified by iNode, and returns the TDP in watts in TDP.
Reads the temperature target MSR on the package specified by iNode, and returns the maximum temperature in degrees Celsius in degreeC.
Reads the temperature MSR on the package specified by iNode, and returns the current temperature in degrees Celsius in degreeC.
Reads sample data from the driver for all the supported MSRs. Note that two calls to ReadSample are necessary to calculate power data, as power data is calculated using the difference between two samples.
Returns the system time as of the last call to ReadSample. The data returned in pSysTime is structured as follows:
pSysTime[63:32]
= time in seconds
pSysTime[31:0]
= time in nanoseconds
Returns in pTSC the processors time stamp counter as of the last call to ReadSample. Note that this function does not execute the rdtsc instruction directly, but instead returns the TSC from when the last sample was read.
Mac Os X For Intel Processors I5
Returns in pOffset the time in seconds that has elapsed between the two most recent calls to ReadSample.
Returns in pBaseFrequency the advertised processor frequency for the package specified by iNode.
Returns the data collected by the most recent call to ReadSample. The returned data is for the data on the package specified by iNode, from the MSR specified by iMSR. The data is returned in pResult, and the number of double results returned in pResult is returned in nResult. Frequency MSRs (function 0) return 1 result, which represents the frequency in megahertz. Power MSRs (function 1) return 3 results, which represent the average power in watts, cumulative energy in Joules, and cumulative energy in milliwatt-hours. Temperature MSRs (function 2) return 1 result, which represents the temperature in degrees Celsius.
Starts saving the data collected by ReadSample. When StopLog is called, this data will be written to the file specified by szFileName. Note that the Windows version uses wchar_t. StartLog will cause an initial call to ReadSample.
Stops saving data and writes all saved data to the file specified by the call to StartLog. StopLog will cause a final call to ReadSample.