master-thesis/python/energy_flow_proper/01_zero_temperature/notebook.org

292 lines
14 KiB
Org Mode
Raw Normal View History

2021-11-05 10:19:19 +01:00
#+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