diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8ea5821bc11333b97e4e63feff51cb7ae42db906..2fe366a821edc884a06b9e9f4c05ce95a407dcfb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2070,7 +2070,7 @@ msvc-14.2_mpionly: - mpirun --version - mkdir build - cd build - - cmake .. -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_TOOLS=ON -DWALBERLA_BUILD_WITH_MPI=$WALBERLA_BUILD_WITH_MPI -DWALBERLA_BUILD_WITH_PYTHON=$WALBERLA_BUILD_WITH_PYTHON -DWALBERLA_BUILD_WITH_CODEGEN=$WALBERLA_BUILD_WITH_CODEGEN -DWALBERLA_BUILD_WITH_OPENMP=$WALBERLA_BUILD_WITH_OPENMP -DWALBERLA_BUILD_WITH_CUDA=$WALBERLA_BUILD_WITH_CUDA -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DWARNING_ERROR=ON + - cmake .. -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_TOOLS=ON -DWALBERLA_BUILD_WITH_MPI=$WALBERLA_BUILD_WITH_MPI -DWALBERLA_BUILD_WITH_PYTHON=$WALBERLA_BUILD_WITH_PYTHON -DWALBERLA_BUILD_WITH_CODEGEN=$WALBERLA_BUILD_WITH_CODEGEN -DWALBERLA_BUILD_WITH_OPENMP=$WALBERLA_BUILD_WITH_OPENMP -DWALBERLA_BUILD_WITH_CUDA=$WALBERLA_BUILD_WITH_CUDA -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DWARNING_ERROR=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - cmake . -LA - make -j $NUM_BUILD_CORES -l $NUM_CORES - ctest -LE "$CTEST_EXCLUDE_LABELS|cuda" -C $CMAKE_BUILD_TYPE --output-on-failure -j $NUM_CORES -T Test @@ -2078,7 +2078,7 @@ msvc-14.2_mpionly: - pip3 install lxml - python3 cmake/ctest2junit.py build > report.xml tags: - - mac + - macmini artifacts: when: always reports: @@ -2094,7 +2094,7 @@ mac_Serial_Dbg: WALBERLA_BUILD_WITH_MPI: "OFF" WALBERLA_BUILD_WITH_OPENMP: "OFF" WALBERLA_BUILD_WITH_PYTHON: "ON" - WALBERLA_BUILD_WITH_CODEGEN: "OFF" + WALBERLA_BUILD_WITH_CODEGEN: "ON" mac_Serial: <<: *mac_build_definition @@ -2104,7 +2104,7 @@ mac_Serial: WALBERLA_BUILD_WITH_MPI: "OFF" WALBERLA_BUILD_WITH_OPENMP: "OFF" WALBERLA_BUILD_WITH_PYTHON: "ON" - WALBERLA_BUILD_WITH_CODEGEN: "OFF" + WALBERLA_BUILD_WITH_CODEGEN: "ON" mac_MpiOnly_Dbg: <<: *mac_build_definition @@ -2114,7 +2114,7 @@ mac_MpiOnly_Dbg: WALBERLA_BUILD_WITH_MPI: "ON" WALBERLA_BUILD_WITH_OPENMP: "OFF" WALBERLA_BUILD_WITH_PYTHON: "ON" - WALBERLA_BUILD_WITH_CODEGEN: "OFF" + WALBERLA_BUILD_WITH_CODEGEN: "ON" OMPI_MCA_btl: "self,tcp" mac_MpiOnly: @@ -2125,7 +2125,7 @@ mac_MpiOnly: WALBERLA_BUILD_WITH_MPI: "ON" WALBERLA_BUILD_WITH_OPENMP: "OFF" WALBERLA_BUILD_WITH_PYTHON: "ON" - WALBERLA_BUILD_WITH_CODEGEN: "OFF" + WALBERLA_BUILD_WITH_CODEGEN: "ON" OMPI_MCA_btl: "self,tcp" ############################################################################### diff --git a/tests/lbm/codegen/LbmPackInfoGenerationTest.py b/tests/lbm/codegen/LbmPackInfoGenerationTest.py index 5fab9c7abd75de925e619dd80254d66064576ec4..9e24470bbd5ba39177e758ac00fe94b4102da5e7 100644 --- a/tests/lbm/codegen/LbmPackInfoGenerationTest.py +++ b/tests/lbm/codegen/LbmPackInfoGenerationTest.py @@ -1,29 +1,30 @@ -from lbmpy.creationfunctions import create_lb_collision_rule, create_lb_update_rule +import pystencils as ps + +from lbmpy.creationfunctions import create_lb_update_rule, LBMConfig, LBMOptimisation from lbmpy.advanced_streaming import Timestep -from lbmpy.stencils import get_stencil +from lbmpy.enums import Method, Stencil +from lbmpy.stencils import LBStencil from pystencils_walberla import CodeGeneration, generate_pack_info_from_kernel from lbmpy_walberla.packinfo import generate_lb_pack_info from pystencils.field import Field with CodeGeneration() as ctx: + data_type = "float64" if ctx.double_accuracy else "float32" streaming_pattern = 'aa' - target = 'cpu' - stencil = get_stencil('D3Q19') - dim = len(stencil[0]) - values_per_cell = len(stencil) - collision_rule = create_lb_collision_rule(method='srt', stencil=stencil) - pdf_field = Field.create_generic('pdfs', dim, index_shape=(values_per_cell,), layout='fzyx') - optimization = { - 'symbolic_field': pdf_field, - 'target': target - } + target = ps.Target.CPU + stencil = LBStencil(Stencil.D3Q19) + + pdf_field = Field.create_generic('pdfs', stencil.D, index_shape=(stencil.Q,), layout='fzyx') + + lbm_config = LBMConfig(method=Method.SRT, stencil=stencil, streaming_pattern=streaming_pattern, + timestep=Timestep.ODD) + lbm_opt = LBMOptimisation(symbolic_field=pdf_field) # Generate PackInfo specifically for streaming pattern generate_lb_pack_info(ctx, 'AccessorBasedPackInfo', stencil, pdf_field, streaming_pattern=streaming_pattern, target=target, namespace='pystencils') # Generate reference using the alternating pull/push approach - update_rule_odd = create_lb_update_rule(collision_rule=collision_rule, optimization=optimization, - streaming_pattern=streaming_pattern, timestep=Timestep.ODD) + update_rule_odd = create_lb_update_rule(lbm_config=lbm_config, lbm_optimisation=lbm_opt) generate_pack_info_from_kernel(ctx, 'FromKernelPackInfoPull', update_rule_odd, kind='pull', target=target) generate_pack_info_from_kernel(ctx, 'FromKernelPackInfoPush', update_rule_odd, kind='push', target=target) diff --git a/tests/python_coupling/CMakeLists.txt b/tests/python_coupling/CMakeLists.txt index 81ab5fc723a5cdd4851a61c849ff3e662ef985a9..4eec405aa5901c5d3e90ae83162a5dcaf1bf8444 100644 --- a/tests/python_coupling/CMakeLists.txt +++ b/tests/python_coupling/CMakeLists.txt @@ -20,7 +20,7 @@ if (WALBERLA_BUILD_WITH_PYTHON) COMMAND $<TARGET_FILE:FieldExportTest> ${CMAKE_CURRENT_SOURCE_DIR}/FieldExportTest.py ) add_test( NAME PythonWalberlaTest - COMMAND python3 -m unittest discover waLBerla_tests/ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/python/) + COMMAND ${Python_EXECUTABLE} -m unittest discover waLBerla_tests/ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/python/) SET_TESTS_PROPERTIES(PythonWalberlaTest PROPERTIES ENVIRONMENT "PYTHONPATH=${CMAKE_BINARY_DIR}/apps/pythonmodule:$PYTHONPATH") endif()