Saya memiliki fungsi asli yang ingin saya alihkan ke multiproses:
def optimal(t0, tf, frequences, delay, ratio = 0):
First = True # First
for s in delay:
delay = 0 # delay between signals,
timelines = list()
for i in range(len(frequences)):
timelines.append(time_builder(frequences[i], t0+delay, tf))
delay += s
trio_overlap = trio_combination(timelines, ratio)
valid = True
for items in trio_overlap.values():
if len(list(set(items))) == len(items):
continue
else:
valid = False
if not valid:
continue
overlap = duo_combination(timelines)
optimal = ... depending of conditions
return optimal
Jika valid = True
setelah pengujian, ia akan menghitung parameter pengoptimalan yang disebut optim_param
dan mencoba meminimalkannya. Jika berada di bawah ambang batas tertentu, optim_param < 0.3
, saya keluar dari lingkaran dan mengambil nilai ini sebagai jawaban saya.
Masalah saya adalah saat saya mengembangkan model, kompleksitasnya mulai meningkat, dan komputasi single thread memakan waktu terlalu lama. Saya ingin memproses komputasi secara paralel. Karena setiap proses harus membandingkan hasil yang diperoleh dengan nilai s dengan nilai optimal saat ini, saya mencoba mengimplementasikan Antrian.
Ini pertama kalinya saya melakukan multiprosesor, dan meskipun saya merasa berada di jalur yang benar, saya merasa kode saya berantakan dan tidak lengkap. Bisakah saya mendapatkan bantuan?
Terimakasih
shift
danfrequencies
. Bisakah Anda menunjukkan contoh masukant0
dantf
? Selain itu, bisakah Anda merevisishift
dengan langkah yang lebih sedikit? Katakanlah,1000
atau10000
berjalan secara paralel untuk memudahkan pengujian awal? - person thewaywewere   schedule 27.02.2018t0 = 0
dantf = 200
. Untuk shift tentu saja kita bisa mengambilnp.arange(0, 2, 0.1)
sebagai permulaan. - person Mathieu   schedule 27.02.2018