Initial changes needed to build paraview@5.9.0%xl_r (#22050)
This commit is contained in:
parent
ab74738609
commit
838a0086cf
@ -39,6 +39,10 @@ class Eigen(CMakePackage):
|
||||
patch('https://gitlab.com/libeigen/eigen/-/commit/6d822a1052fc665f06dc51b4729f6a38e0da0546.diff', when='@3.3.8',
|
||||
sha256='62590e9b33a8f72b608a72b87147a306e7cb20766ea53c6b8e0a183fa6cb7635')
|
||||
|
||||
# there is a bug in 3.3.4 that provokes a compile error with the xl compiler
|
||||
# See https://gitlab.com/libeigen/eigen/-/issues/1555
|
||||
patch('xlc-compilation-3.3.4.patch', when='@3.3.4%xl_r')
|
||||
|
||||
# From http://eigen.tuxfamily.org/index.php?title=Main_Page#Requirements
|
||||
# "Eigen doesn't have any dependencies other than the C++ standard
|
||||
# library."
|
||||
|
@ -0,0 +1,12 @@
|
||||
diff -up /Eigen/src/Core/arch/AltiVec/PacketMath.h /Eigen/src/Core/arch/AltiVec/PacketMath.h
|
||||
--- /Eigen/src/Core/arch/AltiVec/PacketMath.h
|
||||
+++ /Eigen/src/Core/arch/AltiVec/PacketMath.h
|
||||
@@ -1022,7 +1022,7 @@ ptranspose(PacketBlock<Packet2d,2>& kern
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet2d pblend(const Selector<2>& ifPacket, const Packet2d& thenPacket, const Packet2d& elsePacket) {
|
||||
Packet2l select = { ifPacket.select[0], ifPacket.select[1] };
|
||||
- Packet2bl mask = vec_cmpeq(reinterpret_cast<Packet2d>(select), reinterpret_cast<Packet2d>(p2l_ONE));
|
||||
+ Packet2bl mask = reinterpret_cast<Packet2bl>( vec_cmpeq(reinterpret_cast<Packet2d>(select), reinterpret_cast<Packet2d>(p2l_ONE)) );
|
||||
return vec_sel(elsePacket, thenPacket, mask);
|
||||
}
|
||||
#endif // __VSX__
|
@ -92,6 +92,9 @@ class Paraview(CMakePackage, CudaPackage):
|
||||
conflicts('build_edition=core', when='@:5.7')
|
||||
# before 5.3.0, ParaView didn't have VTK-m
|
||||
conflicts('use_vtkm=on', when='@:5.3')
|
||||
# paraview@5.9.0 is recommended when using the xl compiler
|
||||
# See https://gitlab.kitware.com/paraview/paraview/-/merge_requests/4433
|
||||
conflicts('paraview@:5.8', when='%xl_r', msg='Use paraview@5.9.0 with %xl_r. Earlier versions are not able to build with xl.')
|
||||
|
||||
# We only support one single Architecture
|
||||
for _arch, _other_arch in itertools.permutations(CudaPackage.cuda_arch_values, 2):
|
||||
@ -219,6 +222,10 @@ class Paraview(CMakePackage, CudaPackage):
|
||||
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8653
|
||||
patch('vtk-adios2-module-no-kit.patch', when='@5.8:5.10')
|
||||
|
||||
# Patch for paraview 5.9.0%xl_r
|
||||
# https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7591
|
||||
patch('xlc-compilation-pv590.patch', when='@5.9.0%xl_r')
|
||||
|
||||
@property
|
||||
def generator(self):
|
||||
# https://gitlab.kitware.com/paraview/paraview/-/issues/21223
|
||||
|
@ -0,0 +1,39 @@
|
||||
diff --git a/VTK/Common/DataModel/vtkStaticCellLinksTemplate.txx b/VTK/Common/DataModel/vtkStaticCellLinksTemplate.txx
|
||||
index 514c0ee..66edca2 100644
|
||||
--- a/VTK/Common/DataModel/vtkStaticCellLinksTemplate.txx
|
||||
+++ b/VTK/Common/DataModel/vtkStaticCellLinksTemplate.txx
|
||||
@@ -356,7 +356,7 @@ void vtkStaticCellLinksTemplate<TIds>::ThreadedBuildLinks(
|
||||
|
||||
// Create an array of atomics with initial count=0. This will keep
|
||||
// track of point uses. Count them in parallel.
|
||||
- std::atomic<TIds>* counts = new std::atomic<TIds>[numPts] {};
|
||||
+ std::atomic<TIds>* counts = new std::atomic<TIds>[numPts] ();
|
||||
CountUses<TIds> count(cellArray, counts);
|
||||
vtkSMPTools::For(0, numCells, count);
|
||||
|
||||
diff --git a/VTK/Filters/Core/vtkBinnedDecimation.cxx b/VTK/Filters/Core/vtkBinnedDecimation.cxx
|
||||
index 0736c56..8403908 100644
|
||||
--- a/VTK/Filters/Core/vtkBinnedDecimation.cxx
|
||||
+++ b/VTK/Filters/Core/vtkBinnedDecimation.cxx
|
||||
@@ -632,7 +632,7 @@ void BinPointsDecimate(int genMode, vtkIdType numPts, PointsT* pts, vtkPointData
|
||||
// is a problem because a ptId can == zero; as a workaround, we'll
|
||||
// initially use negative ids, and convert to positive ids in the
|
||||
// final composition.
|
||||
- std::atomic<TIds>* ptMap = new std::atomic<TIds>[numBins] {};
|
||||
+ std::atomic<TIds>* ptMap = new std::atomic<TIds>[numBins] ();
|
||||
|
||||
// Is the triangle output? And eventually the offset into the output cell array.
|
||||
TIds* triMap = new TIds[numTris + 1];
|
||||
diff --git a/VTK/Filters/Core/vtkWindowedSincPolyDataFilter.cxx b/VTK/Filters/Core/vtkWindowedSincPolyDataFilter.cxx
|
||||
index 15e47a1..7baef33 100644
|
||||
--- a/VTK/Filters/Core/vtkWindowedSincPolyDataFilter.cxx
|
||||
+++ b/VTK/Filters/Core/vtkWindowedSincPolyDataFilter.cxx
|
||||
@@ -348,7 +348,7 @@ struct PointConnectivity : PointConnectivityBase
|
||||
// accommodate more smoothing edges (although after a certain point,
|
||||
// additional edges make little difference, especially at the cost of
|
||||
// memory and speed).
|
||||
- this->Offsets = new std::atomic<TIds>[this->NumPts + 1] {}; // Initialized to zero
|
||||
+ this->Offsets = new std::atomic<TIds>[this->NumPts + 1] (); // Initialized to zero
|
||||
this->Edges = nullptr; // initially until constructed
|
||||
this->EdgeCounts = new EDGE_COUNT_TYPE[this->NumPts]; // values set later
|
||||
}
|
Loading…
Reference in New Issue
Block a user