11# ParMETIS
22
3+ [ ![ ci] ( https://github.com/scivision/ParMETIS/actions/workflows/ci.yml/badge.svg )] ( https://github.com/scivision/ParMETIS/actions/workflows/ci.yml )
4+
35ParMETIS is an MPI-based library for partitioning graphs, partitioning finite element meshes,
46and producing fill reducing orderings for sparse matrices. The algorithms implemented in
57ParMETIS are based on the multilevel recursive-bisection, multilevel k-way, and multi-constraint
@@ -12,71 +14,14 @@ You can download ParMETIS by simply cloning it using the command:
1214git clone https://github.com/KarypisLab/ParMETIS.git
1315```
1416
15- ## Building the ParMETIS library
1617
1718To build ParMETIS you can follow the instructions below:
1819
19- ### Dependencies
20-
21- General dependencies for building ParMETIS are: gcc, cmake, build-essential, and an MPI library.
22- In Ubuntu systems these can be obtained from the apt package manager (e.g., apt-get install cmake, mpich, etc)
23-
24- ```
25- sudo apt-get install build-essential
26- sudo apt-get install cmake
27- ```
28-
29- In addition, you need to download and install
30- [ GKlib] ( https://github.com/KarypisLab/GKlib ) and
31- [ METIS] ( https://github.com/KarypisLab/METIS ) by following the instructions there.
32-
33-
34- ### Building and installing ParMETIS
35-
36- ParMETIS is primarily configured by passing options to make config. For example:
37-
38- ```
39- make config cc=mpicc prefix=~/local
40- make install
41- ```
42-
43- will configure ParMETIS to be built using mpicc and then install the binaries, header files, and libraries at
44-
20+ ``` sh
21+ cmake --workflow --preset default
4522```
46- ~/local/bin
47- ~/local/include
48- ~/local/lib
49- ```
50-
51- directories, respectively.
52-
53- ### Common configuration options are:
54-
55- cc=[compiler] - The C compiler to use [default is determined by CMake]
56- shared=1 - Build a shared library instead of a static one [off by default]
57- prefix=[PATH] - Set the installation prefix [~/local by default]
58- gklib_path=[PATH] - Set the prefix path where GKlib has been installed. You can skip
59- this if GKlib's installation prefix is the same as that of ParMETIS.
60- metis_path=[PATH] - Set the prefix path where METIS has been installed. You can skip
61- this if METIS' installation prefix is the same as that of ParMETIS.
62-
63- ### Advanced debugging related options:
64-
65- gdb=1 - Build with support for GDB [off by default]
66- debug=1 - Enable debugging support [off by default]
67- assert=1 - Enable asserts [off by default]
68- assert2=1 - Enable very expensive asserts [off by default]
69-
70- ### Other make commands
71-
72- make uninstall
73- Removes all files installed by 'make install'.
7423
75- make clean
76- Removes all object files but retains the configuration options.
7724
78- make distclean
79- Performs clean and completely removes the build directory.
8025
8126### Definitions of supported data types
8227
0 commit comments