Skip to main content

Mt-KaHyPar: Multi-Threaded Karlsruhe Hypergraph Partitioning

Project description

Mt-KaHyPar - Multi-Threaded Karlsruhe Graph and Hypergraph Partitioner

License Linux, MacOS & Windows Build Code Coverage Zenodo
License: MIT Build Status codecov DOI

Table of Contents

About Mt-KaHyPar

Mt-KaHyPar is a shared-memory algorithm for partitioning graphs and hypergraphs. The balanced (hyper)graph partitioning problem asks for a partition of the node set of a (hyper)graph into k disjoint blocks of roughly the same size (usually a small imbalance is allowed by at most 1 + ε times the average block weight), while simultaneously minimizing an objective function defined on the (hyper)edges. Mt-KaHyPar can optimize the cut-net, connectivity, sum-of-external-degrees, and Steiner tree metric (see Supported Objective Functions).

alt textalt text

The highest-quality configuration of Mt-KaHyPar computes partitions that are on par with those produced by the best sequential partitioning algorithms, while being almost an order of magnitude faster with only ten threads (e.g., when compared to KaFFPa or KaHyPar). Besides our high-quality configuration, we provide several other faster configurations that are already able to outperform most of the existing partitioning algorithms with regard to solution quality and running time. The figure below summarizes the time-quality trade-off of different hypergraph (left, connectivity metric) and graph partitioning algorithms (right, cut-net metric). The plot is based on an experiment with over 800 graphs and hypergraphs and relates the average solution quality and running time of each algorithm to the best achievable results. Points on the lower-left are considered better. Partially transparent markers indicate solvers producing more than 15% infeasible partitions (either imbalanced or timeout). For more details, we refer the reader to our publications.

time_quality_trade_off

Features

Besides its fast and high-quality partitioning algorithm, Mt-KaHyPar provides many other useful features:

  • Scalability: Mt-KaHyPar has excellent scaling behaviour (up to 25 with 64 threads), while increasing the number of threads does not adversely affect the solution quality.
  • Deterministic Partitioning: Mt-KaHyPar offers a high-quality deterministic partitioning algorithm, ensuring consistent solutions for the same input and random seed.
  • Large K Partitioning: We provide a partitioning configuration for partitioning (hyper)graphs into a large number of blocks (e.g., k > 1024).
  • Graph Partitioning: Mt-KaHyPar includes optimized data structures for graph partitioning, achieving a speedup by a factor of two for plain graphs.
  • Objective Functions: Mt-KaHyPar can optimize the cut-net, connectivity, and sum-of-external-degrees metric (for more details, see Supported Objective Functions)
  • Mapping (Hyper)Graphs Onto Graphs: In many applications (e.g., distributed computation), the partition is assigned to a communication network that can be represented as a graph. However, conventional objective functions do not consider the topology of the target graph. We therefore provide a mode that maps the nodes of a (hyper)graph onto a target graph via the Steiner tree metric.
  • Fixed Vertices: Fixed vertices are nodes that are preassigned to a particular block and are not allowed to change their block during partitioning.

Installing Mt-KaHyPar

For Linux (x86) and MacOS, the Mt-KaHyPar Python package can be installed via pip:

pip install mtkahypar

We also provide Debian packages that contain the CLI application and the C library interface for the latest release.

Building Mt-KaHyPar from Source

Mt-KaHyPar requires:

  • A 64-bit Linux, MacOS, or Windows operating system.
  • A modern, C++17-ready compiler such as g++ version 7 or higher, clang version 11.0.3 or higher, or MinGW compiler on Windows.
  • The cmake build system (>= 3.26).
  • The Boost - Program Options library and the boost header files (>= 1.48). If you don't want to install boost by yourself, you can add the -DKAHYPAR_DOWNLOAD_BOOST=On flag to the cmake command to download, extract, and build the necessary dependencies automatically.
  • The Intel Thread Building Blocks library (TBB, minimum required version is OneTBB 2021.5.0). If you don't want to install TBB by yourself, you can add the -DKAHYPAR_DOWNLOAD_TBB=On flag to the cmake command to download oneTBB and extract the necessary dependencies automatically.
  • The Portable Hardware Locality library (hwloc). This dependency is not strictly necessary, you can add the -DKAHYPAR_DISABLE_HWLOC=On flag to remove it.

Linux

The following command will install most of the required dependencies on a Ubuntu machine:

sudo apt-get install libtbb-dev libhwloc-dev libboost-program-options-dev

MacOS

The following command will install most of the required dependencies on a MacOS machine:

brew install tbb boost hwloc

Windows

