Spaces:
Starting
on
T4
Starting
on
T4
import subprocess | |
import time | |
import os | |
def launch(shell_path, cuda_id, output): | |
os.makedirs(output, exist_ok=True) | |
print(os.path.join(output, 'output.txt')) | |
print(shell_path, cuda_id, output) | |
with open(os.path.join(output, 'output.txt'), 'w') as f: | |
process = subprocess.Popen( | |
["zsh", shell_path, cuda_id, output], stdout=f, stderr=f | |
) | |
return process | |
def check_alive(process, tolerant=100): | |
i = 0 | |
while i < tolerant: | |
return_code = process.poll() | |
if return_code is not None: | |
print(f"The AD algorithm completed with return code {return_code}.") | |
process.kill() | |
return | |
elif i % 5 == 0: | |
print(f"The AD algorithm is still running, remaining tolerant {tolerant - i}.") | |
time.sleep(1) | |
i += 1 | |
process.kill() | |
print("The AD algorithm process is killed.") |