Skip to content

New stime: bits #167

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 16 commits into from
Closed

New stime: bits #167

wants to merge 16 commits into from

Conversation

gonsie
Copy link
Member

@gonsie gonsie commented Sep 25, 2019

This adds a new implementation of stime, using the TW_STIME API. It adds a bit field to the stime object. Its use is demonstrated in the ross-matrix-models.

I’ll have to figure out a way to test this and increase coverage, maybe using the matrix models?


If this merge represents a feature addition to ROSS, the following items must be completed before the branch will be merged:

  • Document the feature on the blog (See the website Contributing guide).
    Include a link to your blog post in the Pull Request.
  • Builds should cleanly compile with -Wall and -Wextra.
  • One or more TravisCI tests should be created (and they should pass)
  • Through the TravisCI tests, coverage should increase
  • Test with CODES to ensure everything continues to work

caitlinross and others added 16 commits April 29, 2019 17:57
This commit fixes warnings when building with -Wall and -Wextra.  In addition, removes old unused code related to prior pthread versions of ROSS as well as removing the ROSS_MEMORY related code, due to no longer being fully functional.

* fixing warnings when building with Wall, etc

* fixing warnings in buddy.c

* fixing warnings in the rest of ROSS core

* fixing warnings in instrumentation

* fixing warnings with phold

* fixing undefined reference causing linking error

* adding warning flags to Travis builds

* fixing some additional warnings that appear in release builds

* minor changes to travis builds

* removing old, unnecessary pthread related code

* fixing ifdefs for ROSS_MEMORY

* removing tw-memory related stuff for now

* removing some unused stuff and unnecessary function arguments

* lots of documentation for network-mpi and removing some unnecessary stuff

* keeping the ROSS models submodule from being used in Travis tests

* minor fix for C++ Travis build

* adding installing phold to bin

* adding some RPATH commands to CMakeLists.txt for Spack

* removed ROSS-Models and template model submodule

* update readme for submodule details

* rpath in pkg-config

* adding develop branch to Travis safelist
* updating the way the version number is grabbed, so we can have the actual version and not the git commit

* fixing an error that caused coveralls to fail
* see if gcov and clang versions match

* maybe we should be using lcov... since we apt-get it

* whitespace

* what version is llvm-cov?

* use llvm-cov

* llvm-cov gcov

* remove cov version checks
… as well as having ROSS output both version number and commit, instead of just version
This commit adds support for the ARM v7 core architecture (armv7l) to ROSS
Timing. Note that because cycle counter from the PMU is not accessible
from userspace by default, a kernel module is required to enable that
feature. An example kernel module that achieves this can be found:

https://github.com/nmcglohon/armv7l-userspace-counter.git
New API for user defined tw_stime types.


* added TWOPT_DOUBLE type

* convert some global vars to be explicitly doubles

- gvt_print_interval (gvt/mpi_allreduce.h)
- percent_complete   (gvt/mpi_allreduce.h)
- g_tw_ts_end
- g_tw_lookahead
- g_tw_min_detected_offset

* start of TW_STIME API

3 API operations, implemented in #define
- TW_STIME_DBL(x) : convert tw_stime to double
- TW_STIME_CMP(x, y) : compare two tw_stime objects
- TW_STIME_ADD(x, y) : add two tw_stime objects into a new object
- TW_STIME_MAX : return a "max" tw_stime object (similar to DBL_MAX)

* convert ROSS over to TW_STIME API

* tw-opts: removed STIME opt, replaced with DOUBLE

* st_collect functions should use tw_clock (not tw_stime)

* instrumentation global vars should be doubles (not tw_stime)

* explicit use of ternary operator from ROSS_MIN for tw_stime

* one more instrumentation update

* removed ROSS_MIN with some code changes

* MPI_TYPE_TW_STIME and TW_STIME_CRT

* convert phold opts to DOUBLE (not STIME)

* tw_stime should have been changed to double, not tw_clock

For real-time reporting... not based on cycle counts

* Re-add STIME opt, with deprecation warning

Revert "tw-opts: removed STIME opt, replaced with DOUBLE"
This reverts commit 61b6ef8.

* explicit double cast for real time value

* proper double conversion
@gonsie
Copy link
Member Author

gonsie commented Sep 25, 2019

Aww shucks. I need to push this to develop 😢

@gonsie gonsie closed this Sep 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants