#499: Prolongation fails with vectorisation enabled ---------------------+------------------------------------------------------ Reporter: hinder | Owner: eschnett Type: defect | Status: new Priority: major | Milestone: Component: Carpet | Version: Resolution: | Keywords: ---------------------+------------------------------------------------------
Comment (by eschnett):
I looked at the vectorised code in Carpet's prolongation operator, and I see that all the vectorisation happens for reading, multiplying, and adding numbers. Storing the result into the target array is untouched and independent of vectorisation.
According to the backtrace above, the actual error occurs while resizing a std::vector, probably while allocating communication buffers. It could be the system runs out of memory, or there is internal memory corruption.
Since progress on this problem has stalled, I suggest to disable vectorisation in Carpet's prolongation operator. There is a statement "#if 0" in line 226; changing this to "#if 1" should enable the scalar code and thus circumvent the vectorised code.