Hello, I used MPI_Win_free, and it returns error code: 45, Invalid MPI_Win. I checked all my code, but I still cannot find out where is the problem. I was wondering any one can give a suggestion? I defined win as MPI_Win win; in RMA, I create a sub communicator: MPI_FOR_WORLD MPI_Win_create(image_buff, 2*image_info->image_size*sizeof(uint16), sizeof(uint16), MPI_INFO_NULL, MPI_FOR_WORLD, win); In other MPI_FOR_WORLD process: MPI_Win_create(MPI_BOTTOM, 0, sizeof(uint16), MPI_INFO_NULL, MPI_FOR_WORLD, win); I use MPI_Get, just as normal thing. no mem violation. free it as MPI_Win_free(&win); I still cannot figure out why it keeps saying MPI_Win_free failed. Thank you very much for any suggestions. -- Best Regards, Sufeng Niu ECASP lab, ECE department, Illinois Institute of Technology Tel: 312-731-7219