SpaceGroupUCL / depthmapX

depthmapX is a multi-platform Spatial Network Analysis Software
198 stars 52 forks source link

parallelization of axial analysis #73

Open RvDijk opened 6 years ago

RvDijk commented 6 years ago

I'm trying to run an axial analysis on a large graph file, however the computation takes a really long time (more than 3 days). It seems to be the case that the axial analysis runs on a single CPU while more are available. Is it possible to use more CPU's, if so, how? I'm running the analysis on a linux cluster (centos7) with 24 CPU's available. The command is run as following:

./depthmapXcli -m AXIAL -f ./graphs/some_graph.graph -o ./some_new_graph.graph -xa n -xac

The -xac is to include the betweenness.

I also have a comment on how to build depthmapX on a linux system as described here: https://github.com/SpaceGroupUCL/depthmapX/wiki/Building-and-Deployment In order to ''make'' I had to provide the <stdexcept> library in the salalib/attributes.cpp file and also in the shapemap.cpp file.

pklampros commented 6 years ago

Hello RvDijk. Unfortunately depthmapX does not do parallel computation... You are welcome to dig into the code and provide an implementation to do that though!

Thank you for the linux build comment; it doesn't seem to affect the mac/windows releases. Feel free to create a pull request with that library!

RvDijk commented 6 years ago

@orange-vertex thanks for the fast reply. I'll try to look into speeding up the process since I just found out that the calculation will take about 10 days otherwise.

RvDijk commented 6 years ago

@orange-vertex I found the part that is the bottleneck. However this part is programmed in a way that is not easy to parallelize. Solving this would take too much time for me..

pklampros commented 6 years ago

@RvDijk Yes, as this app was made ages ago and is quite complex, there's no easy way to quickly re-wire things to make it do what you want... Therefore yes, an addition like this will take time and effort from the people interested in pursuing it, but will also benefit the whole community!