Conversation
adayton1
commented
Jul 19, 2023
- This is an experimental resource that could make RAJA allocations thread safe and stream aware
|
|
||
| GPU_TEST(CudaUmpireResource, AllocatorConstructor) | ||
| { | ||
| auto& rm = umpire::ResourceManager::getInstance(); |
There was a problem hiding this comment.
@neelakausik, essentially you will need to create a device pool, a pinned pool, and a unified memory pool per thread, then use those to create a resource per thread. The call to init_care_for_testing() above creates a GPU wide pool called "DEVICE_POOL" and another pool called "PINNED_POOL". Those should be the basis for the per thread device and pinned memory pools. On line 53 I create a GPU wide unified memory pool called "UM_POOL". You will need to create that manually in whatever test cases you have, then have that allocator be the basis for the per thread unified memory pool.
There was a problem hiding this comment.
You should test out this functionality in standalone CARE. Write some tests and benchmarks that involve RAJA reducers, scans, and CARE loops.