Build a list of Parallel configurations from two lists
        containing the number of MPI processes and the number of OpenMP threads
        i.e. product(mpi_procs, omp_threads).
        The configuration have parallel efficiency set to 1.0 and no input variables.
        Mainly used for preparing benchmarks.

def from_mpi_omp_lists(cls, mpi_procs, omp_threads):
        """
        Build a list of Parallel configurations from two lists
        containing the number of MPI processes and the number of OpenMP threads
        i.e. product(mpi_procs, omp_threads).
        The configuration have parallel efficiency set to 1.0 and no input variables.
        Mainly used for preparing benchmarks.
        """
        info = {}
        confs = [ParalConf(mpi_ncpus=p, omp_ncpus=p, efficiency=1.0)
                 for p, t in product(mpi_procs, omp_threads)]

        return cls(info, confs)