Skip to content

Commit c0e52da

Browse files
readme updates, build script updates
1 parent 5161777 commit c0e52da

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

README.md

+10-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
The Jet Partitioner is a parallel graph partitioner that runs on most CPU and GPU systems (via Kokkos, a required dependency).
44
This partitioner was developed in a collaboration between Sandia National Labs and Pennsylvania State University.
5-
For details about the algorithm, please see https://arxiv.org/abs/2304.13194
5+
For details about the algorithm, please see https://arxiv.org/abs/2304.13194
6+
If you intend to cite this partitioner in a publication, please cite https://doi.org/10.1137/23M1559129
67

78
## Dependencies
89

@@ -15,7 +16,7 @@ Metis (https://github.com/KarypisLab/METIS): Used for initial partitioning of co
1516

1617
### Building
1718

18-
Standard CMake build process. CMake version >= 3.23 required. If your Metis build requires GKlib, add `-DLINK_GKLIB=True` to your cmake command when building Jet. Example build scripts are provided for macOS with OpenMP and Linux systems with Cuda. These scripts handle all required dependencies.
19+
Standard CMake build process. CMake version >= 3.23 required. If your Metis build requires GKlib, add `-DLINK_GKLIB=True` to your cmake command when building Jet. You can add `-DMETIS_HINT=<metis install location>` to help cmake find metis (and gklib if it has the same install location) if you have not added metis to your relevant path variables. Example build scripts are provided for macOS with OpenMP and Linux systems with Cuda. These scripts handle all required dependencies.
1920

2021
### Executables
2122

@@ -30,13 +31,18 @@ jet\_serial: jet but runs on the host on a single thread.
3031
pstat: Given a metis graph file, partition file, and k-value, will print out quality information on the partition.
3132

3233
### Using Jet Partitioner in Your Code
33-
We provide a cmake package that you can install on your system. Add `find_package(jet CONFIG REQUIRED)` in your project's CMakeLists.txt file and link your executable/s to `jet::jet`. Include `jet.h` in your code to use one of the provided partitioning functions. Each function is distinguished by the target Kokkos execution space it will run in and the type of KokkosKernels CrsMatrix which it accepts. Reference `jet_defs.h` for the relevant template definitions of these parameters. You can set the desired part count and imbalance values on the input config_t struct.
34+
We provide a cmake package that you can install on your system. Add `find_package(jet CONFIG REQUIRED)` to your project's CMakeLists.txt file and link your executable/s to `jet::jet`. Include `jet.h` in your code to use one of the provided partitioning functions. Each function is distinguished by the target Kokkos execution space it will run in and the type of KokkosKernels CrsMatrix which it accepts. Reference `jet_defs.h` for the relevant template definitions of these parameters. You can set the desired part count and imbalance values on the input config_t struct (see `jet_config.h` for other parameters).
35+
36+
#### Tips
37+
On Linux systems, you can create a file `~/.cmake/packages/jet/find.txt` that cmake will automatically use to find the jet cmake package.
38+
Inside this file, add the full path to the jet install directory.
3439

3540
### Input Format
36-
We do not yet support vertex weights within metis graph files.
41+
The partitioner executables accept graphs stored in the metis graph file format. We do not yet support vertex weights within metis graph files.
3742

3843
### Config File format:
3944
\<Coarsening algorithm\> (0 for 2-hop matching)/(1 for HEC)/(2 for pure matching)/(default is 2-hop matching)
4045
\<Number of parts\>
4146
\<Partitioning attempts\>
4247
\<Imbalance value\>
48+
\<Ultra quality settings\> (Optional) 1 to enable, 0 to disable (default)

setup_gpu.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,4 @@ cd build
4444
cmake $ipwd -DCMAKE_PREFIX_PATH=$loc/install/kokkos-kernels/lib/cmake/KokkosKernels \
4545
-DCMAKE_BUILD_TYPE=Release \
4646
-DLINK_GKLIB=True -DMETIS_HINT="$loc/local" -DCMAKE_INSTALL_PREFIX="$ipwd/install"
47-
make -j
47+
make install -j

setup_mac.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ cd build
4242
cmake $ipwd -DCMAKE_PREFIX_PATH=$loc/install/kokkos-kernels/lib/cmake/KokkosKernels \
4343
-DCMAKE_CXX_COMPILER=$compiler -DCMAKE_BUILD_TYPE=Release \
4444
-DLINK_GKLIB=True -DMETIS_HINT="$loc/local" -DCMAKE_INSTALL_PREFIX="$ipwd/install"
45-
make -j
45+
make install -j

0 commit comments

Comments
 (0)