geopmpy


Namegeopmpy JSON
Version 3.0.1 PyPI version JSON
download
home_page
SummaryGEOPM - Global Extensible Open Power Manager Runtime Tools
upload_time2023-12-07 17:14:22
maintainer
docs_urlNone
author
requires_python>=3.6
licenseCopyright (c) 2015 - 2023, Intel Corporation Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Intel Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY LOG OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords runtime hardware telemetry configuration
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img src="https://geopm.github.io/images/geopm-banner.png" alt="GEOPM logo">

GEOPM - Global Extensible Open Power Manager
============================================

[![Build Status](https://github.com/geopm/geopm/actions/workflows/build.yml/badge.svg)](https://github.com/geopm/geopm/actions)
[![version](https://img.shields.io/badge/version-3.0.0-blue)](https://github.com/geopm/geopm/releases)
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)


Web Pages
---------
https://geopm.github.io <br>
https://geopm.github.io/service.html <br>
https://geopm.github.io/reference.html <br>
https://geopm.slack.com


Summary
-------

The Global Extensible Open Power Manager (GEOPM) is a collaborative
framework for exploring power and energy optimizations on
heterogeneous platforms. GEOPM is open-source (BSD licensed) and
developed to enable efficient power management and performance
optimizations. With this powerful tool, users are able to monitor
their system's energy and power consumption, and safely optimize
system hardware settings to achieve energy efficiency and/or
performance objectives.

With GEOPM you can:

- Interact with hardware settings and sensors using a
  platform-agnostic interface
- Restore changes to hardware settings when configuring process
  terminates
- Profile applications to study their power and energy behavior
- Automatically detect MPI and OpenMP phases in an application
- Optimize applications to improve energy efficiency or reduce the
  effects of work imbalance, system jitter, and manufacturing variation
  through built-in control algorithms
- Develop your own runtime control algorithms through the extensible
  plugin architecture


Repository Organization
-----------------------

The GEOPM repository supports two software packages: the
`geopm-service` package and the `geopm` package.  The `geopm-service`
package provides a Linux systemd service.  The `geopm` package
provides a runtime for distributed HPC applications.

- A build of the `geopm-service` package is required to build and run
  the `geopm` HPC runtime

- All `geopm-service` package features may be used independently of
  the features provided by the `geopm` package

- All run and build requirements of the `geopm-service` package are
  provided by commonly used Linux distributions

- The run and build requirements of the `geopm` package include
  several additional HPC specific dependencies


GEOPM Service
-------------

The files supporting the `geopm-service` package are all within the
`service` subdirectory located in the root directory of the the GEOPM
repository.  Please refer to the `service/README.rst` file for further
documentation about the GEOPM Service.  Additionally a comprehensive
overview of the GEOPM service is posted here:

https://geopm.github.io/service.html


GEOPM Runtime
-------------

The GEOPM Service provides a foundation for manipulating hardware
settings to optimize an objective defined by an unprivileged user.
The GEOPM Runtime is a software platform built on top of the GEOPM
Service that enables users to select a runtime algorithm and policy to
meet energy efficiency or performance objectives.  More documentation
on the GEOPM Runtime is posted with our web documentation here:

https://geopm.github.io/runtime.html


Guide for Contributors
----------------------

We appreciate all feedback on our project.  Please see our
contributing guide for how some guidelines on how to participate.
This guide is located in the root of the GEOPM repository in a file
called `CONTRIBUTING.rst`.  This guide can also be viewed here:

https://geopm.github.io/contrib.html


Guide for GEOPM Developers
--------------------------

GEOPM is an open development project and we use Github to plan, review
and test our work.  The process we follow is documented here:

https://geopm.github.io/devel.html

this web page provides a guide for developers wishing to modify source
code anywhere in the GEOPM repository for both the `geopm-service` and
the `geopm` packages.


Status
------

GEOPM version 3.0 enables the GEOPM Runtime to be used with any
application.  It shifts responsibility for managing inter-process
communication between the application and the GEOPM controller to the
GEOPM Service.  The start up of the GEOPM runtime is done by the
libgeopm library initialization rather than through interposition on
MPI initialization functions.

GEOPM version 2.0 provides a number of important changes since the
previous tagged release v1.1.0.  Some of the most significant new
features are the GEOPM Service, support for Intel and NVIDIA GPUs, and
improved consistency of signal and control names provided by
PlatformIO.  A wide range of other improvements have also been made,
including a higher performance profiling interface to support highly
parallel applications, and support for the ``isst_interface`` driver.

This software is production quality as of version 1.0.  We will be
enforcing [semantic versioning](https://semver.org/) for all releases
following version 1.0. Please refer to the ChangeLog for a high level
history of changes in each release.  The test coverage report from
gcov as reported by gcovr for the latest release are
[posted to our web page](http://geopm.github.io/coverage/index.html).

Some new features of GEOPM are still under development, and their
interfaces may change before they are included in official releases.
To enable these features in the GEOPM install location, configure
GEOPM with the `--enable-beta` configure flag.  The features currently
considered unfinalized are the endpoint interface, and the
`geopmendpoint` application.  The CPU-CA and GPU-CA agents are also
beta features.

The GEOPM developers are very interested in feedback from the
community.  See the [contributing guide](CONTRIBUTING.md) to learn how
to provide feedback.

License
-------

The GEOPM source code is distributed under the 3-clause BSD license.

SEE COPYING FILE FOR LICENSE INFORMATION.

Last Update
-----------
2023 October 17

Christopher Cantalupo <christopher.m.cantalupo@intel.com> <br>
Brad Geltz <brad.geltz@intel.com> <br>

ACKNOWLEDGMENTS
---------------
Development of the GEOPM software package has been partially funded
through contract B609815 with Argonne National Laboratory.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "geopmpy",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "Christopher Cantalupo <christopher.m.cantalupo@intel.com>, Brad Geltz <brad.geltz@intel.com>",
    "keywords": "runtime,hardware,telemetry,configuration",
    "author": "",
    "author_email": "Christopher Cantalupo <christopher.m.cantalupo@intel.com>, Brad Geltz <brad.geltz@intel.com>",
    "download_url": "https://files.pythonhosted.org/packages/33/35/d91f7a0b0b0904114ca6f68adab2a1c3769b8d9c4aa11fb00c06ff8a8c46/geopmpy-3.0.1.tar.gz",
    "platform": null,
    "description": "<img src=\"https://geopm.github.io/images/geopm-banner.png\" alt=\"GEOPM logo\">\n\nGEOPM - Global Extensible Open Power Manager\n============================================\n\n[![Build Status](https://github.com/geopm/geopm/actions/workflows/build.yml/badge.svg)](https://github.com/geopm/geopm/actions)\n[![version](https://img.shields.io/badge/version-3.0.0-blue)](https://github.com/geopm/geopm/releases)\n[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n\n\nWeb Pages\n---------\nhttps://geopm.github.io <br>\nhttps://geopm.github.io/service.html <br>\nhttps://geopm.github.io/reference.html <br>\nhttps://geopm.slack.com\n\n\nSummary\n-------\n\nThe Global Extensible Open Power Manager (GEOPM) is a collaborative\nframework for exploring power and energy optimizations on\nheterogeneous platforms. GEOPM is open-source (BSD licensed) and\ndeveloped to enable efficient power management and performance\noptimizations. With this powerful tool, users are able to monitor\ntheir system's energy and power consumption, and safely optimize\nsystem hardware settings to achieve energy efficiency and/or\nperformance objectives.\n\nWith GEOPM you can:\n\n- Interact with hardware settings and sensors using a\n  platform-agnostic interface\n- Restore changes to hardware settings when configuring process\n  terminates\n- Profile applications to study their power and energy behavior\n- Automatically detect MPI and OpenMP phases in an application\n- Optimize applications to improve energy efficiency or reduce the\n  effects of work imbalance, system jitter, and manufacturing variation\n  through built-in control algorithms\n- Develop your own runtime control algorithms through the extensible\n  plugin architecture\n\n\nRepository Organization\n-----------------------\n\nThe GEOPM repository supports two software packages: the\n`geopm-service` package and the `geopm` package.  The `geopm-service`\npackage provides a Linux systemd service.  The `geopm` package\nprovides a runtime for distributed HPC applications.\n\n- A build of the `geopm-service` package is required to build and run\n  the `geopm` HPC runtime\n\n- All `geopm-service` package features may be used independently of\n  the features provided by the `geopm` package\n\n- All run and build requirements of the `geopm-service` package are\n  provided by commonly used Linux distributions\n\n- The run and build requirements of the `geopm` package include\n  several additional HPC specific dependencies\n\n\nGEOPM Service\n-------------\n\nThe files supporting the `geopm-service` package are all within the\n`service` subdirectory located in the root directory of the the GEOPM\nrepository.  Please refer to the `service/README.rst` file for further\ndocumentation about the GEOPM Service.  Additionally a comprehensive\noverview of the GEOPM service is posted here:\n\nhttps://geopm.github.io/service.html\n\n\nGEOPM Runtime\n-------------\n\nThe GEOPM Service provides a foundation for manipulating hardware\nsettings to optimize an objective defined by an unprivileged user.\nThe GEOPM Runtime is a software platform built on top of the GEOPM\nService that enables users to select a runtime algorithm and policy to\nmeet energy efficiency or performance objectives.  More documentation\non the GEOPM Runtime is posted with our web documentation here:\n\nhttps://geopm.github.io/runtime.html\n\n\nGuide for Contributors\n----------------------\n\nWe appreciate all feedback on our project.  Please see our\ncontributing guide for how some guidelines on how to participate.\nThis guide is located in the root of the GEOPM repository in a file\ncalled `CONTRIBUTING.rst`.  This guide can also be viewed here:\n\nhttps://geopm.github.io/contrib.html\n\n\nGuide for GEOPM Developers\n--------------------------\n\nGEOPM is an open development project and we use Github to plan, review\nand test our work.  The process we follow is documented here:\n\nhttps://geopm.github.io/devel.html\n\nthis web page provides a guide for developers wishing to modify source\ncode anywhere in the GEOPM repository for both the `geopm-service` and\nthe `geopm` packages.\n\n\nStatus\n------\n\nGEOPM version 3.0 enables the GEOPM Runtime to be used with any\napplication.  It shifts responsibility for managing inter-process\ncommunication between the application and the GEOPM controller to the\nGEOPM Service.  The start up of the GEOPM runtime is done by the\nlibgeopm library initialization rather than through interposition on\nMPI initialization functions.\n\nGEOPM version 2.0 provides a number of important changes since the\nprevious tagged release v1.1.0.  Some of the most significant new\nfeatures are the GEOPM Service, support for Intel and NVIDIA GPUs, and\nimproved consistency of signal and control names provided by\nPlatformIO.  A wide range of other improvements have also been made,\nincluding a higher performance profiling interface to support highly\nparallel applications, and support for the ``isst_interface`` driver.\n\nThis software is production quality as of version 1.0.  We will be\nenforcing [semantic versioning](https://semver.org/) for all releases\nfollowing version 1.0. Please refer to the ChangeLog for a high level\nhistory of changes in each release.  The test coverage report from\ngcov as reported by gcovr for the latest release are\n[posted to our web page](http://geopm.github.io/coverage/index.html).\n\nSome new features of GEOPM are still under development, and their\ninterfaces may change before they are included in official releases.\nTo enable these features in the GEOPM install location, configure\nGEOPM with the `--enable-beta` configure flag.  The features currently\nconsidered unfinalized are the endpoint interface, and the\n`geopmendpoint` application.  The CPU-CA and GPU-CA agents are also\nbeta features.\n\nThe GEOPM developers are very interested in feedback from the\ncommunity.  See the [contributing guide](CONTRIBUTING.md) to learn how\nto provide feedback.\n\nLicense\n-------\n\nThe GEOPM source code is distributed under the 3-clause BSD license.\n\nSEE COPYING FILE FOR LICENSE INFORMATION.\n\nLast Update\n-----------\n2023 October 17\n\nChristopher Cantalupo <christopher.m.cantalupo@intel.com> <br>\nBrad Geltz <brad.geltz@intel.com> <br>\n\nACKNOWLEDGMENTS\n---------------\nDevelopment of the GEOPM software package has been partially funded\nthrough contract B609815 with Argonne National Laboratory.\n",
    "bugtrack_url": null,
    "license": "Copyright (c) 2015 - 2023, Intel Corporation  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  * Neither the name of Intel Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY LOG OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ",
    "summary": "GEOPM - Global Extensible Open Power Manager Runtime Tools",
    "version": "3.0.1",
    "project_urls": {
        "Documentation": "https://geopm.github.io/geopmpy.7.html",
        "Homepage": "https://geopm.github.io",
        "Source": "https://github.com/geopm/geopm/"
    },
    "split_keywords": [
        "runtime",
        "hardware",
        "telemetry",
        "configuration"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6f09fbd19cae20c218fd4dbe2192b6fbe4708e00a9ef0c86fdb4a670dc97f9c7",
                "md5": "c4174e23c5eed9d41847b24913ba979c",
                "sha256": "09716d84ef5aaf29d18ca90ef8ee96d3ac56cc2fd8cf6e55733285b0fccd524b"
            },
            "downloads": -1,
            "filename": "geopmpy-3.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c4174e23c5eed9d41847b24913ba979c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 6640,
            "upload_time": "2023-12-07T17:14:21",
            "upload_time_iso_8601": "2023-12-07T17:14:21.319626Z",
            "url": "https://files.pythonhosted.org/packages/6f/09/fbd19cae20c218fd4dbe2192b6fbe4708e00a9ef0c86fdb4a670dc97f9c7/geopmpy-3.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3335d91f7a0b0b0904114ca6f68adab2a1c3769b8d9c4aa11fb00c06ff8a8c46",
                "md5": "c61a7a0e01b1f0db9dc31febcd3c07cf",
                "sha256": "1268fc861d349fcc6f041fffc9e44ed3e5cc0b37d50bb2e481a7af2c051e9ca5"
            },
            "downloads": -1,
            "filename": "geopmpy-3.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c61a7a0e01b1f0db9dc31febcd3c07cf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 5971,
            "upload_time": "2023-12-07T17:14:22",
            "upload_time_iso_8601": "2023-12-07T17:14:22.882866Z",
            "url": "https://files.pythonhosted.org/packages/33/35/d91f7a0b0b0904114ca6f68adab2a1c3769b8d9c4aa11fb00c06ff8a8c46/geopmpy-3.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-07 17:14:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "geopm",
    "github_project": "geopm",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "geopmpy"
}
        
Elapsed time: 0.23910s