import torch from multiprocessing import Pool as ThreadPool global_array = torch.rand(100000) numbers = torch.rand(4) # function called at each iteration def my_subtractor(number, verbose=True): if verbose: print("SHOULD PRINT 4 TIMES") # -- prints for every worker in the pool (so 4 times total) global_array - number return 0 # launch for loop for number in numbers: my_subtractor(number, verbose=False) # launch equivalent pool of workers pool = ThreadPool(2) pool.map(my_subtractor, numbers)