(solve_with, n_jobs, K, C, M, b, P, Hertz, keep_dof)
| 56 | x[:,i::n_jobs] = x_subset |
| 57 | return x |
| 58 | def remote_solve(solve_with, n_jobs, K, C, M, b, P, Hertz, keep_dof): |
| 59 | if solve_with == 'localhost': |
| 60 | cluster = LocalCluster('127.0.0.1:8786') |
| 61 | elif solve_with == 'digitalocean': |
| 62 | cluster = LocalCluster('143.198.155.245:8786') |
| 63 | elif solve_with == 'coiled': |
| 64 | import coiled |
| 65 | #coiled.create_software_environment( |
| 66 | # name="and-fe-env", |
| 67 | # conda={ "channels": ["conda-forge", "defaults"], |
| 68 | # "dependencies": ["dask", "numba", |
| 69 | # "scikit-umfpack", "requests" ], },) |
| 70 | cluster = coiled.Cluster(n_workers=n_jobs, software="and-fe-env") |
| 71 | client = Client(cluster) |
| 72 | client.wait_for_workers(n_jobs) |
| 73 | client.upload_file('pysolve.py') |
| 74 | KCMb = client.scatter([K, C, M, b], broadcast=True) |
| 75 | solnx = submit_solve_jobs(client, KCMb, P, Hertz, keep_dof, n_jobs) |
| 76 | client.close() |
| 77 | cluster.close() |
| 78 | return solnx |
nothing calls this directly
no test coverage detected