62 lines
1.6 KiB
Plaintext
62 lines
1.6 KiB
Plaintext
This tool displays process and thread binding in an interative web page.
|
|
|
|
|
|
1) Basic Usage
|
|
|
|
Run the hwloc-ps tool in JSON server mode:
|
|
|
|
$ hwloc-ps --json-server
|
|
server running on port 8888...
|
|
|
|
Export the topology as a SVG file using the native backend:
|
|
|
|
$ lstopo filename.svg --of nativesvg
|
|
|
|
Now run the client side for displaying the binding:
|
|
|
|
$ cd /path/to/hwloc-ps.www/
|
|
$ node client.js /path/to/filename.svg
|
|
|
|
This should open a webpage in your browser.
|
|
Otherwise add -u to see the URL that you should open (usually http://localhost:3000).
|
|
|
|
|
|
2) Installing node.js and JS dependencies
|
|
|
|
The "node" command is available in the "nodejs" package in most Linux distributions,
|
|
but you should rather install the "npm" package to get additional utilities:
|
|
|
|
# apt instal npm
|
|
# yum install npm
|
|
|
|
Then install the dependencies needed by client.js:
|
|
|
|
$ cd /path/to/hwloc-ps.www/
|
|
$ npm install
|
|
|
|
If you don't have write-access to the hwloc-ps.www/ directory,
|
|
copy it somewhere else, run "npm install" from there,
|
|
and then run the client from there:
|
|
|
|
$ cp -a /path/to/hwloc-ps.www/ $HOME/myhwloc-ps.www/
|
|
$ cd $HOME/myhwloc-ps.www/
|
|
$ npm install
|
|
$ node client.js /path/to/filename.svg
|
|
|
|
|
|
3) Running on a remote server
|
|
|
|
This tool is often useful for debugging process placement on remote servers, hence:
|
|
|
|
* hwloc-ps and lstopo should run on that remote server
|
|
(this requires a recent hwloc on the remote side).
|
|
|
|
* you must copy the SVG file back to your machine:
|
|
|
|
$ scp target:/path/to/filename.svg .
|
|
|
|
* if the target machine port 8888 is not directly accessible, you may
|
|
have to forward its 8888 port:
|
|
|
|
$ ssh target -L 8888:localhost:8888 -Nf
|