Parallel Monte Carlo simulation using PETSc

I am trying to do Monte Carlo simulation for a large problem which requires eigensolution of a matrix for each sample. The matrix itself is quite large so much so that I want the eigensolution itself to be parallel as well.

This will probably require dividing the processors in subgroups and then within each group this eigensolution will be parallelized. I am trying to use PETSc and SLEPC for this.

Simple parallelization was possible for me but I am unable make use of such subgrouping. Does anybody know, how this can be done?

If you have an idea about how to statically partition your problem into subgroups, you could try partitioning the MPI processes into these subgroups, and then creating an MPI communicator for each subgroup. Most PETSc & SLEPc object creation routines take a communicator as an argument, so instead of using MPI_COMM_WORLD, you could use the subcommunicators you defined via your partitioning.