GPUifyLoops.jl icon indicating copy to clipboard operation
GPUifyLoops.jl copied to clipboard

CPU thread support?

Open simonbyrne opened this issue 6 years ago • 4 comments

Are we going to support the new CPU multithreading?

cc: @lcw

simonbyrne avatar Jul 23 '19 21:07 simonbyrne

Eventually :)

vchuravy avatar Aug 13 '19 14:08 vchuravy

@vchuravy you mentioned some issues to me about this during the hackathon. I recall that they were implementing shmem and scratch space. Can you elaborate a bit on these, and any others you can think about, for the benefit of the brave soul who chooses to take this one on?

jpsamaroo avatar Aug 13 '19 15:08 jpsamaroo

One place to look is libocca, https://libocca.org, which uses a similar kernel abstraction and has an OpenMP backend.

lcw avatar Aug 14 '19 22:08 lcw

Yes shared memory and scratch memory are both abstractions that currently rely on the GPU hardware to do the right thing. Shared memory is shared across a block and scratch memory is thread local.

I think I have also seen codes in Clima that will require more care so that will take a review.

vchuravy avatar Aug 15 '19 07:08 vchuravy