def should_call_default_mpiprocs_per_machine(ctx):
    """
    Return True if the scheduler can accept 'default_mpiprocs_per_machine',
    False otherwise.

    If there is a problem in determining the scheduler, return True to
    avoid exceptions.
    """
    from aiida.common.exceptions import ValidationError
    scheduler_ep = ctx.params['scheduler']
    if scheduler_ep is not None:
        try:
            scheduler_cls = scheduler_ep.load()
        except ImportError:
            raise ImportError("Unable to load the '{}' scheduler".format(
                scheduler_ep.name))
    else:
        raise ValidationError(
            'The should_call_... function should always be run (and prompted) AFTER asking for a scheduler'
            )
    job_resource_cls = scheduler_cls.job_resource_class
    if job_resource_cls is None:
        return False
    return job_resource_cls.accepts_default_mpiprocs_per_machine()
