I am seeing an intermittent failure when using Ascent’s clip pipeline filter with plane clips on a 3D CFD dataset.
Error:
TryExecute encountered an error: parallel_for failed: cudaErrorSymbolNotFound: named symbol not found
Failing functor: viskores::cont::detail::ScanExclusiveFunctor<viskores::worklet::Clip::PointBatchData>
Failing device: Cuda
...
Failing functor: viskores::cont::detail::ScanExclusiveFunctor<viskores::worklet::Clip::CellBatchData>
Failing device: Cuda
Important detail: the image is still rendered even when these errors are printed, and the clipping seems to be executed.
I am passing host data to Ascent, but the filter appears to execute on the CUDA backend. Ascent can use CUDA depending on build/runtime settings.
Tests performed:
- single clip only: still fails intermittently
- two clips: same behavior
- clip -> contour and contour -> clip: same behavior
This looks like a CUDA/backend issue in vtkh_clip / viskores::worklet::Clip rather than a deterministic scene-definition error. I attach an extract of the python wrapper I'm using
def build_scene(self, plots_config, image_name=None, camera=None, x_clip=None):
self.actions = conduit.Node()
add_pipes = self.actions.append()
add_pipes["action"] = "add_pipelines"
pipes = add_pipes["pipelines"]
pl1 = pipes["pl1"]
if x_clip is not None:
x1, x2 = map(float, x_clip)
iso = pl1["f1"]
iso["type"] = "contour"
iso["params/iso_values"] = [0.02]
iso["params/field"] = "q-criterion"
c1 = pl1["f2"]
c1["type"] = "clip"
c1["params/topology"] = "volume"
c1["params/plane/point/x"] = x1
c1["params/plane/point/y"] = 0.0
c1["params/plane/point/z"] = 0.0
c1["params/plane/normal/x"] = 1.0
c1["params/plane/normal/y"] = 0.0
c1["params/plane/normal/z"] = 0.0
c2 = pl1["f3"]
c2["type"] = "clip"
c2["params/topology"] = "volume"
c2["params/plane/point/x"] = x2
c2["params/plane/point/y"] = 0.0
c2["params/plane/point/z"] = 0.0
c2["params/plane/normal/x"] = 1.0
c2["params/plane/normal/y"] = 0.0
c2["params/plane/normal/z"] = 0.0
c2["params/invert"] = "true"
# c1 = pl1["f1"]
# c1["type"] = "clip"
# c1["params/topology"] = "volume"
# c1["params/box/min/x"] = x1
# c1["params/box/min/y"] = -10.0
# c1["params/box/min/z"] = -10.0
# c1["params/box/max/x"] = x2
# c1["params/box/max/y"] = 10.0
# c1["params/box/max/z"] = 10.0
else:
iso = pl1["f1"]
iso["type"] = "contour"
iso["params/iso_values"] = [0.02]
iso["params/field"] = "q-criterion"
Mesh is the same as in:
#1669 (comment)
Has this been seen before?
Thanks!
I am seeing an intermittent failure when using Ascent’s clip pipeline filter with plane clips on a 3D CFD dataset.
Error:
Important detail: the image is still rendered even when these errors are printed, and the clipping seems to be executed.
I am passing host data to Ascent, but the filter appears to execute on the CUDA backend. Ascent can use CUDA depending on build/runtime settings.
Tests performed:
This looks like a CUDA/backend issue in vtkh_clip / viskores::worklet::Clip rather than a deterministic scene-definition error. I attach an extract of the python wrapper I'm using
Mesh is the same as in:
#1669 (comment)
Has this been seen before?
Thanks!