<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def benchmark(cores, args):
 """ benchmark is used for Processing per core translation. Each core translates the whole input file. Return after all translations done. :param cores: the number of cores used for translation, each core will launch a thread to translate :param args: input parameters """

    model = args.module
    fileInput = args.input_file
    fileOutput = args.output_file
    batchsize = args.batch_size
   
    thread = []
    for i in range(cores): 
        command = "taskset -c %d-%d python3 -m sockeye.translate -m %s -i %s -o %s --batch-size %d --output-type benchmark --use-cpu > /dev/null 2>&1 " % (i, i, model, fileInput, fileOutput, batchsize)
        t = threading.Thread(target = task, args=(command,))
        thread.append(t)
        t.start()
    
    for t in thread:
        t.join()