Remove launch from expt + add sycl backend + dynamic shared memory
Introduces the sycl backend for launch and dynamic shared memory (for all backends). This PR will introduce API changes.
- [x] Keep prototype of perfectly nested loop interface in expt.
Hi all,
I feel this PR might be in pretty good shape to start reviewing. I do want to propose an additional API change, should we change Teams -> Blocks in the Grid data structure to be more consistent with CUDA/HIP?
Second, I have a prototype for perfectly nested loops here, its not very flexible though, my thought was to remove what is in there and follow up with a proper implementation.
ping @MrBurmark , @rchen20 , @tomstitt , @rhornung67
To check out the dynamic shared memory I suggest looking at the following example: dynamic_mat_transpose.cpp It has support for seq/openmp/cuda/hip/sycl.
Second, I have a prototype for perfectly nested loops here, its not very flexible though, my thought was to remove what is in there and follow up with a proper implementation.
If its just a prototype you could leave it in expr perhaps?
Second, I have a prototype for perfectly nested loops here, its not very flexible though, my thought was to remove what is in there and follow up with a proper implementation.
If its just a prototype you could leave it in expr perhaps?
Yes, lets do that.
@MrBurmark @trws @homerdin @rhornung67 @rchen20 , this PR is ready for review.
There are a couple other experimental documentation sentences which should be removed or edited, and there are a couple
loopandtilepolicies still in the::exptnamespace. Otherwise, everything else looks good.
Thanks, yes the versions for perfectly nested loops will still be expt until we sort out the interface.
@artv3 I activated this branch on RTD so we can review the generated sphinx docs: https://readthedocs.org/projects/raja/versions/
The mac build timed out...
I reworked the headers in the atomics files, but it seems to be breaking some of the builds. Looking at ways to reproduce it locally.
We got a time out for the Docker nvcc11 build
I restarted the azure build that times out (some sort of 'read error') and restarted the lassen check that failed. It would be nice if we could add something to our test script to try re-running the tests if something fails but doesn't timeout -- we have some failures with certain tests that occur every once in a while.
yes!!! all green!
@artv3 the plan is to merge this before https://github.com/LLNL/RAJA/pull/1004. Do others want to take a final review pass before merging?
@artv3 the plan is to merge this before #1004. Do others want to take a final review pass before merging?
Either works, and yes please if folks have a second to take a look that would be great.
Did anyone else want to take a look?