advectionDiffusionPipe3d example gpu compiling error
OpenLB – Open Source Lattice Boltzmann Code › Forums › on OpenLB › General Topics › advectionDiffusionPipe3d example gpu compiling error
- This topic has 3 replies, 2 voices, and was last updated 4 months, 3 weeks ago by Adrian.
-
AuthorPosts
-
April 25, 2024 at 5:49 am #8513hhanParticipant
My gpu is RTX 4070 and i use the gpu_only.mk config file. And when i compile the example advectionDiffusionPipe3d, some errors occur. the errors message are as follows:
make -C ../../../external
make[1]: Entering directory ‘/home/hhan/olb-1.7r0/external’
make -C zlib
make[2]: Entering directory ‘/home/hhan/olb-1.7r0/external/zlib’
make[2]: Nothing to be done for ‘all’.
make[2]: Leaving directory ‘/home/hhan/olb-1.7r0/external/zlib’
cp zlib/build/libz.a lib/
make -C tinyxml
make[2]: Entering directory ‘/home/hhan/olb-1.7r0/external/tinyxml’
make[2]: Nothing to be done for ‘all’.
make[2]: Leaving directory ‘/home/hhan/olb-1.7r0/external/tinyxml’
cp tinyxml/build/libtinyxml.a lib/
make[1]: Leaving directory ‘/home/hhan/olb-1.7r0/external’
make -C ../../.. core
make[1]: Entering directory ‘/home/hhan/olb-1.7r0’
make[1]: Nothing to be done for ‘core’.
make[1]: Leaving directory ‘/home/hhan/olb-1.7r0’
nvcc -O3 -std=c++17 –forward-unknown-to-host-compiler -pthread –forward-unknown-to-host-compiler -x cu -O3 -std=c++17 –generate-code=arch=compute_87,code=[compute_87,sm_87] –extended-lambda –expt-relaxed-constexpr -rdc=true -Xcudafe “–diag_suppress=implicit_return_from_non_void_function –display_error_number –diag_suppress=20014 –diag_suppress=20011” -DPLATFORM_CPU_SISD -DPLATFORM_GPU_CUDA -DDEFAULT_FLOATING_POINT_TYPE=float -I../../../src -I../../../external/zlib -I../../../external/tinyxml -c -o advectionDiffusionPipe3d.o advectionDiffusionPipe3d.cpp
../../../src/utilities/typeIndexedContainers.h(189): warning #20012-D: __device__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration../../../src/utilities/typeIndexedContainers.h(189): warning #20012-D: __host__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
../../../src/utilities/typeIndexedContainers.h(190): warning #20012-D: __device__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
../../../src/utilities/typeIndexedContainers.h(190): warning #20012-D: __host__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
../../../src/utilities/typeIndexedContainers.h(191): warning #20012-D: __device__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
../../../src/utilities/typeIndexedContainers.h(191): warning #20012-D: __host__ annotation is ignored on a function(“TypeIndexedTuple”) that is explicitly defaulted on its first declaration
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL_WITH_ANTIDIFFUSIVITY> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL_WITH_ANTIDIFFUSIVITY> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL_WITH_ANTIDIFFUSIVITY> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL_WITH_ANTIDIFFUSIVITY> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL_WITH_ANTIDIFFUSIVITY> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL_WITH_ANTIDIFFUSIVITY> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL_WITH_ANTIDIFFUSIVITY> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL_WITH_ANTIDIFFUSIVITY> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL_WITH_ANTIDIFFUSIVITY> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND_2_ORDER> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND_2_ORDER> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND_2_ORDER> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND_2_ORDER> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND_2_ORDER> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND_2_ORDER> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D” is undefined in device code
../../../src/core/platform/gpu/cuda/operator.hh(169): error: calling a __host__ function(“olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND_2_ORDER> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D()”) from a __device__ function(“olb::gpu::cuda::ListedPostProcessorWithParameters<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND_2_ORDER> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> > ::operator ()”) is not allowed
../../../src/core/platform/gpu/cuda/operator.hh(169): error: identifier “olb::FdBoundaryPostProcessor3D<float, ::olb::descriptors::D3Q19< ::olb::descriptors::AD_FIELD, ::olb::descriptors::EUL2LAGR, ::olb::descriptors::NORMAL_X, ::olb::descriptors::NORMAL_Y, ::olb::descriptors::NORMAL_Z > , ::olb::FdAdvectionDiffusionModel<float, ::olb::fd::AdvectionScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND_2_ORDER> , ::olb::fd::DiffusionScheme<(unsigned int)3u, float, ::olb::fd::tag::CENTRAL> > , ::olb::fd::AdNeumannZeroBoundaryScheme<(unsigned int)3u, float, ::olb::fd::tag::UPWIND> , ::olb::meta::list< ::olb::fd::fdParams::Timestep, ::olb::fd::fdParams::AntiDiffusivityTuning, ::olb::fd::fdParams::Diffusivity > , ::olb::descriptors::AD_FIELD, void> ::FdBoundaryPostProcessor3D” is undefined in device code
24 errors detected in the compilation of “advectionDiffusionPipe3d.cpp”.
make: *** [../../../default.single.mk:35: advectionDiffusionPipe3d.o] Error 1How can i solve this? And i didn’t find the error message in other cases.
Looking forward to the reply, thank you!April 25, 2024 at 8:50 am #8515AdrianKeymasterSome post processors used in this example case are not yet adapted to the new GPU-supporting style. You can see a list of all fully supported examples in the release notes.
April 25, 2024 at 9:10 am #8516hhanParticipantThank you!
And could please tell me how can i run it? Compiling it in cpu model or modifying the post processor parts in this case is optional?April 25, 2024 at 9:13 am #8517AdrianKeymasterIf you want to run it without modification you will need to compile it for CPU (OpenMP and MPI are of course still supported).
You are also welcome to adapt the post processors to the operator style, see e.g. the user guide FAQ section for an introduction to this new style introduced in OpenLB 1.5.
-
AuthorPosts
- You must be logged in to reply to this topic.