You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When compiling with CUDA, RAJA and umpire, in my environment with gcc-7, CUDA 10, I noticed that the usage of getTagAllocator() in GriddingAlgorithm.C to initialize CellVariables will cause CUDA illegal memory access when filling those tag variables with GriddingAlgorithm::fillTags(). This causes the test sets failure as I mentioned in a previous issue. #175
The issue is caused by initialing tag data with tagAllocator, but filling it as a shared memory variable. Replacing getTagAllocator() with getDefaultAllocator() will temporary resolve this issue and pass all the tests, but I am not sure if this will bring some potential problems.
The text was updated successfully, but these errors were encountered:
ctian282
changed the title
Issues with getTagAllocator() in GriddingAlgorithm.C when enabling CUDA
Possible bug with getTagAllocator() in GriddingAlgorithm.C when enabling CUDA
Sep 8, 2021
ctian282
changed the title
Possible bug with getTagAllocator() in GriddingAlgorithm.C when enabling CUDA
Possible bug in using getTagAllocator() in GriddingAlgorithm.C when enabling CUDA
Sep 8, 2021
to force SAMRAI to use host allocation for GriddingAlgorithm you can run something like this on program startup (or sometime before the AllocatorDatabase is initialized)
The recent changes in #180 should fix the issue with the allocator you receive from getTagAllocator, as that will be a host allocator by default, and the kernels for CellData will stay on the host for the tag variables. In general you can reassign the resource for the allocators provided in tbox::AllocatorDatabase by using the syntax suggested here by @PhilipDeegan .
When compiling with CUDA, RAJA and umpire, in my environment with gcc-7, CUDA 10, I noticed that the usage of
getTagAllocator()
inGriddingAlgorithm.C
to initializeCellVariables
will cause CUDA illegal memory access when filling those tag variables withGriddingAlgorithm::fillTags()
. This causes the test sets failure as I mentioned in a previous issue. #175The issue is caused by initialing tag data with tagAllocator, but filling it as a shared memory variable. Replacing
getTagAllocator()
withgetDefaultAllocator()
will temporary resolve this issue and pass all the tests, but I am not sure if this will bring some potential problems.The text was updated successfully, but these errors were encountered: