From ec173bdc612ebb32e50c2d6b77983e3866ced215 Mon Sep 17 00:00:00 2001 From: Anna Wellmann <a.wellmann@tu-braunschweig.de> Date: Wed, 15 Sep 2021 10:23:36 +0200 Subject: [PATCH] Add some provisional tests for f to c pointers --- .../GridReaderGenerator/GridGenerator.cpp | 14 ++++++++++++++ .../VirtualFluids_GPU/GPU/CudaMemoryManager.cpp | 8 ++++++++ src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.h | 1 + 3 files changed, 23 insertions(+) diff --git a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp index a41ed7b9a..afb322267 100644 --- a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp +++ b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp @@ -960,6 +960,20 @@ void GridGenerator::allocArrays_OffsetScale() cudaMemoryManager->cudaCopyInterfaceFC(level); cudaMemoryManager->cudaCopyInterfaceOffCF(level); cudaMemoryManager->cudaCopyInterfaceOffFC(level); + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + + if (para->getUseStreams()) + cudaMemoryManager->cudaCheckInterfaceFCBulk(level); + + std::cout << "...Device " << std::endl; + std::cout << "old pointer " << para->getParD(level)->intFC.ICellFCC << std::endl; + std::cout << "border pointer (= old pointer) " << para->getParD(level)->intFCBorder.ICellFCC << std::endl; + std::cout << "bulk pointer new " << para->getParD(level)->intFCBulk.ICellFCC << std::endl; + std::cout << "sizeOld " << para->getParD(level)->K_FC << std::endl; + std::cout << "sizeNew " << para->getParD(level)->intFCBorder.kFC + para->getParD(level)->intFCBulk.kFC + << " = border " << para->getParD(level)->intFCBorder.kFC << " + bulk " + << para->getParD(level)->intFCBulk.kFC << std::endl; } } diff --git a/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.cpp b/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.cpp index cf1314b1b..af937919a 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.cpp +++ b/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.cpp @@ -1063,6 +1063,14 @@ void CudaMemoryManager::cudaCopyInterfaceFC(int lev) checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->intFC.ICellFCF, parameter->getParH(lev)->intFC.ICellFCF, parameter->getParH(lev)->mem_size_kFC, cudaMemcpyHostToDevice)); checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->intFC.ICellFCC, parameter->getParH(lev)->intFC.ICellFCC, parameter->getParH(lev)->mem_size_kFC, cudaMemcpyHostToDevice)); } +void CudaMemoryManager::cudaCheckInterfaceFCBulk(int lev) +{ + // only use for testing! + size_t memsize = sizeof(uint) * parameter->getParH(lev)->intFCBulk.kFC; + checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->intFCBulk.ICellFCC, parameter->getParH(lev)->intFCBulk.ICellFCC, memsize, cudaMemcpyDeviceToDevice)); + for (int i = 0; i < parameter->getParH(lev)->intFCBulk.kFC; i++) + printf("%d %d\n", i, parameter->getParH(lev)->intFCBulk.ICellFCC[i]); +} void CudaMemoryManager::cudaFreeInterfaceFC(int lev) { checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->intFC.ICellFCF)); diff --git a/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.h b/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.h index e33b9c9ce..718cccbbb 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.h +++ b/src/gpu/VirtualFluids_GPU/GPU/CudaMemoryManager.h @@ -149,6 +149,7 @@ public: void cudaAllocInterfaceFC(int lev); void cudaCopyInterfaceFC(int lev); + void cudaCheckInterfaceFCBulk(int lev); void cudaFreeInterfaceFC(int lev); void cudaAllocInterfaceOffCF(int lev); -- GitLab