The following instructions set up the environment used to build Mt-KaHyPar on Windows machines:

  1. Download and install MSYS2 from the official website (https://www.msys2.org/).
  2. Launch the MSYS2 MinGW x64 terminal.
  3. Update the package manager database by running the following command:
pacman -Syu
  1. The following command will then install all required dependencies:
pacman -S make mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-python3 mingw-w64-x86_64-boost mingw-w64-x86_64-tbb

Build Commands

To build Mt-KaHyPar, use the following commands:

  1. Clone the repository including submodules:

    git clone https://github.com/kahypar/mt-kahypar.git

  2. Create a build directory: mkdir build && cd build

  3. Only on Windows machines: export CMAKE_GENERATOR="MSYS Makefiles"

  4. Run cmake: cmake .. --preset=<default/python/dev>

  5. Run make: make MtKaHyPar -j

The build produces the executable MtKaHyPar, which can be found in build/mt-kahypar/application/.

As a user of Mt-KaHyPar, the default cmake preset is appropriate (or python for installing the Python interface). If you work on Mt-KaHyPar or want to run benchmarks, use the dev preset.

Please note that Mt-KaHyPar was primarily tested and evaluated on Linux machines. While a Windows build has been provided and tested on MSYS2 using pacman to install the required dependencies, we cannot provide any performance guarantees or ensure that the Windows version is free of bugs. We are happy to accept contributions to improve Windows support.

Running Mt-KaHyPar

To partition a hypergraph with our default configuration, you can use the following command:

./mt-kahypar/application/MtKaHyPar -h <path-to-hgr> --preset-type=default -t <# threads> -k <# blocks> -e <imbalance (e.g. 0.03)> -o km1

Partitioning Configurations

Mt-KaHyPar provides several partitioning configurations with different time-quality trade-offs. The configurations are stored in ini files located in the config folder. However, we recommend using the --preset-type command line parameter to run Mt-KaHyPar with a specific partitioning configuration:

--preset-type=<default/quality/highest_quality/deterministic/deterministic_quality/large_k>
  • default: computes good partitions very fast
  • quality: computes high-quality partitions (uses flow-based refinement)
  • highest_quality: highest-quality configuration (uses n-level coarsening and flow-based refinement)
  • deterministic: fast deterministic partitioning
  • deterministic_quality: high-quality deterministic partitioning (uses flow-based refinement)
  • large_k: configuration for partitioning (hyper)graphs into a large number of blocks (e.g. >= 1024 blocks)

The presets can be ranked from lowest quality to highest quality as follows: large_k, default, deterministic, quality, deterministic_quality, and highest_quality (the quality of the matching deterministic and non-deterministic configurations is roughly equivalent). We recommend using the default configuration to compute good partitions very fast and the quality configuration to compute high-quality solutions. The highest_quality configuration computes better partitions than our quality configuration by 0.5% on average at the cost of a two times longer running time for medium-sized instances (up to 100 million pins). When you have to partition a (hyper)graph into a large number of blocks (e.g., >= 1024 blocks), you can use our large_k configuration. However, we only recommend using this if you experience high running times with one of our other configurations as this can significantly worsen the partitioning quality.

Objective Functions

Mt-KaHyPar can optimize the cut-net, connectivity, and sum-of-external-degrees metric (see Supported Objective Functions).

-o <cut/km1/soed>

Graph Partitioning

To partition a graph with Mt-KaHyPar, you can add the following command line parameters to the partitioning call:

-h <path-to-graph> --instance-type=graph --input-file-format=<metis/hmetis> -o cut

Mt-KaHyPar then uses optimized data structures for graph partitioning, which speeds up the partitioning time by a factor of two compared to our hypergraph partitioning code. Per default, we expect the input in hMetis format, but you can read graph files in Metis format via --input-file-format=metis.

Mapping (Hyper)Graphs onto Graphs

To map a (hyper)graph onto a target graph with Mt-KaHyPar, you can add the following command line parameters to the partitioning call:

-g <path-to-target-graph> -o steiner_tree

The target graph is expected to be in Metis format. The nodes of the (hyper)graph are then mapped onto the nodes of the target graph, while optimizing the Steiner tree metric (see Supported Objective Functions).

Fixed Vertices

Fixed vertices are nodes that are preassigned to particular block and are not allowed to change their block during partitioning. Mt-KaHyPar reads fixed vertices from a file in the hMetis fix file format, which can be provided via the following command line parameter:

-f <path-to-fixed-vertex-file>

Note that fixed vertices are only supported in our default, quality, and highest_quality configurations.

Individual Target Block Weights

Per default, Mt-KaHyPar enforces that the weight of each block must be smaller than the average block weight (weight of the hypergraph divided by the number of blocks) times (1 + ε). However, you can provide individual target block weights for each block via

--part-weights=weight_of_block_0 weight_of_block_1 ... weight_of_block_k

Note that the sum of all individual target block weights must be larger than the total weight of all nodes.

Write Partition to Output File

To enable writing the partition to a file after partitioning, you can add the following command line parameters to the partitioning call:

--write-partition-file=true --partition-output-folder=<path/to/folder>

The partition file name is generated automatically based on parameters such as k, imbalance, seed and the input file name and will be located in the folder specified by --partition-output-folder. If you do not provide a partition output folder, the partition file will be placed in the same folder as the input hypergraph file.

Other Useful Program Options

There are several useful options that can provide you with additional insights during and after the partitioning process:

  • --verbose=true: Displays detailed information on the partitioning process
  • --show-detailed-timings=true: Shows detailed sub-timings of each phase of the algorithm at the end of partitioning
  • --enable-progress-bar=true: Shows a progress bar during the coarsening and refinement phase

If you want to change other configuration parameters manually, please run --help for a detailed description of the different program options.

Using Mt-KaHyPar as a library

We provide a simple C interface to use Mt-KaHyPar as a library, as well as a Python interface. On Linux or MacOS, the C library can be built and installed via

make install-mtkahypar  # use sudo (Linux & MacOS) or run shell as an administrator (Windows) to install system-wide

Note: When installing locally, the build will exit with an error due to missing permissions. However, the library is still built successfully and is available in the build folder.

To remove the library from your system use the provided uninstall target:

make uninstall-mtkahypar

Integration via Cmake

If possible, the best way to integrate the C library is directly via cmake using the MtKaHyPar::mtkahypar target.

If the library is installed on the system, it can be used via find_package:

find_package(MtKaHyPar)
if(MtKaHyPar_FOUND)
  add_executable(example example.cc)
  target_link_libraries(example MtKaHyPar::mtkahypar)
endif()

Alternatively, you can use Mt-KaHyPar directly via FetchContent:

FetchContent_Declare(
  MtKaHyPar EXCLUDE_FROM_ALL
  GIT_REPOSITORY https://github.com/kahypar/mt-kahypar
  GIT_TAG        v1.5
)
FetchContent_MakeAvailable(MtKaHyPar)

add_executable(example example.cc)
target_link_libraries(example MtKaHyPar::mtkahypar)

When including Mt-KaHyPar directly, it is also possible to control static versus dynamic linking with the BUILD_SHARED_LIBS and KAHYPAR_STATIC_LINK_DEPENDENCIES cmake options (note that static linking support is still experimental and not available for the installed library).

The C Library Interface

The library interface can be found in include/mtkahypar.h with a detailed documentation. We also provide several examples that show how to use the library.

Here is a short example of how you can partition a hypergraph using our library interface:

#include <cassert>
#include <memory>
#include <vector>
#include <iostream>
#include <thread>

#include <mtkahypar.h>

int main(int argc, char* argv[]) {
  mt_kahypar_error_t error{};

  // Initialize
  mt_kahypar_initialize(
    std::thread::hardware_concurrency() /* use all available cores */,
    true /* activate interleaved NUMA allocation policy */ );

  // Setup partitioning context
  mt_kahypar_context_t* context = mt_kahypar_context_from_preset(DEFAULT);
  // In the following, we partition a hypergraph into two blocks
  // with an allowed imbalance of 3% and optimize the connective metric (KM1)
  mt_kahypar_set_partitioning_parameters(context,
    2 /* number of blocks */, 0.03 /* imbalance parameter */,
    KM1 /* objective function */);
  mt_kahypar_set_seed(42 /* seed */);
  // Enable logging
  mt_kahypar_status_t status =
    mt_kahypar_set_context_parameter(context, VERBOSE, "1", &error);
  assert(status == SUCCESS);

  // Load Hypergraph for DEFAULT preset
  mt_kahypar_hypergraph_t hypergraph =
    mt_kahypar_read_hypergraph_from_file("path/to/hypergraph/file",
      context, HMETIS /* file format */, &error);
  if (hypergraph.hypergraph == nullptr) {
    std::cout << error.msg << std::endl; std::exit(1);
  }

  // Partition Hypergraph
  mt_kahypar_partitioned_hypergraph_t partitioned_hg =
    mt_kahypar_partition(hypergraph, context, &error);
  if (partitioned_hg.partitioned_hg == nullptr) {
    std::cout << error.msg << std::endl; std::exit(1);
  }

  // Extract Partition
  auto partition = std::make_unique<mt_kahypar_partition_id_t[]>(
    mt_kahypar_num_hypernodes(hypergraph));
  mt_kahypar_get_partition(partitioned_hg, partition.get());

  // Extract Block Weights
  auto block_weights = std::make_unique<mt_kahypar_hypernode_weight_t[]>(2);
  mt_kahypar_get_block_weights(partitioned_hg, block_weights.get());

  // Compute Metrics
  const double imbalance = mt_kahypar_imbalance(partitioned_hg, context);
  const int km1 = mt_kahypar_km1(partitioned_hg);

  // Output Results
  std::cout << "Partitioning Results:" << std::endl;
  std::cout << "Imbalance         = " << imbalance << std::endl;
  std::cout << "Km1               = " << km1 << std::endl;
  std::cout << "Weight of Block 0 = " << block_weights[0] << std::endl;
  std::cout << "Weight of Block 1 = " << block_weights[1] << std::endl;

  mt_kahypar_free_context(context);
  mt_kahypar_free_hypergraph(hypergraph);
  mt_kahypar_free_partitioned_hypergraph(partitioned_hg);
}

We recommend integrating the library via cmake into your project, to manage compiling and linking automatically.

However, it is also possible to directly compile the program using g++:

g++ -std=c++17 -DNDEBUG -O3 your_program.cc -o your_program -lmtkahypar

To execute the produced binary, you need to ensure that the installation directory (probably /usr/local/lib on Linux and C:\Program Files (x86)\MtKaHyPar\bin on Windows) is included in the dynamic library path (LD_LIBRARY_PATH on Linux, PATH on Windows).

Note that we internally use different data structures to represent a (hyper)graph based on the corresponding configuration (mt_kahypar_preset_type_t). The mt_kahypar_hypergraph_t structure stores a pointer to this data structure and also a type description. Therefore, you can not partition a (hyper)graph with all available configurations once it is loaded or constructed. However, you can check the compatibility of a hypergraph with a configuration with the following code:

mt_kahypar_context_t* context = mt_kahypar_context_from_preset(QUALITY);
// Check if the hypergraph is compatible with the QUALITY preset
if ( mt_kahypar_check_compatibility(hypergraph, QUALITY) ) {
  mt_kahypar_partitioned_hypergraph_t partitioned_hg =
    mt_kahypar_partition(hypergraph, context, &error);
}

The Python Library Interface

You can install the Python library interface via

make mtkahypar_python

This will create a shared library in the build/python folder (mtkahypar.so on Linux and mtkahypar.pyd on Windows). Copy the libary to your Python project directory to import Mt-KaHyPar as a Python module.

A documentation of the Python module can be found by importing the module (import mtkahypar) and calling help(mtkahypar) in Python. We also provide several examples that show how to use the Python interface.

Here is a short example of how you can partition a hypergraph using our Python interface:

import multiprocessing
import mtkahypar

# Initialize
mtk = mtkahypar.initialize(multiprocessing.cpu_count()) # use all available cores

# Setup partitioning context
context = mtk.context_from_preset(mtkahypar.PresetType.DEFAULT)
# In the following, we partition a hypergraph into two blocks
# with an allowed imbalance of 3% and optimize the connectivity metric
context.set_partitioning_parameters(
  2,                       # number of blocks
  0.03,                    # imbalance parameter
  mtkahypar.Objective.KM1) # objective function
mtkahypar.set_seed(42)     # seed
context.logging = True

# Load hypergraph from file (assumes hMetis file format per default)
hypergraph = mtk.hypergraph_from_file("path/to/hypergraph/file", context)

# Partition hypergraph
partitioned_hg = hypergraph.partition(context)

# Output metrics
print("Partition Stats:")
print("Imbalance = " + str(partitioned_hg.imbalance(context)))
print("km1       = " + str(partitioned_hg.km1()))
print("Block Weights:")
for i in partitioned_hg.blocks():
  print(f"Weight of Block {i} = {partitioned_hg.block_weight(i)}")

We also provide an optimized graph data structure for partitioning plain graphs. The following example loads and partitions a graph:

# Load graph from file (assumes Metis file format per default)
graph = mtkahypar.graph_from_file("path/to/graph/file", context)

# Partition graph
partitioned_graph = graph.partition(context)

Note that we internally use different data structures to represent a (hyper)graph based on the corresponding configuration (PresetType). Therefore, you can not partition a (hyper)graph with all available configurations once it is loaded or constructed. However, you can check the compatibility of a hypergraph with a configuration with the following code:

context = mtk.context_from_preset(mtkahypar.PresetType.QUALITY)
# Check if the hypergraph is compatible with the QUALITY preset
if hypergraph.is_compatible(context.preset):
   partitioned_hg = hypergraph.partition(context)

Supported Objective Functions

Mt-KaHyPar can optimize several objective functions which we explain in the following in more detail.

Cut-Net Metric

cut_net

The cut-net metric is defined as total weight of all nets spanning more than one block of the partition Π (also called cut nets).

Connectivity Metric

connectivity

The connectivity metric additionally multiplies the weight of each cut net with the number of blocks λ(e) spanned by that net minus one. Thus, the connectivity metric tries to minimize the number of blocks connected by each net.

Sum-of-external-Degrees Metric

soed

The sum-of-external-degrees metric is similar to the connectivity metric, but does not subtract one from the number of blocks λ(e) spanned by a net. A peculiarity of this objective function is that removing a net from the cut reduces the metric by 2ω(e), while reducing the connectivity by one reduces the metric only by ω(e). Thus, the objective function prefers removing nets from the cut, while as a secondary criterion, it tries to reduce the connectivity of the nets.

Steiner Tree Metric

steiner_tree

The Steiner tree metric is the most versatile metric that we provide at the moment. A Steiner tree is a tree with minimal weight that connects a subset of the nodes on a graph (a more detailed definition can be found here). For a subset with exactly two nodes, finding a Steiner tree reverts to computing the shortest path between the two nodes. When optimizing the Steiner tree metric, we map the node set of a hypergraph H onto the nodes of a target graph G. The objective is to minimize the total weight of all Steiner trees induced by the nets of H on G. For a net e, dist(Λ(e)) is the weight of the minimal Steiner tree connecting the blocks Λ(e) spanned by net e on G. The Steiner tree metric can be used to accurately model wire-lengths in VLSI design or communication costs in distributed systems when some processors do not communicate with each other directly or with different speeds.

Note that finding a Steiner tree is an NP-hard problem. We therefore enforce a strict upper bound on the number of nodes of the target graph G, which is 64 nodes at the moment. If you want to map a hypergraph onto larger target graphs, you can use recursive partitioning. For example, if you want to map a hypergraph onto a graph with 4096 nodes, you can first partition the hypergraph into 64 blocks, and then map each block of the partition onto a subgraph of the target graph with 64 nodes.

Custom Objective Functions

Our implementation uses a common interface for all gain computation techniques that we use in our refinement algorithms. This enables us to extend Mt-KaHyPar with new objective functions without having to modify the internal implementation of the refinement algorithms. A step-by-step guide on how you can implement your own objective function can be found here.

Improving Compile Times

Mt-KaHyPar implements several graph and hypergraph data structures, and supports different objective functions. In the hot parts of the algorithm, each combination of (hyper)graph data structure and objective function is compiled separately, which notably increases the compile time. We therefore provide the cmake preset minimal to disable some of the features of Mt-KaHyPar for faster compilation.

With this, only the deterministic, deterministic_quality, default, and quality configurations are available in combination with the cut-net or connectivity metric. Using a disabled feature will throw an error. Note that you can only disable the features in our binary, not in the C and Python interface.

For more fine-grained control, you can directly use the corresponding cmake flags:

-DKAHYPAR_ENABLE_GRAPH_PARTITIONING_FEATURES=On/Off # enables/disables graph partitioning features
-DKAHYPAR_ENABLE_HIGHEST_QUALITY_FEATURES=On/Off # enables/disables our highest-quality configuration
-DKAHYPAR_ENABLE_LARGE_K_PARTITIONING_FEATURES=On/Off # enables/distables large k partitioning features
-DKAHYPAR_ENABLE_SOED_METRIC=On/Off # enables/disables sum-of-external-degrees metric
-DKAHYPAR_ENABLE_STEINER_TREE_METRIC=On/Off # enables/disables Steiner tree metric

Bug Reports

We encourage you to report any problems with Mt-KaHyPar via the github issue tracking system of the project.

Licensing

Mt-KaHyPar is a free software provided under the MIT License. For more information see the LICENSE file. We distribute this framework freely to foster the use and development of hypergraph partitioning tools. If you use Mt-KaHyPar in an academic setting please cite the appropriate papers.

// Mt-KaHyPar-D
@inproceedings{MT-KAHYPAR-D,
  title     = {Scalable Shared-Memory Hypergraph Partitioning},
  author    = {Gottesbüren, Lars and
               Heuer, Tobias and
               Sanders, Peter and
               Schlag, Sebastian},
  booktitle = {23rd Workshop on Algorithm Engineering and Experiments (ALENEX 2021)},
  pages     = {16--30},
  year      = {2021},
  publisher = {SIAM},
  doi       = {10.1137/1.9781611976472.2},
}

// Mt-KaHyPar-Q
@inproceedings{MT-KAHYPAR-Q,
  title     = {Shared-Memory $n$-level Hypergraph Partitioning},
  author    = {Lars Gottesb{\"{u}}ren and
               Tobias Heuer and
               Peter Sanders and
               Sebastian Schlag},
  booktitle = {24th Workshop on Algorithm Engineering and Experiments (ALENEX 2022)},
  year      = {2022},
  publisher = {SIAM},
  month     = {01},
  doi       = {10.1137/1.9781611977042.11}
}

// Mt-KaHyPar-Q-F
@inproceedings{MT-KaHyPar-Q-F,
  title       =	{Parallel Flow-Based Hypergraph Partitioning},
  author      =	{Lars Gottesb\"{u}ren and
                 Tobias Heuer and
                 Peter Sanders},
  booktitle   =	{20th International Symposium on Experimental Algorithms (SEA 2022)},
  pages       =	{5:1--5:21},
  year        =	{2022},
  volume      =	{233},
  publisher   =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  doi         =	{10.4230/LIPIcs.SEA.2022.5}
}

// Deterministic Partitioning
@inproceedings{MT-KAHYPAR-SDET,
  author    = {Lars Gottesb{\"{u}}ren and
               Michael Hamann},
  title     = {Deterministic Parallel Hypergraph Partitioning},
  booktitle = {European Conference on Parallel Processing (Euro-Par)},
  volume    = {13440},
  pages     = {301--316},
  publisher = {Springer},
  year      = {2022},
  doi       = {10.1007/978-3-031-12597-3\_19},
}

// Unconstrained Refinement
@inproceedings{MT-KAHYPAR-UNCONSTRAINED,
  author       = {Nikolai Maas and
                  Lars Gottesb{\"{u}}ren and
                  Daniel Seemaier},
  editor       = {Rezaul Chowdhury and
                  Solon P. Pissis},
  title        = {Parallel Unconstrained Local Search for Partitioning Irregular Graphs},
  booktitle    = {Symposium on Algorithm Engineering and Experiments (ALENEX 2024)},
  pages        = {32--45},
  publisher    = {{SIAM}},
  year         = {2024},
  doi          = {10.1137/1.9781611977929.3},
}

// Steiner Tree Objective
@inproceedings{MT-KAHYPAR-STEINER-TREES,
  author       = {Tobias Heuer},
  editor       = {Rezaul Chowdhury and
                  Solon P. Pissis},
  title        = {A Direct \emph{k-}Way Hypergraph Partitioning Algorithm for Optimizing
                  the Steiner Tree Metric},
  booktitle    = {Symposium on Algorithm Engineering and Experiments (ALENEX 2024)},
  pages        = {15--31},
  publisher    = {{SIAM}},
  year         = {2024},
  doi          = {10.1137/1.9781611977929.2}
}

// Dissertation of Lars Gottesbüren
@phdthesis{MT-KAHYPAR-DIS-GOTTESBUEREN,
  author         = {Lars Gottesb\"{u}ren},
  year           = {2023},
  title          = {Parallel and Flow-Based High-Quality Hypergraph Partitioning},
  doi            = {10.5445/IR/1000157894},
  pagetotal      = {256},
  school         = {Karlsruhe Institute of Technology}
}

// Dissertation of Tobias Heuer
@phdthesis{MT-KAHYPAR-DIS-HEUER,
    author       = {Heuer, Tobias},
    year         = {2022},
    title        = {Scalable High-Quality Graph and Hypergraph Partitioning},
    doi          = {10.5445/IR/1000152872},
    pagetotal    = {242},
    school       = {Karlsruhe Institute of Technology}
}

// Mt-KaHyPar Journal Paper
@article{MT-KAHYPAR-JOURNAL,
  author       = {Lars Gottesb{\"{u}}ren and
                  Tobias Heuer and
                  Nikolai Maas and
                  Peter Sanders and
                  Sebastian Schlag},
  title        = {Scalable High-Quality Hypergraph Partitioning},
  journal      = {{ACM} Transactions on Algorithms},
  volume       = {20},
  number       = {1},
  pages        = {9:1--9:54},
  year         = {2024},
  doi          = {10.1145/3626527},
}

Contributing

If you are interested in contributing to the Mt-KaHyPar framework feel free to contact us or create an issue on the issue tracking system.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mtkahypar-1.5.3.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mtkahypar-1.5.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mtkahypar-1.5.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mtkahypar-1.5.3-cp314-cp314t-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

mtkahypar-1.5.3-cp314-cp314t-macosx_10_15_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

mtkahypar-1.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mtkahypar-1.5.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mtkahypar-1.5.3-cp314-cp314-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

mtkahypar-1.5.3-cp314-cp314-macosx_10_15_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

mtkahypar-1.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mtkahypar-1.5.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mtkahypar-1.5.3-cp313-cp313-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mtkahypar-1.5.3-cp313-cp313-macosx_10_13_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

mtkahypar-1.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mtkahypar-1.5.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mtkahypar-1.5.3-cp312-cp312-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mtkahypar-1.5.3-cp312-cp312-macosx_10_13_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

mtkahypar-1.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mtkahypar-1.5.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mtkahypar-1.5.3-cp311-cp311-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mtkahypar-1.5.3-cp311-cp311-macosx_10_13_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

mtkahypar-1.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mtkahypar-1.5.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mtkahypar-1.5.3-cp310-cp310-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

mtkahypar-1.5.3-cp310-cp310-macosx_10_13_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.10macOS 10.13+ x86-64

mtkahypar-1.5.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mtkahypar-1.5.3-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mtkahypar-1.5.3-cp39-cp39-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

mtkahypar-1.5.3-cp39-cp39-macosx_10_13_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.9macOS 10.13+ x86-64

mtkahypar-1.5.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mtkahypar-1.5.3-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mtkahypar-1.5.3-cp38-cp38-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

mtkahypar-1.5.3-cp38-cp38-macosx_10_13_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.8macOS 10.13+ x86-64

File details

Details for the file mtkahypar-1.5.3.tar.gz.

File metadata

  • Download URL: mtkahypar-1.5.3.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mtkahypar-1.5.3.tar.gz
Algorithm Hash digest
SHA256 bb4a04456b10ee9ed730db942def040cd657fe8caec14a14fe20da65d8cfde6c
MD5 2b47577e7688dcd0bb99fdf14fcd313a
BLAKE2b-256 2e092cb31bc08dfc7770a20ea3909aa673e054acd75e1746f3a4c2f65892a568

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3.tar.gz:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9c244364f379ecdc6003715b3b00e3e68dfe708a36c17ace151979d0656fcf01
MD5 c5893269cea79800852b0b2b4141d819
BLAKE2b-256 72ef36ee5d2a360a378679c72c4bd7b737c26698f64cdd822729a2e1ad7770cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1a1e5546396ddf5b6ffa5c3090f348fcfd11985b472177cd63b254671b747916
MD5 9683db39b1982e60bf3e3b42c932751a
BLAKE2b-256 79a7cb873b2ad3fc353fb34d932c7fafe0248025816a3a48d1a8c29bc0f108d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6c7dc7903544dfbccc1d3b47daf498265aba354ef31076664749b7922a815240
MD5 6f5af7ead4667f4e30b1ee2432ba6ec7
BLAKE2b-256 8559466fc891b17286646adc200db5f65ec35385fce27e36580a09644a29b920

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 99a0684cbcd8954ce6be12baf53f62895a4c74d2927783142bc9b596836825b3
MD5 3fca4c8a7abd22acf19fd6888285880f
BLAKE2b-256 e9b5966d7a999c939657dd65c8357aaab3efaf612b727058827d9275d4ce19e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp314-cp314t-macosx_10_15_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7277b9ca408035ad59e0642a3ce92468686a4188c9398546abc317449b96ef55
MD5 0d62664be39d7c8a43404727b416da74
BLAKE2b-256 1f151dc52f1af929b9e86f046bf6252c622ad558ec08c8c731b37832936c3a6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d83d3acfce28755b7e2da02a6a71b33b3161ab5f42bd44bf55e634f2985194f2
MD5 359c726c0f8ca6a427d5806a6b39b16c
BLAKE2b-256 f7163857d901e9cd290d25ca1001482c024a4d76a8273df6e7c6a584b9dde8ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc39593a6b80c8e8925e039ca76c01fa8637e01c3eb55b634c6d11783b921fb0
MD5 a9ff6374803ec90c48b137c032e8c875
BLAKE2b-256 f46442318c3072f3bb8515b4d88274150fa2e968e39de210f30ce2f6f7a2e13d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 076b11f827adefba93e6f2d4abac6fe3d634c576c5afb8ccda2666cc75792ebd
MD5 511c09951240d7e1076dce1346090677
BLAKE2b-256 751d9bf3699df17ff37ba1d8b22d3ebab7bb339ccabac48e4bf46ef7ce07e2dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b9210739bf4773f2ad7a0e66ef6a8a5059b3ca5eeddab59e7cc6848f36d71ee7
MD5 ee94f623eaa6f9a6e54591dd56274812
BLAKE2b-256 9d273b46018d79956a1f958a903bbd279cfc823437e40d78d7bae810e0f0197b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6ec9b02c9302eb00bff7f09114bae99d2c3135aa1996be5bc0693036bf1c57b4
MD5 413040c18981fba65d525b20eaff5271
BLAKE2b-256 7c467318b30bf4fe0780af9fedb898906f851479c2170c751629fb935571184a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 756e78bca9ebe6c573f9f6cd656dfa1dfba6d7cd85aa7a8c054b45d8277d627f
MD5 39eb8b2ec53fbc05831d8dd9d62a029e
BLAKE2b-256 28466e89e5329693777d5cb7d6138efb25d3bf3b2ef6eaf44e8111ab9fe38343

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 087c97ddcf8a2d825bba2c924327ecba24fa3b58e3e372f1c2f577d97adfb616
MD5 365d1fa07139964e2142a6593bfc4d03
BLAKE2b-256 599bc8a9025f7fe8286c9001ccb37602c99bb9da9957753c924c1ebdc5adc99e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4380647368d3191eac5b7cccdfa46f630a5748866492bdac98eff86e1c7a2545
MD5 80618c258ac00af717ff3ef44c4894fa
BLAKE2b-256 86ad3a6a5f0b6514f82dbb85a8b44efd33ddbe9224f2a72cdeb6bdaf55339e6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 37f6dbcae782052aedc045b9ff24215b7942a968a9b37a2eab7f8be419ec5882
MD5 6fbafa12f0a9ccd7dc014a3c457361ce
BLAKE2b-256 ab415cd9af1e50cc7bf6689d86065328f11c34c12dfd6d741f8c28cb496f0c18

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 09445fe632b80ad910d2c64a23ae7a6fc19a8b6c0a8b2a1acedb7bc1979d92e2
MD5 9bb69cdd298af7da4b94f76f1c4bec4c
BLAKE2b-256 d525b90d2d8d82c83bc236375bde3c7fd1d8204eb1f332de43d4a60560f7fcb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f5d112697bd89cdc3d413f8339e3b99e6eec6a473ff21782dca1ea5141c6c8e4
MD5 7b97695f0a78d8901de557e932202bc6
BLAKE2b-256 0a8baca52755506ca3e679ee9f77b5977539d4234b1605a2f8e50416b35adc1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab8d90da327a462b0c291aea31c271b770657e1a993384229fe06166ab44efd1
MD5 df3ecc03ac7e6e683852de9247cec578
BLAKE2b-256 b98c85d04db0ebd3f5ade701b97932a9a860a55eb077fe129e7cf9cf7a35d1ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b59746bc154b3fb394dbc5f0824c6b706f8157cd8b56c5f7e999d16376a345d3
MD5 5cd7a6de2771179d3414407725a0f08d
BLAKE2b-256 c35cac1bfdc64584d80a5ffef1df1533aa81d9f5738afeae971ade98d71d4ef9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0fd6f92ff31a537c7d76b2cae7db7efecbffe8ae67b99140fa2443ce28d415f3
MD5 1c4687f7a4f08e6bc56aafef70002a3e
BLAKE2b-256 f1730cb02cac021559b5303b12357f888580daee4f99b0991bea5ec50e068bb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp311-cp311-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 29ed94ccda0790279b30ec3329f427c401e677b34c7a0f2d1018158f74ae7c76
MD5 a8bc2d53410c14848e20075aa2c0e3e4
BLAKE2b-256 6b058b3b0c1bfdf4e6b0a5a643dff614956208668264865e6247a6c1518afff7

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp311-cp311-macosx_10_13_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3f1294613c4027df1df209793f664a5eba35f53034f46b2e0a784b5f6116660b
MD5 df69c9484eee45431b5f63459820c9e6
BLAKE2b-256 5fab9f7368887537889207b1cc2617943fa97d5412c3a6132f1a7799c49bffc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8f9006233a0bedafa5c9254ee7615acf22b4268af0cf48af9dc776e216b661b4
MD5 964462f751714ffc1be5c13c012d8aa6
BLAKE2b-256 39225f677082d5e9ac06d7b859e9992102b065b69c60759b18eef68dd4114472

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71ac51168000d97d3891bb8f6b62959f888c99837124bfa56dcbb9570f4afacd
MD5 016df396bbdba534eef7f59ee6110933
BLAKE2b-256 f4e08464daee90d76bdb17e3997860a599433d2f601a1136d353f95108d07027

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp310-cp310-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 86f5cafad0cdd0f4f37d24f70c88bef50b0f75014139d58774512b496e365d60
MD5 620063ed146c5a4ee6da6c47f888430c
BLAKE2b-256 ff70ef8791514db041f72cc3a350cec4fd8ea4aeb65d3fb88c6c1f3e5974d720

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp310-cp310-macosx_10_13_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b37abd68fd5bc34b09c67c5cd74f6d3310502cee1c80189a71f73fef2deea7b
MD5 54257bca5bdee877abf9a5b26c10c1ad
BLAKE2b-256 832f2fae737f4c125fba286171f1117bf409ef72996fbe08c66edbc7d901db09

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1ade0827c0c399e34bbb4d8ba46f5c67e552e0d4bf726a34cd8eb2b66a5d2f24
MD5 10f49929a0c22a60184508fd152b3342
BLAKE2b-256 513ab32c2183dac36336e2c169539e9f6dd8be900f08bcf5ec495e93e82ba653

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dcd072f69731415a641c23943176797aa1444245e9d4cbe138c539a58743c3b2
MD5 462537355b520fa1a97f79dc70f53396
BLAKE2b-256 81b710b90c3f8154cc28a5cdcc34b08b321cef2dbe4cf37490b6a75d8f0523d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp39-cp39-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1ecbc2fed983398d82741eb1c82b3d930ecd5098420e0717bfdf9e9d0aaa8ef4
MD5 991bdd6c3308b8a69af267f5e4b912af
BLAKE2b-256 1cc502d8e3a4da07a89433e7e115fdb3aba443cb6a9bafdc00ec6f6dc5951c9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp39-cp39-macosx_10_13_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 74b6e81ee53b9f8f9837abb8f5ad6d24101aabddd8a0da9046dc8bbec5a02dde
MD5 2d1955c1307ad4f0e25269da9c182173
BLAKE2b-256 a8c8a2e306283942a897c922a549aa28a317b40e6286acf798faf73daf3804cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 721c46c5e460c98589b2a17fc5f61ec08f19250b7f16a390d806b959b022f285
MD5 23d3bb780ac007d3cb3a245d6793a47b
BLAKE2b-256 801bb28f2ad6ffc403f7d63487d09aea53279215bc4b3116d7bb4dc4f3e9a208

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 693a9bb308aadb8c77fcad74b5ca6c19fe2b00f2f8a7f6ae9ee980c5005cff2d
MD5 1c9fcdf6fafd35974dab378e8994ff03
BLAKE2b-256 7ac135c10a87fb741cc35234084eedefdfede88fbbc8b633bbbfde2a20f27828

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mtkahypar-1.5.3-cp38-cp38-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for mtkahypar-1.5.3-cp38-cp38-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 efbfbe024f5ad0ebf23080aa7b26f2364765244ea43c9e834287935c9a392990
MD5 1204d8079f3bf459b2c1604ce7ac6913
BLAKE2b-256 d67afb61aaae66233683bef46ecf10bd677750608eb73b54fd04963e841c9d76

See more details on using hashes here.

Provenance

The following attestation bundles were made for mtkahypar-1.5.3-cp38-cp38-macosx_10_13_x86_64.whl:

Publisher: python_build_ci.yml on kahypar/mt-kahypar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page