#+PROPERTY: header-args :session stochproc :kernel python :pandoc t * Configuration and Setup The main process configuration is to be found [[file:stg.py][here]]. ** Stochastic Processes We then proceed to initialize the stochastic processes. #+begin_src vterm python ../hops/sp.py -s stg.py #+end_src #+RESULTS: :RESULTS: Linux ArLeenUX 5.14.14-zen1 x86_64 20:18:42 up 6 days 2:12, 1 user, load average: 0.35, 0.81, 1.00 impure  ~/D/P/U/m/m/p/e/01_zero_temperature  python ../hops/sp.py -s stg.py stocproc.stocproc - INFO - non neg freq only non neg freq only stocproc.method_ft - INFO - get_dt_for_accurate_interpolation, please wait ... get_dt_for_accurate_interpolation, please wait ... stocproc.method_ft - INFO - acc interp N 33 dt 3.95e-01 -> diff 5.01e-01 acc interp N 33 dt 3.95e-01 -> diff 5.01e-01 stocproc.method_ft - INFO - acc interp N 65 dt 1.98e-01 -> diff 3.02e-01 acc interp N 65 dt 1.98e-01 -> diff 3.02e-01 stocproc.method_ft - INFO - acc interp N 129 dt 9.88e-02 -> diff 9.52e-02 acc interp N 129 dt 9.88e-02 -> diff 9.52e-02 stocproc.method_ft - INFO - acc interp N 257 dt 4.94e-02 -> diff 1.98e-02 acc interp N 257 dt 4.94e-02 -> diff 1.98e-02 stocproc.method_ft - INFO - acc interp N 513 dt 2.47e-02 -> diff 4.37e-03 acc interp N 513 dt 2.47e-02 -> diff 4.37e-03 stocproc.method_ft - INFO - acc interp N 1025 dt 1.23e-02 -> diff 1.06e-03 acc interp N 1025 dt 1.23e-02 -> diff 1.06e-03 stocproc.method_ft - INFO - acc interp N 2049 dt 6.17e-03 -> diff 2.62e-04 acc interp N 2049 dt 6.17e-03 -> diff 2.62e-04 stocproc.method_ft - INFO - requires dt < 6.173e-03 requires dt < 6.173e-03 stocproc.method_ft - INFO - get_N_a_b_for_accurate_fourier_integral, please wait ... get_N_a_b_for_accurate_fourier_integral, please wait ... stocproc.method_ft - INFO - J_w_min:1.00e-02 N 32 yields: interval [0.00e+00,4.17e+01] diff 1. 70e-01 J_w_min:1.00e-02 N 32 yields: interval [0.00e+00,4.17e+01] diff 1.70e-01 stocproc.method_ft - INFO - J_w_min:1.00e-03 N 32 yields: interval [0.00e+00,5.45e+01] diff 2. 90e-01 J_w_min:1.00e-03 N 32 yields: interval [0.00e+00,5.45e+01] diff 2.90e-01 stocproc.method_ft - INFO - J_w_min:1.00e-02 N 64 yields: interval [0.00e+00,4.17e+01] diff 4. 27e-02 J_w_min:1.00e-02 N 64 yields: interval [0.00e+00,4.17e+01] diff 4.27e-02 stocproc.method_ft - INFO - J_w_min:1.00e-04 N 32 yields: interval [0.00e+00,6.71e+01] diff 4. 36e-01 J_w_min:1.00e-04 N 32 yields: interval [0.00e+00,6.71e+01] diff 4.36e-01 stocproc.method_ft - INFO - J_w_min:1.00e-03 N 64 yields: interval [0.00e+00,5.45e+01] diff 7. 33e-02 J_w_min:1.00e-03 N 64 yields: interval [0.00e+00,5.45e+01] diff 7.33e-02 stocproc.method_ft - INFO - J_w_min:1.00e-02 N 128 yields: interval [0.00e+00,4.17e+01] diff 5 .16e-02 J_w_min:1.00e-02 N 128 yields: interval [0.00e+00,4.17e+01] diff 5.16e-02 stocproc.method_ft - INFO - J_w_min:1.00e-05 N 32 yields: interval [0.00e+00,7.94e+01] diff 6. 06e-01 J_w_min:1.00e-05 N 32 yields: interval [0.00e+00,7.94e+01] diff 6.06e-01 stocproc.method_ft - INFO - J_w_min:1.00e-04 N 64 yields: interval [0.00e+00,6.71e+01] diff 1. 11e-01 J_w_min:1.00e-04 N 64 yields: interval [0.00e+00,6.71e+01] diff 1.11e-01 stocproc.method_ft - INFO - J_w_min:1.00e-03 N 128 yields: interval [0.00e+00,5.45e+01] diff 1 .84e-02 J_w_min:1.00e-03 N 128 yields: interval [0.00e+00,5.45e+01] diff 1.84e-02 stocproc.method_ft - INFO - J_w_min:1.00e-02 N 256 yields: interval [0.00e+00,4.17e+01] diff 5 .49e-02 J_w_min:1.00e-02 N 256 yields: interval [0.00e+00,4.17e+01] diff 5.49e-02 stocproc.method_ft - INFO - increasing N while shrinking the interval does lower the error -> try next level increasing N while shrinking the interval does lower the error -> try next level stocproc.method_ft - INFO - J_w_min:1.00e-06 N 32 yields: interval [0.00e+00,9.17e+01] diff 7. 98e-01 J_w_min:1.00e-06 N 32 yields: interval [0.00e+00,9.17e+01] diff 7.98e-01 stocproc.method_ft - INFO - J_w_min:1.00e-05 N 64 yields: interval [0.00e+00,7.94e+01] diff 1. 55e-01 J_w_min:1.00e-05 N 64 yields: interval [0.00e+00,7.94e+01] diff 1.55e-01 stocproc.method_ft - INFO - J_w_min:1.00e-04 N 128 yields: interval [0.00e+00,6.71e+01] diff 2 .78e-02 J_w_min:1.00e-04 N 128 yields: interval [0.00e+00,6.71e+01] diff 2.78e-02 stocproc.method_ft - INFO - J_w_min:1.00e-03 N 256 yields: interval [0.00e+00,5.45e+01] diff 4 .60e-03 J_w_min:1.00e-03 N 256 yields: interval [0.00e+00,5.45e+01] diff 4.60e-03 stocproc.method_ft - INFO - J_w_min:1.00e-02 N 512 yields: interval [0.00e+00,4.17e+01] diff 5 .57e-02 J_w_min:1.00e-02 N 512 yields: interval [0.00e+00,4.17e+01] diff 5.57e-02 stocproc.method_ft - INFO - increasing N while shrinking the interval does lower the error -> try next level increasing N while shrinking the interval does lower the error -> try next level stocproc.method_ft - INFO - J_w_min:1.00e-07 N 32 yields: interval [0.00e+00,1.04e+02] diff 1. 01e+00 J_w_min:1.00e-07 N 32 yields: interval [0.00e+00,1.04e+02] diff 1.01e+00 stocproc.method_ft - INFO - J_w_min:1.00e-06 N 64 yields: interval [0.00e+00,9.17e+01] diff 2. 06e-01 J_w_min:1.00e-06 N 64 yields: interval [0.00e+00,9.17e+01] diff 2.06e-01 stocproc.method_ft - INFO - J_w_min:1.00e-05 N 128 yields: interval [0.00e+00,7.94e+01] diff 3 .90e-02 J_w_min:1.00e-05 N 128 yields: interval [0.00e+00,7.94e+01] diff 3.90e-02 stocproc.method_ft - INFO - J_w_min:1.00e-04 N 256 yields: interval [0.00e+00,6.71e+01] diff 6 .95e-03 J_w_min:1.00e-04 N 256 yields: interval [0.00e+00,6.71e+01] diff 6.95e-03 stocproc.method_ft - INFO - J_w_min:1.00e-03 N 512 yields: interval [0.00e+00,5.45e+01] diff 4 .99e-03 J_w_min:1.00e-03 N 512 yields: interval [0.00e+00,5.45e+01] diff 4.99e-03 stocproc.method_ft - INFO - J_w_min:1.00e-02 N 1024 yields: interval [0.00e+00,4.17e+01] diff 5.59e-02 J_w_min:1.00e-02 N 1024 yields: interval [0.00e+00,4.17e+01] diff 5.59e-02 stocproc.method_ft - INFO - increasing N while shrinking the interval does lower the error -> try next level increasing N while shrinking the interval does lower the error -> try next level stocproc.method_ft - INFO - J_w_min:1.00e-08 N 32 yields: interval [0.00e+00,1.16e+02] diff 1. 25e+00 J_w_min:1.00e-08 N 32 yields: interval [0.00e+00,1.16e+02] diff 1.25e+00 stocproc.method_ft - INFO - J_w_min:1.00e-07 N 64 yields: interval [0.00e+00,1.04e+02] diff 2. 63e-01 J_w_min:1.00e-07 N 64 yields: interval [0.00e+00,1.04e+02] diff 2.63e-01 stocproc.method_ft - INFO - J_w_min:1.00e-06 N 128 yields: interval [0.00e+00,9.17e+01] diff 5 .18e-02 J_w_min:1.00e-06 N 128 yields: interval [0.00e+00,9.17e+01] diff 5.18e-02 stocproc.method_ft - INFO - J_w_min:1.00e-05 N 256 yields: interval [0.00e+00,7.94e+01] diff 9 .75e-03 J_w_min:1.00e-05 N 256 yields: interval [0.00e+00,7.94e+01] diff 9.75e-03 stocproc.method_ft - INFO - J_w_min:1.00e-04 N 512 yields: interval [0.00e+00,6.71e+01] diff 1 .00e-03 J_w_min:1.00e-04 N 512 yields: interval [0.00e+00,6.71e+01] diff 1.00e-03 stocproc.method_ft - INFO - J_w_min:1.00e-03 N 1024 yields: interval [0.00e+00,5.45e+01] diff 5.34e-03 J_w_min:1.00e-03 N 1024 yields: interval [0.00e+00,5.45e+01] diff 5.34e-03 stocproc.method_ft - INFO - increasing N while shrinking the interval does lower the error -> try next level increasing N while shrinking the interval does lower the error -> try next level stocproc.method_ft - INFO - J_w_min:1.00e-09 N 32 yields: interval [0.00e+00,1.28e+02] diff 1. 50e+00 J_w_min:1.00e-09 N 32 yields: interval [0.00e+00,1.28e+02] diff 1.50e+00 stocproc.method_ft - INFO - J_w_min:1.00e-08 N 64 yields: interval [0.00e+00,1.16e+02] diff 3. 27e-01 J_w_min:1.00e-08 N 64 yields: interval [0.00e+00,1.16e+02] diff 3.27e-01 stocproc.method_ft - INFO - J_w_min:1.00e-07 N 128 yields: interval [0.00e+00,1.04e+02] diff 6 .64e-02 J_w_min:1.00e-07 N 128 yields: interval [0.00e+00,1.04e+02] diff 6.64e-02 stocproc.method_ft - INFO - J_w_min:1.00e-06 N 256 yields: interval [0.00e+00,9.17e+01] diff 1 .30e-02 J_w_min:1.00e-06 N 256 yields: interval [0.00e+00,9.17e+01] diff 1.30e-02 stocproc.method_ft - INFO - J_w_min:1.00e-05 N 512 yields: interval [0.00e+00,7.94e+01] diff 1 .61e-03 J_w_min:1.00e-05 N 512 yields: interval [0.00e+00,7.94e+01] diff 1.61e-03 stocproc.method_ft - INFO - J_w_min:1.00e-04 N 1024 yields: interval [0.00e+00,6.71e+01] diff 3.58e-04 J_w_min:1.00e-04 N 1024 yields: interval [0.00e+00,6.71e+01] diff 3.58e-04 stocproc.method_ft - INFO - return, cause tol of 0.001 was reached return, cause tol of 0.001 was reached stocproc.method_ft - INFO - requires dx < 6.551e-02 requires dx < 6.551e-02 stocproc.stocproc - INFO - Fourier Integral Boundaries: [0.000e+00, 1.045e+03] Fourier Integral Boundaries: [0.000e+00, 1.045e+03] stocproc.stocproc - INFO - Number of Nodes : 16384 Number of Nodes : 16384 stocproc.stocproc - INFO - yields dx : 6.379e-02 yields dx : 6.379e-02 stocproc.stocproc - INFO - yields dt : 6.012e-03 yields dt : 6.012e-03 stocproc.stocproc - INFO - yields t_max : 9.849e+01 yields t_max : 9.849e+01 added StocProc to database 'SPCache' at '.' :END: The stochastic process is initialized and cached in ~./SPCache~. * Hops Integration We can use multiple avenues. ** Local Integration #+begin_src vterm :term-name integration python ../hops/hi.py -s stg.py #+end_src #+RESULTS: :RESULTS: Linux ArLeenUX 5.14.14-zen1 x86_64 20:19:16 up 6 days 2:13, 1 user, load average: 0.72, 0.86, 1.01 impure  ~/D/P/U/m/m/p/e/01_zero_temperature  python ../hops/hi.py -s stg.py run integrate init Hi class, use 464 equation is up event is False wait ... [in server process] add args to server ... [in server process] befor bring him up JobManager started on ArLeenUX:41500 (bytearray(b'HOPS41500')) hi server is up [in server process] set is_up is up event is now True [TET 11.75ms [0.0c/s] TTG -- 0.0% ETA -- ORT --] /nix/store/12p97q75zqww5q204vh99ix0ds6ik7s7-python3-3.9.4-env/lib/python3.9/site-packages/jobm anager/jobmanager.py:130: UserWarning: num_threads could not be set, MKL / openblas not found warnings.warn("num_threads could not be set, MKL / openblas not found") /nix/store/12p97q75zqww5q204vh99ix0ds6ik7s7-python3-3.9.4-env/lib/python3.9/site-packages/jobm anager/jobmanager.py:130: UserWarning: num_threads could not be set, MKL / openblas not found warnings.warn("num_threads could not be set, MKL / openblas not found") /nix/store/12p97q75zqww5q204vh99ix0ds6ik7s7-python3-3.9.4-env/lib/python3.9/site-packages/jobm anager/jobmanager.py:130: UserWarning: num_threads could not be set, MKL / openblas not found warnings.warn("num_threads could not be set, MKL / openblas not found") /nix/store/12p97q75zqww5q204vh99ix0ds6ik7s7-python3-3.9.4-env/lib/python3.9/site-packages/jobm [TET 1.01s [0.0c/s] TTG -- 0.0% ETA -- ORT --] res_q #0 0/s 0kB|rem.:64, done:0, failed:0, prog.:0 w1:00:01:20 [7.0c/min] #9 - 5.12s [92.1c/s] [=======================> ] TTG 4.00s w2:00:01:20 [6.9c/min] #9 - 3.80s [91.6c/s] [=================> ] TTG 5.00s w3:00:01:20 [7.0c/min] #9 - 3.98s [90.9c/s] [=================> ] TTG 5.00s w4:00:01:20 [6.9c/min] #9 - 3.40s [95.6c/s] [================> ] TTG 5.00s local res_q 0 2.064GB/s [TET-00:01:20--[28.0c/min]-TTG-00:01:00-------56.2%-> ETA 20211104_20:21:38 ORT 00:02:20] res_q #0 14.06MB/s 1.041GB|rem.:24, done:36, failed:0, prog.:4 ^Ccapi_return is NULL Call-back cb_f_in_zvode__user__routines failed. ################################ # cought KeyboardInterrupt - terminate client process (PID 339532)... WARNING:jobmanager.jobmanager.worker4:SystemExit, quit processing, reinsert current argument, please wait capi_return is NULL Call-back cb_f_in_zvode__user__routines failed. capi_return is NULL Call-back cb_f_in_zvode__user__routines failed. WARNING:jobmanager.jobmanager.worker1:SystemExit, quit processing, reinsert current argument, please wait capi_return is NULL Call-back cb_f_in_zvode__user__routines failed. WARNING:jobmanager.jobmanager.worker3:SystemExit, quit processing, reinsert current argument, please wait ERROR:jobmanager.jobmanager.worker4:puting arg back to local job_q failed due to SystemExit [TET-00:01:21--[28.0c/min]-TTG-00:01:00-------56.2%-> ETA 20211104_20:21:39 ORT 00:02:21] res_q #0 14.06MB/s 1.041GB|rem.:24, done:36, failed:0, prog.:4 ############## in JM SERVER EXIT HI_Server start at 2021-11-04 20:19:18.175318 | runtime 8.100e+01s HI_Server total number of jobs : 64 w1:00:01:21 [7.0c/min] #9 - [E-6.12s----[77.7c/s]-G-4.00s----------63.5% O 00:00:10] w2:00:01:21 [6.9c/min] #9 - [E-4.81s----[73.6c/s]-G-6.00s--> 47.2% O 00:00:10] w3:00:01:21 [7.0c/min] #9 - [E-4.99s----[73.7c/s]-G-6.00s---> 49.1% O 00:00:10] w4:00:01:21 [6.9c/min] #9 - [E-4.41s----[74.9c/s]-G-6.00s> 44.0% O 00:00:10] local res_q 0 2.064GB/s - done! | queried : 1 - stop server processried yet : 27 ,* set stopEvent ,* wait for server thread to join ,* has joined :END: And there we go. It is better to run the above command in a vterm-session. ** Remote/Distributed Integration We start the server locally. #+begin_src vterm :term-name local-server python ../hops/hi.py -s stg.py server #+end_src #+RESULTS: :RESULTS: Linux ArLeenUX 5.14.14-zen1 x86_64 20:20:45 up 6 days 2:14, 1 user, load average: 3.23, 1.68, 1.29 impure  ~/D/P/U/m/m/p/e/01_zero_temperature  python ../hops/hi.py -s stg.py server run server init Hi class, use 464 equation JobManager started on ArLeenUX:35254 (bytearray(b'SBM')) hi server is running [T[TET 00:01:01 [0.0c/s] TTG -- 0.0% ETA -- ORT - -]s_q #0 0kB/s 0kB|rem.:28, done:0, failed:0, prog.:0 res_q #0 0kB/s 0kB|rem.:28, done:0, failed:0, prog.:0 ############## in JM SERVER EXIT HI_Server start at 2021-11-04 20:20:47.819243 | runtime 6.100e+01s HI_Server total number of jobs : 28 | processed : 0 | succeeded : 0 | failed : 0 | not processed : 28 | queried : 0 | not queried yet : 28 :END: And jack in with a remote client. In this case my box at home. * Using the Data