Open m-birke opened 4 weeks ago
Thanks @m-birke .
Trying our internal script, I can confirm that the error there is the same. We already fail somewhere in the VectorizedPipelineOpLowering
rewrite pattern. When we fail there we try to create a readable exception, similar to the one you posted above, but probably have incorrect mlir::FileLineColLoc
information so we segfault when creating the error.
More specifically, this happens here.
This is happening because the code that is being vectorized is not used afterwards, so the canonicalize
method of the VectorizedPipelineOp
is pruning away stuff, leaving something that looks as follows:
"daphne.vectorizedPipeline"(%757, %927, %921, %943, %955, %939, %282) ({
}, {
}) {combines = [], operand_segment_sizes = array<i32: 6, 0, 0, 1>, splits = [1, 0, 1, 0, 0, 0]} : (!daphne.Matrix<?x?xf64>, f64, !daphne.Matrix<?x?xf64>, f64, f64, f64, !daphne.DaphneContext) -> ()
This should be deleted properly so we don't run into the intended exception for this case.
Executing the following script with
--vec
it gives the error msg belowUncommenting
print(points);
resolves the problem.In more complicated scripts which loads data from file and does kernel casts, this error message is not given. It runs into a seg fault instead. By just adding a print statement at the end of the mentioned script, it runs.
Stacktrace: