Provide way to enable memcpy variants for testing
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 122
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
Commit 75543ec removed the commented out function `unifycr_memcpy()` shown below. @adammoody [commented](https://github.com/LLNL/UnifyCR/pull/51#issuecomment-353477379) in #51 that it was there to facilitate performance testing of different memcpy variants with different compilers and architectures. If this is still needed we should provide either a build-time or run-time method to enable such variants.
```c
/* simple memcpy which compilers should be able to vectorize
* from: http://software.intel.com/en-us/articles/memcpy-performance/
* icc -restrict -O3 ... */
static inline void *unifycr_memcpy(void *restrict b, const void *restrict a,
size_t n)
{
char *s1 = b;
const char *s2 = a;
for (; 0 < n; --n) {
*s1++ = *s2++;
}
return b;
}
```
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing commit 75543ec and the discussion in pull request #51 to understand why unifycr_memcpy() was removed and which variants need testing. Identify whether a build-time or run-time selection method fits the stated compiler and architecture testing goal; done means the variants can be enabled and compared without restoring an undocumented workaround.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- performance, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100