<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def multi_process_pynac(file_list, pynac_func, num_iters=100, max_workers=8):
 """ Use a ProcessPool from the ``concurrent.futures`` module to execute ``num_iters`` number of instances of ``pynac_func``. This function takes advantage of ``do_single_dynac_process`` and ``pynac_in_sub_directory``. """

    with ProcessPoolExecutor(max_workers=max_workers) as executor:
        tasks = [executor.submit(do_single_dynac_process, num, file_list, pynac_func) for num in range(num_iters)]
    exc = [task.exception() for task in tasks if task.exception()]
    if exc:
        return exc
    else:
        return "No errors encountered"