{"id":47792186,"url":"https://github.com/libpoet/bard","last_synced_at":"2026-04-03T15:49:07.511Z","repository":{"id":86211319,"uuid":"55084558","full_name":"libpoet/bard","owner":"libpoet","description":"Bard - an extension of POET","archived":false,"fork":false,"pushed_at":"2018-05-12T22:00:01.000Z","size":106,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-01-29T16:55:25.680Z","etag":null,"topics":["closed-loop-control","energy","feedback-controller","feedback-loop","feedback-systems","optimal","optimal-control","performance","portable","portable-library","samos2016","seec"],"latest_commit_sha":null,"homepage":"http://poet.cs.uchicago.edu/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libpoet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-03-30T17:50:48.000Z","updated_at":"2018-05-12T21:59:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"39c73f22-7147-4634-9bf4-cfbdbc5c5526","html_url":"https://github.com/libpoet/bard","commit_stats":{"total_commits":39,"total_committers":2,"mean_commits":19.5,"dds":"0.15384615384615385","last_synced_commit":"9bf0c402cc019ea1878feef3daad676c6da51ca8"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/libpoet/bard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libpoet%2Fbard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libpoet%2Fbard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libpoet%2Fbard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libpoet%2Fbard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libpoet","download_url":"https://codeload.github.com/libpoet/bard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libpoet%2Fbard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31360885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T15:19:21.178Z","status":"ssl_error","status_checked_at":"2026-04-03T15:19:20.670Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["closed-loop-control","energy","feedback-controller","feedback-loop","feedback-systems","optimal","optimal-control","performance","portable","portable-library","samos2016","seec"],"created_at":"2026-04-03T15:49:06.675Z","updated_at":"2026-04-03T15:49:07.497Z","avatar_url":"https://github.com/libpoet.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# POET - The Performance with Optimal Energy Toolkit\n\n[http://poet.cs.uchicago.edu/](http://poet.cs.uchicago.edu/)\n\nThe Performance with Optimal Energy Toolkit (POET) provides a means to monitor and adjust application performance while minimizing energy consumption during application runtime.\n\nBard is an extension of POET that adds support for monitoring and adjusting power consumption while maximizing performance.\n\nFor details, please see the following and reference as appropriate:\n\n* Connor Imes, David H. K. Kim, Martina Maggio, and Henry Hoffmann. \"POET: A Portable Approach to Minimizing Energy Under Soft Real-time Constraints\". In: RTAS. 2015.\n* Connor Imes and Henry Hoffmann. \"Bard: A Unified Framework for Managing Soft Timing and Power Constraints\". In: SAMOS. 2016.\n* Connor Imes, David H. K. Kim, Martina Maggio, and Henry Hoffmann. \"Portable Multicore Resource Management for Applications with Performance Constraints\". In: MCSoC. 2016.\n\nSee the `baseline-1.0` branch for the version of the API defined in these publications.\n\n\n## Dependencies\n\nThe POET library no longer has any direct dependencies, but some tests/examples depend on the following:\n\n* [heartbeats-simple](https://github.com/libheartbeats/heartbeats-simple)\n* [energymon](https://github.com/energymon/energymon)\n\nCMake will skip building some tests/examples if these dependencies are not found.\n\nThe `baseline-1.0` branch has a direct dependency on:\n\n* [Heartbeats 2.0](https://github.com/libheartbeats/heartbeats)\n\n\n## Building\n\nThis project uses CMake.\n\nTo build, run:\n\n``` sh\nmkdir _build\ncd _build\ncmake ..\nmake\n```\n\n\n## Running POET Examples\n\nRun the tests from the build directory:\n\n``` sh\n./[test_binary] [num_beats] [target_rate] [window_size]\n```\n\nThe num\\_beats is the number of total heartbeats the application will cycle\nthrough before exiting. The target_rate is the number of heartbeats per second,\nand the window size is the number of heartbeats used to calculate the heartbeat\nrate. It doesn't make sense to give the test binary a target heartbeat rate\nwithout knowing the normal heartbeat rate of the application on your system. To\nfind this, run:\n\n``` sh\n./[test_binary] [num_beats] 0 [window_size]\n```\n\nIf you aren't sure what parameters to use, a good place to start is 200 beats\nand a window size of 20.\n\n\n## Installing\n\nTo install, run with proper privileges:\n\n``` sh\nmake install\n```\n\nHeaders are installed to /usr/local/include/poet.\nThe library is installed to /usr/local/lib.\n\n\n## Uninstalling\n\nInstall must be run before uninstalling in order to have a manifest.\nTo uninstall, run with proper privileges:\n\n``` sh\nmake uninstall\n```\n\n\n## Directory Structure\n\n.  \n├── config    -- Default and example configuration files  \n├── inc       -- Header files  \n├── src       -- Source files  \n└── test      -- Test source files\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibpoet%2Fbard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibpoet%2Fbard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibpoet%2Fbard/lists"}