summaryrefslogtreecommitdiffstats
path: root/tools/profiler/core/IntelPowerGadget.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/profiler/core/IntelPowerGadget.h')
-rw-r--r--tools/profiler/core/IntelPowerGadget.h150
1 files changed, 0 insertions, 150 deletions
diff --git a/tools/profiler/core/IntelPowerGadget.h b/tools/profiler/core/IntelPowerGadget.h
deleted file mode 100644
index 4a24215b6..000000000
--- a/tools/profiler/core/IntelPowerGadget.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright 2013, Intel Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Author: Joe Olivas <joseph.k.olivas@intel.com>
- */
-
-#ifndef profiler_IntelPowerGadget_h
-#define profiler_IntelPowerGadget_h
-
-#ifdef _MSC_VER
-typedef __int32 int32_t;
-typedef unsigned __int32 uint32_t;
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-#else
-#include <stdint.h>
-#endif
-#include "prlink.h"
-
-typedef int (*IPGInitialize) ();
-typedef int (*IPGGetNumNodes) (int *nNodes);
-typedef int (*IPGGetNumMsrs) (int *nMsr);
-typedef int (*IPGGetMsrName) (int iMsr, wchar_t *szName);
-typedef int (*IPGGetMsrFunc) (int iMsr, int *pFuncID);
-typedef int (*IPGReadMSR) (int iNode, unsigned int address, uint64_t *value);
-typedef int (*IPGWriteMSR) (int iNode, unsigned int address, uint64_t value);
-typedef int (*IPGGetIAFrequency) (int iNode, int *freqInMHz);
-typedef int (*IPGGetTDP) (int iNode, double *TDP);
-typedef int (*IPGGetMaxTemperature) (int iNode, int *degreeC);
-typedef int (*IPGGetThresholds) (int iNode, int *degree1C, int *degree2C);
-typedef int (*IPGGetTemperature) (int iNode, int *degreeC);
-typedef int (*IPGReadSample) ();
-typedef int (*IPGGetSysTime) (void *pSysTime);
-typedef int (*IPGGetRDTSC) (uint64_t *pTSC);
-typedef int (*IPGGetTimeInterval) (double *pOffset);
-typedef int (*IPGGetBaseFrequency) (int iNode, double *pBaseFrequency);
-typedef int (*IPGGetPowerData) (int iNode, int iMSR, double *pResult, int *nResult);
-typedef int (*IPGStartLog) (wchar_t *szFileName);
-typedef int (*IPGStopLog) ();
-
-#if defined(__x86_64__) || defined(__x86_64) || defined(_M_AMD64)
-#define PG_LIBRARY_NAME "EnergyLib64"
-#else
-#define PG_LIBRARY_NAME "EnergyLib32"
-#endif
-
-
-class IntelPowerGadget
-{
-public:
-
- IntelPowerGadget();
- ~IntelPowerGadget();
-
- // Fails if initialization is incomplete
- bool Init();
-
- // Returns the number of packages on the system
- int GetNumberNodes();
-
- // Returns the number of MSRs being tracked
- int GetNumberMsrs();
-
- // Given a node, returns the temperature
- int GetCPUFrequency(int);
-
- // Returns the TDP of the given node
- double GetTdp(int);
-
- // Returns the maximum temperature for the given node
- int GetMaxTemp(int);
-
- // Returns the current temperature in degrees C
- // of the given node
- int GetTemp(int);
-
- // Takes a sample of data. Must be called before
- // any current data is retrieved.
- int TakeSample();
-
- // Gets the timestamp of the most recent sample
- uint64_t GetRdtsc();
-
- // returns number of seconds between the last
- // two samples
- double GetInterval();
-
- // Returns the base frequency for the given node
- double GetCPUBaseFrequency(int node);
-
- // Returns the combined package power for all
- // packages on the system for the last sample.
- double GetTotalPackagePowerInWatts();
- double GetPackagePowerInWatts(int node);
-
- // Returns the combined CPU power for all
- // packages on the system for the last sample.
- // If the reading is not available, returns 0.0
- double GetTotalCPUPowerInWatts();
- double GetCPUPowerInWatts(int node);
-
- // Returns the combined GPU power for all
- // packages on the system for the last sample.
- // If the reading is not available, returns 0.0
- double GetTotalGPUPowerInWatts();
- double GetGPUPowerInWatts(int node);
-
-private:
-
- PRLibrary *libpowergadget;
- IPGInitialize Initialize;
- IPGGetNumNodes GetNumNodes;
- IPGGetNumMsrs GetNumMsrs;
- IPGGetMsrName GetMsrName;
- IPGGetMsrFunc GetMsrFunc;
- IPGReadMSR ReadMSR;
- IPGWriteMSR WriteMSR;
- IPGGetIAFrequency GetIAFrequency;
- IPGGetTDP GetTDP;
- IPGGetMaxTemperature GetMaxTemperature;
- IPGGetThresholds GetThresholds;
- IPGGetTemperature GetTemperature;
- IPGReadSample ReadSample;
- IPGGetSysTime GetSysTime;
- IPGGetRDTSC GetRDTSC;
- IPGGetTimeInterval GetTimeInterval;
- IPGGetBaseFrequency GetBaseFrequency;
- IPGGetPowerData GetPowerData;
- IPGStartLog StartLog;
- IPGStopLog StopLog;
-
- int packageMSR;
- int cpuMSR;
- int freqMSR;
- int tempMSR;
-};
-
-#endif // profiler_IntelPowerGadget_h