@@ -38,13 +38,52 @@ as possible).
3838Detailed information about each run is printed to stderr while a CSV summary
3939is printed to stdout.
4040
41+ Software Dependencies
42+ ---------------------
43+
44+ + gcc
45+ + python3
46+ + sh python3 module
47+ + yaml python3 module
48+
4149Usage
4250=====
4351
4452The build system will generate a separate lockhammer binary for each test with
4553the format lh_[testname]. Each lockhammer binary accepts the following options:
46- [-t threads] Number of threads to exercise, default online cores
47- [-a acquires] Number of acquisitions per thread, default 50000
48- [-c critical] Critical section in loop iterations, default 0
49- [-p parallel] Parallelizable section in loop iterations, default 0
50- [-s] Run in safe mode, default no
54+ ::
55+ [-t threads] Number of threads to exercise, default online cores
56+ [-a acquires] Number of acquisitions per thread, default 50000
57+ [-c critical] Critical section in loop iterations, default 0
58+ [-p parallel] Parallelizable section in loop iterations, default 0
59+ [-s] Run in safe mode with normal priority threads instead of RT_FIFO priority, default no
60+
61+
62+ Plotting
63+ ========
64+
65+ The default plotting script utilizes jupyter-notebook, matplotlib, seaborn
66+ and pandas under python3 environment. For Ubuntu on x86_64 machine, the
67+ following packages have to be installed:
68+ apt install build-essential python3 python3-pip jupyter-notebook
69+
70+ For aarch64 machine, additional packages are also needed:
71+ apt install pkg-config libfreetype6-dev python3-scipy
72+
73+ Then pip3 can install all plotting related libraries with the following cmd:
74+ pip3 install matplotlib seaborn pandas numpy
75+
76+ Note, seaborn has to be installed without scipy as dependency on aarch64:
77+ pip3 install seaborn --no-dependencies
78+
79+ The jupyter-notebook can be started with:
80+ jupyter-notebook --ip 0.0.0.0 --port=8888
81+
82+ Now any browser should be able to access the jupyter notebook called:
83+ lockhammer-jupyter-notebook.ipynb
84+
85+ Start a browser, with IP address set to the jupyter server IP and port 8888:
86+ e.g. http://example.test.com:8888
87+
88+ Click the notebook named lockhammer-jupyter-notebook.ipynb, run each cell one
89+ by one and jupyter should be able to generate the png graph locally.
0 commit comments