{"id":18560787,"url":"https://github.com/eepp/epiphany-mem-ordering-test","last_synced_at":"2025-11-01T12:30:33.167Z","repository":{"id":34567141,"uuid":"38513133","full_name":"eepp/epiphany-mem-ordering-test","owner":"eepp","description":"Epiphany memory ordering test","archived":false,"fork":false,"pushed_at":"2015-07-03T22:39:04.000Z","size":96,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-26T11:07:19.473Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eepp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-03T22:38:19.000Z","updated_at":"2015-07-03T22:39:04.000Z","dependencies_parsed_at":"2022-09-04T06:50:12.776Z","dependency_job_id":null,"html_url":"https://github.com/eepp/epiphany-mem-ordering-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fepiphany-mem-ordering-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fepiphany-mem-ordering-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fepiphany-mem-ordering-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fepiphany-mem-ordering-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eepp","download_url":"https://codeload.github.com/eepp/epiphany-mem-ordering-test/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239287712,"owners_count":19613980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-06T22:04:35.202Z","updated_at":"2025-11-01T12:30:33.096Z","avatar_url":"https://github.com/eepp.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Epiphany memory ordering test\n\nThis is a simple test demonstrating that load operations using data\npreviously written do not always use the updated values on the Adapteva\nEpiphany E16G301 device.\n\n\n## Building\n\nOn the Parallella system itself, just run\n\n    make\n\nYou may specify a number of `nop` loops between the write access and\nthe subsequent read access by defining the `NOP_COUNT` environment\nvariable, e.g.:\n\n    make NOP_COUNT=15\n\n\n## Running\n\nStart the host program:\n\n    ./host\n\nLoad and start the Epiphany programs:\n\n    e-loader --start epi.srec 0 0 4 4\n\n\n## What happens?\n\nHost side:\n\n  1. A named shared memory region is allocated.\n  2. Every second, the program verifies the structures of each\n     Epiphany core. If a given structure has its error flag on,\n     the expected and read values are printed.\n\nEpiphany side:\n\n  1. The program attaches to the named shared memory region created\n     by the host side.\n  2. The appropriate structure for this core is retrieved.\n  3. In an infinite loop:\n     1. A value is stored at a location in shared memory, different\n        from the the current value at that location.\n     2. A configurable number of `nop` loops execute.\n     3. A value is read from the same location in shared memory.\n     4. Both written (expected) and read values are compared. If they\n        are different, the error flag for this core is set, and the\n        loop breaks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feepp%2Fepiphany-mem-ordering-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feepp%2Fepiphany-mem-ordering-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feepp%2Fepiphany-mem-ordering-test/lists"}