UoB-HPC / BabelStream

STREAM, for lots of devices written in many programming models
Other
313 stars 109 forks source link

Remove AdaptiveCpp workaround in dpl_shim.h to allow for automatic pefetch #180

Closed illuhad closed 5 months ago

illuhad commented 7 months ago

To my knowledge, the AdaptiveCpp-specific workaround in dpl_shim.h is no longer necessary as the linking issue was fixed some time ago.

Additionally, this workaround prevents a new optmization in AdaptiveCpp stdpar from taking place: AdaptiveCpp stdpar can now emit automatic data prefetches. But this only works, if the data is managed by the stdpar runtime, which tracks pointers it knows. If sycl::malloc_shared is used directly, the stdpar optimizations do not recognize the pointer and won't apply the optimization. (the reasoning being that if someone calls SYCL functionality directly, they might want to exert more control and emit prefetches or mem_advise operations by themselves).

Other projects which also use this header like cloverleaf are also affected. Will create a PR there too.

illuhad commented 6 months ago

@tomdeakin Is this okay now? It addresses your feedback from #177.

tomdeakin commented 6 months ago

Looks good, thanks @illuhad. As long as the CI comes back OK I'll merge. Thanks!

illuhad commented 5 months ago

CI looks good to me @tomdeakin :)