[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DAcreate2d process layout order



Hi,

I'm trying to use DACreate2d and KSP in my existing MPI application. I already have a Cartesian communicator established, and I set PETSC_COMM_WORLD equal to it and then call PetscInitialize.

This works fine on a prime number of CPUs, because there is only one possible ordered MPI layout in one dimension. But with a non-prime number there are two possible ordered layouts and it just happens that my 2D CPU layout (determined by MPI_Cart_create) is the transpose of the PETSc 2D CPU layout.

Is there a way to organize the DA layout more explicitly than with DACreate2d? Or to tell PETSc to transpose its CPU order? I also wonder about the 3D case.

thanks
Sean