38 lines
901 B
Python
38 lines
901 B
Python
|
#!/usr/bin/env python3
|
||
|
from multiprocessing import cpu_count
|
||
|
import urllib.request
|
||
|
import json
|
||
|
import subprocess
|
||
|
import time
|
||
|
import sys
|
||
|
|
||
|
|
||
|
cores = cpu_count()
|
||
|
index = 444501
|
||
|
url = f'https://bikol.vm.wmi.amu.edu.pl/pzc/Z3.3/{index}'
|
||
|
sigma = json.loads(urllib.request.urlopen(url).read(100).decode('utf-8'))['sigma']
|
||
|
bracket = 280 # needs 36 processes
|
||
|
START = int(sys.argv[1])
|
||
|
FINISH = START+cores
|
||
|
MAX_VAL = 10000
|
||
|
procs = []
|
||
|
|
||
|
for i in range(START, FINISH):
|
||
|
a = bracket*i + 1
|
||
|
b = bracket*(i+1)
|
||
|
|
||
|
if b > MAX_VAL:
|
||
|
b = MAX_VAL
|
||
|
|
||
|
procs.append(subprocess.Popen(['./computeC', str(a), str(b), str(sigma)]))
|
||
|
|
||
|
if b == MAX_VAL:
|
||
|
break
|
||
|
|
||
|
# print(f"{FINISH-START} processes; [{bracket*START + 1}-{min(MAX_VAL,bracket*FINISH)}]")
|
||
|
#
|
||
|
# start = time.time()
|
||
|
# while any(i is None for i in [p.poll() for p in procs]):
|
||
|
# now = time.time()
|
||
|
# print(round((now - start), 2), end='\r')
|