-
Notifications
You must be signed in to change notification settings - Fork 129
Open
Description
Hi all,
A bug has been brought to my attention for Explicit Triangulations. I've reproduced here using the pipeline below. Though here it uses the DiscreteGradient filter, the problem seems to be located in the preconditioning of the triangulation, rather than the filter.
To reproduce:
import os
from paraview.simple import *
from paraview import vtk
from paraview import options as pv_options
# import ttk
from paraview import vtk
ctrl = vtk.vtkMultiProcessController.GetGlobalController()
rank = ctrl.GetLocalProcessId()
size = ctrl.GetNumberOfProcesses()
print(f"Running with {size} MPI ranks")
pv_options.streaming = 1
# Rank detection
rank = int(os.environ.get("PMI_RANK") or os.environ.get("OMPI_COMM_WORLD_RANK") or -1)
# Load and process mesh
mesh = Wavelet(registrationName='Wavelet1')
mesh.UpdatePipeline()
tetrahedralize1 = Tetrahedralize(registrationName='Tetrahedralize1', Input=mesh)
tetrahedralize1.UpdatePipeline()
print(f"[Rank {rank}] Input mesh loaded. Applying TTK filters...")
# create a new 'Redistribute DataSet'
redistributeDataSet1 = RedistributeDataSet(registrationName='RedistributeDataSet1', Input=tetrahedralize1)
redistributeDataSet1.UpdatePipeline()
# Ensure consistent ordering for parallel runs
arrayPreconditioning = TTKArrayPreconditioning(Input=redistributeDataSet1)
arrayPreconditioning.UpdatePipeline()
# Discrete gradient computation
discreteGradient = TTKDiscreteGradient(Input=arrayPreconditioning)
discreteGradient.UpdatePipeline()
To compute this pipeline use:
OMP_NUM_THREADS=1 mpirun -n 4 pvbatch pipeline.py
Expected behavior
The pipeline should generate an Unstructured Grid, distribute it across all processes and compute the Discrete Gradient. Instead, it will either hang indefinitely or crash at the preconditioning stage of the Discrete Gradient. The bug happens regardless of the number of threads.
System:
- OS: Linux
- TTK latest
- MPICH/4.3.0 or OpenMPI/4.0.3 (both fail)
- ParaView 5.13
Metadata
Metadata
Assignees
Labels
No labels