Initial commit.
This directory will hold my work for energy and performance prediction using the polyhedral model
* Adding README file.
Adding Support for RAPL

  * Check for RAPL support on this system.
  * Create event set for RAPL and registering events works.
  * Rnamed some vaiable names to tell CPU perf and RAPL counters apart.
Testing rapl functionality:

  RAPL collects ebergy values, tests case shows it is fine. need to add it to polybench suite.
Cleaning up

Removed the Output text files from the repo. will only kep the ones under the results folder.
Removed .swp files from previously open files.
Set up .gitignore files to ignore not needed text and swap files. Only include text files that represent results under the
Results folder.
Run tests at different sizes.

* Run the polybench benchmarks with different sizes (implemented in run_tests.py).
* Fixed Utils.h in matmul benchmark Initializing the input matrices assumed
  they were all square sized  of N*N.
* Ingnore all the txt files. I might change my mind again on a later stage.
Add cpu modeler

* Added initial regression for emergu consumption (train_models.py).
  - Results don't look good for now, I need better samples; details in my notes.

* Updated counters that are read by the papi_interface. Need to make that as an option.
* Added load_msr.sh. Loads the msr driver needed for use with RAPL.
Update experiments and modeling.

Updated the experiments, doing more than one run for each example.
Using scikit-learn for doing linear regression and building a model for
energy. Numbers can still be improved more.
Test commit.

Test commit to try pushing to a remote repo.
Adding the host_mic_power compnebt to the papi_interface

  Now reading the mic power using papi's host_micpowre component
  for offloaded codes.

  The component only readspower at the end (at least for now) I need
  to make it more flexible. It is unsable the way it is now !
Add exception handling and error logging

  Modified run_test.py to add meaningful messages for exception handling.
Pass the path for Polycc and PAPI_LIB

  In run tests, pass th path for PAPI installation and for polycc.
  need to make this read from a config file rather than being hardcoded.
Refactoring the papi interface.

  Separating the  three different components into separate files to make
  the library easier to maintain. added separate files for mic_interface
  and rapl_interface and cpu_interface.

  Future work might be to enable disable compilatoin for the components
  rapl/cpu/mic.
Read the MIC power directly through MICAccessSDK

  PAPI interface for linux_host_micpowr is repeatedly reading the power
  values every 500 ms, and when you query it it ends up giving you
  the last read instanteous power.
  Still need to add a thread to rad hte power constantly and save it.
Added a thredaed read for the power from the MIC

  Now the power redaing happens inside a thread and power values are
written to a storage. To add an integration function.
Integrating power values to get energy values

  Energy values are computed from 50ms averaged values from the MIC.
Modify makefile and fix timings

  All the counter components are included in the papi_interface.c file.
  Moved the start of timing to papi_interface.c from the cpu_interface.c
Added benchmarks for mic.

Added the folder mic-benchmarks which has the same polybench bencmarks
with the offload pragma added to move work to the MIC card. Now only
added to adi (not tested for correctness) and for jacobi-1d.

Fixed a printing statment in the mic_access_sdk print_to_file (was
missing a \t)
Updating the kernels to run on Xeon Phi

  Add pragma offload.
  Updating the template files to declare the arrays with _declspace_
Fixing templates for benchmarks runining on Phi

  * pragama declaration was causing the variables to not be
declared.Removed it from templates that had it.

  * Added intermediate files generateed by pluto the the ignore list.
  * Added the vim session file.