LANA is a massively parallel, Large-scale Network Analyzer. Designed to run on MPI clusters, LANA can easily scale to massive networks. This software is currently under heavy development.
Go to the lana
folder and run:
cd build && cmake .. && make
In the build
folder run:
src/lana --help
That's it. However, if you want to specify compile options or have problems compiling, read on.
Here are some of the most useful options you can pass to CMake, LANA's build system. The syntax is simple:
cmake -D<option>=<option_value>
-
Specifies the build type for make based generators. Possible values are empty,
Debug
,Release
,RelWithDebInfo
andMinSizeRel
. These values control the level of optimization of the resulting binaries and libraries. -
Specifies the compiler to use. For example this can be set to
clang++
if you have clang installed and like useful compiler error messages.
CMake has tons of variables you can specify. For more informations take a look at the CMake documentation and the output of these commands:
cmake --help
cmake --help-variable-list
cmake --help-variable <variable>
The following variables are defined by us, you cannot find them in the official CMake documentation.
-
WITH_TESTING
Build with unit tests. By default it's disabled, set this variable to
ON
ortrue
to enable it. Once tests have finished building, run:ctest
If you want to see the output of each test, pass
-V
to it. For more informations seectest --help
and the CTest documentation. -
WITH_PERFORMANCE_TESTING
Build with performance tests. Options and usage are the same as
WITH_TESTING
, but note that the two variables are independent from each other. At the end of the test you will find logs (*.log
) and plots (*.png
) in thetests/performance
build directory. -
PERFORMANCE_TEST_SAME_SERVERS
Select the idlest servers at the start of the test and always use those. Set this variable to
ON
ortrue
to enable this behaviour. Defaults toOFF
, which means that it will re-select the idlest ones every time a process is added to the test. -
${TEST_NAME}_MAX_PROCESSES
The max number of processes to use in a performance test. Defaults to 10. Must be set individually for each performance test, for example:
-Dpage_rank_MAX_PROCESSES=120
For a list of performance test names, check
tests/performance/CMakeLists.txt
and look for the first argument of the functionadd_performance_test_executable
. -
PERFORMANCE_TEST_SERVER_LIST
The comma-separated list of servers you want to use for your performance tests. Defaults to
$(tests/performance/list_csunibo.rb)
, which executes this program in a subshell, substituting the aforementioned string with its output (refer to a UNIX shell manual for a better explanation). You will probably want to set that option to suit your environment. -
BOOST_TEST_LOG_OPTIONS
Specifies the options to pass to the test executables, see
tests/unit/degree_centrality_unit --help
for more informations. -
MPIEXEC_NUMPROCS
Specifies the number of processes to run in parallel for each MPI-enabled test.
Not all systems use standard paths and programs, or maybe you don't have root access to install things or whatever.
Here is a list of all the problems we encountered. Feel free to file a bug report with the problem and the solution and we'll add them here.
-
Boost installed in a non-standard path:
export BOOST_ROOT=/path/to/boost/prefix
-
Non-standard compiler:
export CXX=TheCompiler
-
MPI installed in a non-standard path:
declare this cmake variable (see above on how)
CMAKE_PREFIX_PATH=/path/to/mpi/prefix
LANA is released under the MIT license (see the accompanying file LICENSE.txt).