diff --git a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp index a41ed7b9a75dfd45c698dcbfad63e3f934b3d3c5..afb322267ab728fe8f373050296d7ed5a10d4b96 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 cf1314b1bffde1a38f016c7bc45b172757d22cdb..af937919aa1771733f711fdf5af5cae04c623f14 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 e33b9c9ce68c34ffe382fbb0c6f1bc6ec5aa05e8..718cccbbb2cc3438a123406ba5abc53426e04ac4 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);