Introduce MemTag. Use it in SparseIndexList. Adapt codegen to use entities and views.
- Introduce the MemTag protocol (from my master's thesis) - Implement CUDA and HIP unified memory allocator - Adapt SparseIndexList to use memtags and select allocators according to them - Adapt codegen to use the entity/view pattern for all fields such that the block data ID of the SparseIndexList is now fully obscured - Make FreeSlipPipe test case run on GPU
Showing
- lib/CMakeLists.txt 3 additions, 0 deletionslib/CMakeLists.txt
- lib/walberla/experimental/Memory.hpp 4 additions, 0 deletionslib/walberla/experimental/Memory.hpp
- lib/walberla/experimental/lbm/IrregularFreeSlip.hpp 172 additions, 168 deletionslib/walberla/experimental/lbm/IrregularFreeSlip.hpp
- lib/walberla/experimental/memory/MemoryTags.hpp 68 additions, 0 deletionslib/walberla/experimental/memory/MemoryTags.hpp
- lib/walberla/experimental/memory/UnifiedMemoryAllocator.hpp 49 additions, 0 deletionslib/walberla/experimental/memory/UnifiedMemoryAllocator.hpp
- lib/walberla/experimental/sweep/SparseIndexList.hpp 79 additions, 70 deletionslib/walberla/experimental/sweep/SparseIndexList.hpp
- src/walberla/codegen/api.py 48 additions, 8 deletionssrc/walberla/codegen/api.py
- src/walberla/codegen/boundaries/hbb.py 6 additions, 6 deletionssrc/walberla/codegen/boundaries/hbb.py
- src/walberla/codegen/boundaries/linkwise.py 5 additions, 3 deletionssrc/walberla/codegen/boundaries/linkwise.py
- src/walberla/codegen/sweep.py 90 additions, 49 deletionssrc/walberla/codegen/sweep.py
- tests/BasicLbmScenarios/SimDomain.hpp 9 additions, 0 deletionstests/BasicLbmScenarios/SimDomain.hpp
- tests/BasicLbmScenarios/TestBasicLbmScenarios.cpp 17 additions, 14 deletionstests/BasicLbmScenarios/TestBasicLbmScenarios.cpp