RAJA icon indicating copy to clipboard operation
RAJA copied to clipboard

Remove launch from expt + add sycl backend + dynamic shared memory

Open artv3 opened this issue 3 years ago • 4 comments

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.

artv3 avatar May 26 '22 19:05 artv3

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

artv3 avatar Sep 29 '22 18:09 artv3

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.

artv3 avatar Sep 29 '22 18:09 artv3

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?

MrBurmark avatar Sep 29 '22 21:09 MrBurmark

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.

artv3 avatar Sep 29 '22 21:09 artv3

@MrBurmark @trws @homerdin @rhornung67 @rchen20 , this PR is ready for review.

artv3 avatar Oct 13 '22 17:10 artv3

There are a couple other experimental documentation sentences which should be removed or edited, and there are a couple loop and tile policies still in the ::expt namespace. Otherwise, everything else looks good.

Thanks, yes the versions for perfectly nested loops will still be expt until we sort out the interface.

artv3 avatar Oct 13 '22 22:10 artv3

@artv3 I activated this branch on RTD so we can review the generated sphinx docs: https://readthedocs.org/projects/raja/versions/

rhornung67 avatar Oct 14 '22 19:10 rhornung67

The mac build timed out...

artv3 avatar Oct 14 '22 23:10 artv3

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.

artv3 avatar Oct 14 '22 23:10 artv3

We got a time out for the Docker nvcc11 build

artv3 avatar Oct 17 '22 22:10 artv3

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.

rhornung67 avatar Oct 17 '22 22:10 rhornung67

yes!!! all green!

artv3 avatar Oct 18 '22 00:10 artv3

@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?

rhornung67 avatar Oct 18 '22 16:10 rhornung67

@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.

artv3 avatar Oct 18 '22 16:10 artv3

Did anyone else want to take a look?

artv3 avatar Oct 18 '22 21:10 artv3