Paraview 5.12 prep (#40527)
* paraview: rebase the adios2 patch for 5.12-to-be * paraview: disable fastfloat and token for 5.12-to-be * paraview: require older protobuf for 5.12 as well * paraview: require C++11-supporting protobuf for `master` too
This commit is contained in:
parent
3c590ad071
commit
8e19576ec5
2 changed files with 241 additions and 3 deletions
|
@ -226,8 +226,10 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
depends_on("protobuf@3.4:3.18", when="@:5.10%xl")
|
depends_on("protobuf@3.4:3.18", when="@:5.10%xl")
|
||||||
depends_on("protobuf@3.4:3.18", when="@:5.10%xl_r")
|
depends_on("protobuf@3.4:3.18", when="@:5.10%xl_r")
|
||||||
# protobuf requires newer abseil-cpp, which in turn requires C++14,
|
# protobuf requires newer abseil-cpp, which in turn requires C++14,
|
||||||
# but paraview uses C++11 by default
|
# but paraview uses C++11 by default. Use for 5.11+ until ParaView updates
|
||||||
depends_on("protobuf@3.4:3.21", when="@:5.11")
|
# its C++ standard level.
|
||||||
|
depends_on("protobuf@3.4:3.21", when="@5.11:")
|
||||||
|
depends_on("protobuf@3.4:3.21", when="@master")
|
||||||
depends_on("libxml2")
|
depends_on("libxml2")
|
||||||
depends_on("lz4")
|
depends_on("lz4")
|
||||||
depends_on("xz")
|
depends_on("xz")
|
||||||
|
@ -280,7 +282,9 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
|
|
||||||
# Fix IOADIOS2 module to work with kits
|
# Fix IOADIOS2 module to work with kits
|
||||||
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8653
|
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8653
|
||||||
patch("vtk-adios2-module-no-kit.patch", when="@5.8:")
|
patch("vtk-adios2-module-no-kit.patch", when="@5.8:5.11")
|
||||||
|
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8653
|
||||||
|
patch("vtk-adios2-module-no-kit-5.12.patch", when="@5.12:")
|
||||||
|
|
||||||
# Patch for paraview 5.9.0%xl_r
|
# Patch for paraview 5.9.0%xl_r
|
||||||
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7591
|
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7591
|
||||||
|
@ -426,6 +430,10 @@ def nvariant_bool(feature):
|
||||||
self.define_from_variant("VISIT_BUILD_READER_Silo", "visitbridge"),
|
self.define_from_variant("VISIT_BUILD_READER_Silo", "visitbridge"),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if spec.satisfies("@5.12:"):
|
||||||
|
cmake_args.append("-DVTK_MODULE_USE_EXTERNAL_VTK_fast_float:BOOL=OFF")
|
||||||
|
cmake_args.append("-DVTK_MODULE_USE_EXTERNAL_VTK_token:BOOL=OFF")
|
||||||
|
|
||||||
if spec.satisfies("@5.11:"):
|
if spec.satisfies("@5.11:"):
|
||||||
cmake_args.append("-DVTK_MODULE_USE_EXTERNAL_VTK_verdict:BOOL=OFF")
|
cmake_args.append("-DVTK_MODULE_USE_EXTERNAL_VTK_verdict:BOOL=OFF")
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,230 @@
|
||||||
|
diff --git a/VTK/IO/ADIOS2/CMakeLists.txt b/VTK/IO/ADIOS2/CMakeLists.txt
|
||||||
|
index 86c6d49cc4f..07b1d4fe0ef 100644
|
||||||
|
--- a/VTK/IO/ADIOS2/CMakeLists.txt
|
||||||
|
+++ b/VTK/IO/ADIOS2/CMakeLists.txt
|
||||||
|
@@ -1,9 +1,9 @@
|
||||||
|
vtk_module_find_package(PRIVATE_IF_SHARED
|
||||||
|
PACKAGE ADIOS2
|
||||||
|
VERSION 2.4)
|
||||||
|
-if (VTK_USE_MPI AND NOT ADIOS2_HAVE_MPI)
|
||||||
|
+if (TARGET VTK::ParallelMPI AND NOT ADIOS2_HAVE_MPI)
|
||||||
|
message(FATAL_ERROR "VTK built with MPI requires ADIOS2 built with MPI")
|
||||||
|
-elseif(NOT VTK_USE_MPI AND ADIOS2_HAVE_MPI)
|
||||||
|
+elseif(NOT TARGET VTK::ParallelMPI AND ADIOS2_HAVE_MPI)
|
||||||
|
message(FATAL_ERROR "VTK built without MPI requires ADIOS2 built without MPI")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
@@ -18,38 +18,30 @@ set(classes_core vtkADIOS2CoreImageReader)
|
||||||
|
set(private_classes_core Core/vtkADIOS2CoreArraySelection)
|
||||||
|
set(private_headers_core Core/vtkADIOS2CoreTypeTraits.h)
|
||||||
|
set(private_templates_core)
|
||||||
|
-set(vtk_io_adios2_core_enabled TRUE CACHE INTERNAL "" FORCE)
|
||||||
|
|
||||||
|
-if (vtk_io_adios2_core_enabled)
|
||||||
|
- list(APPEND classes ${classes_core})
|
||||||
|
- list(APPEND private_classes ${private_classes_core})
|
||||||
|
- list(APPEND private_headers ${private_headers_core})
|
||||||
|
- list(APPEND private_templates ${private_templates_core})
|
||||||
|
-endif()
|
||||||
|
+list(APPEND classes ${classes_core})
|
||||||
|
+list(APPEND private_classes ${private_classes_core})
|
||||||
|
+list(APPEND private_headers ${private_headers_core})
|
||||||
|
+list(APPEND private_templates ${private_templates_core})
|
||||||
|
+
|
||||||
|
+# Build VTX Schema for Parallel
|
||||||
|
+if (TARGET VTK::ParallelMPI)
|
||||||
|
+ set(classes_vtx vtkADIOS2VTXReader)
|
||||||
|
+ set(private_classes_vtx
|
||||||
|
+ VTX/VTXSchemaManager
|
||||||
|
+ VTX/common/VTXDataArray
|
||||||
|
+ VTX/common/VTXHelper
|
||||||
|
+ VTX/schema/VTXSchema
|
||||||
|
+ VTX/schema/vtk/VTXvtkBase
|
||||||
|
+ VTX/schema/vtk/VTXvtkVTI
|
||||||
|
+ VTX/schema/vtk/VTXvtkVTU)
|
||||||
|
+ set(private_headers_vtx VTX/common/VTXTypes.h)
|
||||||
|
+ set(private_templates_vtx
|
||||||
|
+ VTX/common/VTXHelper.txx
|
||||||
|
+ VTX/schema/VTXSchema.txx
|
||||||
|
+ VTX/schema/vtk/VTXvtkVTI.txx
|
||||||
|
+ VTX/schema/vtk/VTXvtkVTU.txx)
|
||||||
|
|
||||||
|
-set(classes_vtx vtkADIOS2VTXReader)
|
||||||
|
-set(private_classes_vtx
|
||||||
|
- VTX/VTXSchemaManager
|
||||||
|
- VTX/common/VTXDataArray
|
||||||
|
- VTX/common/VTXHelper
|
||||||
|
- VTX/schema/VTXSchema
|
||||||
|
- VTX/schema/vtk/VTXvtkBase
|
||||||
|
- VTX/schema/vtk/VTXvtkVTI
|
||||||
|
- VTX/schema/vtk/VTXvtkVTU)
|
||||||
|
-set(private_headers_vtx VTX/common/VTXTypes.h)
|
||||||
|
-set(private_templates_vtx
|
||||||
|
- VTX/common/VTXHelper.txx
|
||||||
|
- VTX/schema/VTXSchema.txx
|
||||||
|
- VTX/schema/vtk/VTXvtkVTI.txx
|
||||||
|
- VTX/schema/vtk/VTXvtkVTU.txx)
|
||||||
|
-
|
||||||
|
-if (VTK_USE_MPI)
|
||||||
|
- set(vtk_io_adios2_vtx_enabled TRUE CACHE INTERNAL "" FORCE)
|
||||||
|
-else ()
|
||||||
|
- set(vtk_io_adios2_vtx_enabled FALSE CACHE INTERNAL "" FORCE)
|
||||||
|
-endif()
|
||||||
|
-
|
||||||
|
-if (vtk_io_adios2_vtx_enabled)
|
||||||
|
list(APPEND classes ${classes_vtx})
|
||||||
|
list(APPEND private_classes ${private_classes_vtx})
|
||||||
|
list(APPEND private_headers ${private_headers_vtx})
|
||||||
|
@@ -63,10 +55,6 @@ vtk_module_add_module(VTK::IOADIOS2
|
||||||
|
PRIVATE_TEMPLATES ${private_templates})
|
||||||
|
vtk_module_link(VTK::IOADIOS2 PRIVATE adios2::adios2)
|
||||||
|
|
||||||
|
-if (ADIOS2_HAVE_MPI)
|
||||||
|
- vtk_module_definitions(VTK::IOADIOS2 PRIVATE IOADIOS2_HAVE_MPI)
|
||||||
|
-endif ()
|
||||||
|
-
|
||||||
|
if (ADIOS2_VERSION VERSION_GREATER_EQUAL "2.8.0")
|
||||||
|
vtk_module_definitions(VTK::IOADIOS2 PRIVATE IOADIOS2_BP5_RANDOM_ACCESS)
|
||||||
|
endif ()
|
||||||
|
diff --git a/VTK/IO/ADIOS2/Testing/Cxx/CMakeLists.txt b/VTK/IO/ADIOS2/Testing/Cxx/CMakeLists.txt
|
||||||
|
index 1534a1e7271..29c51970daf 100644
|
||||||
|
--- a/VTK/IO/ADIOS2/Testing/Cxx/CMakeLists.txt
|
||||||
|
+++ b/VTK/IO/ADIOS2/Testing/Cxx/CMakeLists.txt
|
||||||
|
@@ -2,40 +2,34 @@ find_package(ADIOS2 2.4 REQUIRED
|
||||||
|
COMPONENTS CXX
|
||||||
|
OPTIONAL_COMPONENTS MPI)
|
||||||
|
|
||||||
|
-if (ADIOS2_HAVE_MPI)
|
||||||
|
- if (vtk_io_adios2_core_enabled)
|
||||||
|
- set(TestADIOS2BPReaderSingleTimeStep_NUMPROCS 2)
|
||||||
|
+if (TARGET VTK::ParallelMPI)
|
||||||
|
+ set(TestADIOS2BPReaderSingleTimeStep_NUMPROCS 2)
|
||||||
|
# For now vtkMultiBlockVolumeMapper does not support rendering in parallel
|
||||||
|
- set(TestADIOS2BPReaderMultiTimeSteps_NUMPROCS 2)
|
||||||
|
- set(TestADIOS2BPReaderMultiTimeSteps2D_NUMPROCS 2)
|
||||||
|
- vtk_add_test_mpi(vtkIOADIOS2CxxTests-MPI mpiTests TESTING_DATA
|
||||||
|
- TestADIOS2BPReaderMPISingleTimeStep.cxx
|
||||||
|
- TestADIOS2BPReaderMPIMultiTimeSteps3D.cxx,NO_VALID
|
||||||
|
- TestADIOS2BPReaderMPIMultiTimeSteps2D.cxx)
|
||||||
|
- vtk_test_cxx_executable(vtkIOADIOS2CxxTests-MPI mpiTests)
|
||||||
|
- endif()
|
||||||
|
+ set(TestADIOS2BPReaderMultiTimeSteps_NUMPROCS 2)
|
||||||
|
+ set(TestADIOS2BPReaderMultiTimeSteps2D_NUMPROCS 2)
|
||||||
|
+ vtk_add_test_mpi(vtkIOADIOS2CxxTests-MPI mpiTests TESTING_DATA
|
||||||
|
+ TestADIOS2BPReaderMPISingleTimeStep.cxx
|
||||||
|
+ TestADIOS2BPReaderMPIMultiTimeSteps3D.cxx,NO_VALID
|
||||||
|
+ TestADIOS2BPReaderMPIMultiTimeSteps2D.cxx)
|
||||||
|
+ vtk_test_cxx_executable(vtkIOADIOS2CxxTests-MPI mpiTests)
|
||||||
|
|
||||||
|
# VTX tests
|
||||||
|
- if (vtk_io_adios2_vtx_enabled)
|
||||||
|
- vtk_add_test_cxx(vtkIOADIOS2VTXCxxTests tests TESTING_DATA NO_OUTPUT
|
||||||
|
- UnitTestIOADIOS2VTX.cxx,NO_VALID
|
||||||
|
- #TestIOADIOS2VTX_VTI3D.cxx,
|
||||||
|
- TestIOADIOS2VTX_VTI3DRendering.cxx,NO_VALID
|
||||||
|
- #TestIOADIOS2VTX_VTU3D.cxx,NO_VALID
|
||||||
|
- TestIOADIOS2VTX_VTU3DRendering.cxx,NO_VALID
|
||||||
|
- TestIOADIOS2VTX_VTU2DRendering.cxx,NO_VALID
|
||||||
|
- TestIOADIOS2VTX_VTU1DRendering.cxx,NO_VALID)
|
||||||
|
+ vtk_add_test_cxx(vtkIOADIOS2VTXCxxTests tests TESTING_DATA NO_OUTPUT
|
||||||
|
+ UnitTestIOADIOS2VTX.cxx,NO_VALID
|
||||||
|
+ #TestIOADIOS2VTX_VTI3D.cxx,
|
||||||
|
+ TestIOADIOS2VTX_VTI3DRendering.cxx,NO_VALID
|
||||||
|
+ #TestIOADIOS2VTX_VTU3D.cxx,NO_VALID
|
||||||
|
+ TestIOADIOS2VTX_VTU3DRendering.cxx,NO_VALID
|
||||||
|
+ TestIOADIOS2VTX_VTU2DRendering.cxx,NO_VALID
|
||||||
|
+ TestIOADIOS2VTX_VTU1DRendering.cxx,NO_VALID)
|
||||||
|
|
||||||
|
- vtk_test_cxx_executable(vtkIOADIOS2VTXCxxTests tests)
|
||||||
|
- target_link_libraries(vtkIOADIOS2VTXCxxTests PUBLIC adios2::adios2)
|
||||||
|
- endif ()
|
||||||
|
+ vtk_test_cxx_executable(vtkIOADIOS2VTXCxxTests tests)
|
||||||
|
+ target_link_libraries(vtkIOADIOS2VTXCxxTests PUBLIC adios2::adios2)
|
||||||
|
else ()
|
||||||
|
- if (vtk_io_adios2_core_enabled)
|
||||||
|
- vtk_add_test_cxx(vtkIOADIOS2CxxTests tests TESTING_DATA
|
||||||
|
- TestADIOS2BPReaderSingleTimeStep.cxx
|
||||||
|
- TestADIOS2BPReaderMultiTimeSteps3D.cxx
|
||||||
|
- TestADIOS2BPReaderMultiTimeSteps2D.cxx)
|
||||||
|
+ vtk_add_test_cxx(vtkIOADIOS2CxxTests tests TESTING_DATA
|
||||||
|
+ TestADIOS2BPReaderSingleTimeStep.cxx
|
||||||
|
+ TestADIOS2BPReaderMultiTimeSteps3D.cxx
|
||||||
|
+ TestADIOS2BPReaderMultiTimeSteps2D.cxx)
|
||||||
|
|
||||||
|
- vtk_test_cxx_executable(vtkIOADIOS2CxxTests tests)
|
||||||
|
- endif ()
|
||||||
|
+ vtk_test_cxx_executable(vtkIOADIOS2CxxTests tests)
|
||||||
|
endif ()
|
||||||
|
diff --git a/VTK/IO/ADIOS2/vtk.module b/VTK/IO/ADIOS2/vtk.module
|
||||||
|
index 5069bd828b0..fe37260eb6d 100644
|
||||||
|
--- a/VTK/IO/ADIOS2/vtk.module
|
||||||
|
+++ b/VTK/IO/ADIOS2/vtk.module
|
||||||
|
@@ -2,8 +2,6 @@ NAME
|
||||||
|
VTK::IOADIOS2
|
||||||
|
LIBRARY_NAME
|
||||||
|
vtkIOADIOS2
|
||||||
|
-KIT
|
||||||
|
- VTK::IO
|
||||||
|
SPDX_LICENSE_IDENTIFIER
|
||||||
|
LicenseRef-BSD-3-Clause-Sandia-USGov
|
||||||
|
SPDX_COPYRIGHT_TEXT
|
||||||
|
diff --git a/VTK/IO/ADIOS2/vtkADIOS2CoreImageReader.cxx b/VTK/IO/ADIOS2/vtkADIOS2CoreImageReader.cxx
|
||||||
|
index 6ba4d25230d..c209fd905d5 100644
|
||||||
|
--- a/VTK/IO/ADIOS2/vtkADIOS2CoreImageReader.cxx
|
||||||
|
+++ b/VTK/IO/ADIOS2/vtkADIOS2CoreImageReader.cxx
|
||||||
|
@@ -28,7 +28,7 @@
|
||||||
|
#include "vtkLongLongArray.h"
|
||||||
|
#include "vtkMultiBlockDataSet.h"
|
||||||
|
#include "vtkMultiPieceDataSet.h"
|
||||||
|
-#include "vtkMultiProcessController.h"
|
||||||
|
+#include "vtkMultiProcessController.h" // For the MPI controller member
|
||||||
|
#include "vtkNew.h"
|
||||||
|
#include "vtkObjectFactory.h"
|
||||||
|
#include "vtkPointData.h"
|
||||||
|
@@ -46,7 +46,7 @@
|
||||||
|
#include "vtkUnstructuredGrid.h"
|
||||||
|
#include "vtksys/SystemTools.hxx"
|
||||||
|
|
||||||
|
-#ifdef IOADIOS2_HAVE_MPI
|
||||||
|
+#if VTK_MODULE_ENABLE_VTK_ParallelMPI
|
||||||
|
#include "vtkMPI.h"
|
||||||
|
#include "vtkMPIController.h"
|
||||||
|
#endif
|
||||||
|
@@ -126,7 +126,7 @@ vtkNew<vtkMultiPieceDataSet> vtkADIOS2CoreImageReader::vtkADIOS2CoreImageReaderI
|
||||||
|
int myLen = static_cast<int>(ibds->GetNumberOfBlocks());
|
||||||
|
int* allLens{ nullptr };
|
||||||
|
int procId{ 0 }, numProcess{ 0 };
|
||||||
|
-#ifdef IOADIOS2_HAVE_MPI
|
||||||
|
+#if VTK_MODULE_ENABLE_VTK_ParallelMPI
|
||||||
|
auto ctrl = vtkMultiProcessController::GetGlobalController();
|
||||||
|
if (ctrl)
|
||||||
|
{
|
||||||
|
@@ -286,7 +286,7 @@ const vtkADIOS2CoreImageReader::StringToParams& vtkADIOS2CoreImageReader::GetAva
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void vtkADIOS2CoreImageReader::SetController(vtkMultiProcessController* controller)
|
||||||
|
{
|
||||||
|
-#ifdef IOADIOS2_HAVE_MPI
|
||||||
|
+#if VTK_MODULE_ENABLE_VTK_ParallelMPI
|
||||||
|
vtkMPIController* mpiController = vtkMPIController::SafeDownCast(controller);
|
||||||
|
if (controller && !mpiController)
|
||||||
|
{
|
||||||
|
@@ -337,7 +337,7 @@ bool vtkADIOS2CoreImageReader::OpenAndReadMetaData()
|
||||||
|
// Initialize the ADIOS2 data structures
|
||||||
|
if (!this->Impl->Adios)
|
||||||
|
{
|
||||||
|
-#ifdef IOADIOS2_HAVE_MPI
|
||||||
|
+#if VTK_MODULE_ENABLE_VTK_ParallelMPI
|
||||||
|
// Make sure the ADIOS subsystem is initialized before processing any
|
||||||
|
// sort of request.
|
||||||
|
if (!this->Controller)
|
||||||
|
@@ -910,7 +910,7 @@ void vtkADIOS2CoreImageReader::CalculateWorkDistribution(const std::string& varN
|
||||||
|
auto var = this->Impl->AdiosIO.InquireVariable<T>(varName);
|
||||||
|
size_t blockNum = this->Impl->BpReader.BlocksInfo(var, this->Impl->RequestStep).size();
|
||||||
|
|
||||||
|
-#ifdef IOADIOS2_HAVE_MPI
|
||||||
|
+#if VTK_MODULE_ENABLE_VTK_ParallelMPI
|
||||||
|
size_t rank = static_cast<size_t>(this->Controller->GetLocalProcessId());
|
||||||
|
size_t procs = static_cast<size_t>(this->Controller->GetNumberOfProcesses());
|
||||||
|
#else
|
||||||
|
--
|
||||||
|
GitLab
|
Loading…
Reference in a new issue