[MITgcm-devel] impldiff/solve_tridiagnonal

Martin Losch martin.losch at awi.de
Wed Sep 28 12:41:07 EDT 2016


Hi there,

impldiff.F turns out to be one of the expensive routines on some platforms. One of the reasons is apparently poor cache efficiency. In solve_tridiagonal this is “solved” by moving the k-loop inside the i,j loops. There’s a CPP flag SOLVE_DIAGONAL_KINNER to turn that on in solve_tridiagonal.

Would anyone object to me implementing something like this in impldiff.F? I would use SOLVE_DIAGONAL_KINNER (off by default) to turn this feature on.

Martin

PS. would be much better if impldiff would actually call solve_tridiagonal, right?




More information about the MITgcm-devel mailing list