diff --git a/tests/BasicLbmScenarios/SimDomain.hpp b/tests/BasicLbmScenarios/SimDomain.hpp index 508adb9d38aa80e6ae1e71be9f6bab82b20fc56c..105e5d7b971007872db52c0c76c9f01555fbbe12 100644 --- a/tests/BasicLbmScenarios/SimDomain.hpp +++ b/tests/BasicLbmScenarios/SimDomain.hpp @@ -70,7 +70,7 @@ struct SimDomain const BlockDataID uId; } gpuFields; - GpuCommScheme commGpu; + std::unique_ptr< GpuCommScheme > commGpu; void initFromFields(const Vector3< real_t > force) { @@ -121,7 +121,7 @@ struct SimDomain void syncGhostLayers() { // WALBERLA_GPU_CHECK(gpuPeekAtLastError()); - commGpu(); + (*commGpu)(); } void fields2host() @@ -242,14 +242,13 @@ struct SimDomainBuilder const BlockDataID rhoIdGpu = gpu::addGPUFieldToStorage< ScalarField_T >(sbfs, rhoId, "rho_gpu"); const BlockDataID uIdGpu = gpu::addGPUFieldToStorage< VectorField_T >(sbfs, uId, "u_gpu"); - GpuCommScheme commGpu{ sbfs }; + auto commGpu = std::make_unique< GpuCommScheme >( sbfs ); auto gpuPdfsPackInfo = std::make_shared< GpuPdfsPackInfo >(pdfsIdGpu); - commGpu.addPackInfo(gpuPdfsPackInfo); + commGpu->addPackInfo(gpuPdfsPackInfo); // commCpu.addPackInfo(gpuPdfsPackInfo); #endif - return - { + return { .blocks = sbfs, // .cpuFields = { // .pdfsId = pdfsId, @@ -264,7 +263,7 @@ struct SimDomainBuilder .rhoId = rhoIdGpu, .uId = uIdGpu }, - .commGpu = commGpu + .commGpu = std::move(commGpu) #endif }; }