Tôi đang cố chạy một vòng lặp song song trên một ví dụ đơn giản.
Tôi đang làm gì sai?Viết một vòng lặp song song
from joblib import Parallel, delayed
import multiprocessing
def processInput(i):
return i * i
if __name__ == '__main__':
# what are your inputs, and what operation do you want to
# perform on each input. For example...
inputs = range(1000000)
num_cores = multiprocessing.cpu_count()
results = Parallel(n_jobs=4)(delayed(processInput)(i) for i in inputs)
print(results)
Vấn đề với mã là khi thực hiện dưới môi trường Windows trong Python 3, nó sẽ mở ra num_cores
trường hợp của python để thực hiện các công việc song song nhưng chỉ là một trong những hoạt động. Đây không phải là trường hợp vì hoạt động của bộ vi xử lý phải là 100% thay vì 14% (theo i7 - 8 lõi logic).
Tại sao các trường hợp bổ sung không làm bất cứ điều gì?
Bạn có nhận được thông báo lỗi nào không? Nó chạy tốt cho tôi .... Thụt lề phải là 4 dấu cách thay vì một dấu cách ... –
Tôi có cùng một vấn đề. Vấn đề là mã chỉ chạy trên một lõi không phải trên n-lõi. –