Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kahypar segmentation fault during hyperoptimization #48

Closed
balopat opened this issue Jan 7, 2025 · 4 comments
Closed

kahypar segmentation fault during hyperoptimization #48

balopat opened this issue Jan 7, 2025 · 4 comments

Comments

@balopat
Copy link

balopat commented Jan 7, 2025

Repro code:

import cotengra as ctg
import faulthandler

faulthandler.enable()

# fmt: off
inputs = [('i0', 'i1'), ('i2', 'i3', 'i4'), ('i5', 'i6', 'i7'), ('i8', 'i9', 'i10'), ('i11', 'i12', 'i13'), ('i14', 'i15', 'i16'), ('i17', 'i18', 'i19'), ('i20', 'i21'), ('i22', 'i23', 'i2', 'i0'), ('i24', 'i25', 'i5', 'i3'), ('i26', 'i27', 'i8', 'i6'), ('i28', 'i29', 'i11', 'i9'), ('i30', 'i31', 'i14', 'i12'), ('i32', 'i33', 'i17', 'i15'), ('i34', 'i35', 'i20', 'i18'), ('i36', 'i22', 'i37'), ('i23', 'i38', 'i39', 'i24', 'i40'), ('i25', 'i41', 'i42', 'i26', 'i43'), ('i27', 'i44', 'i45', 'i28', 'i46'), ('i29', 'i47', 'i48', 'i30', 'i49'), ('i31', 'i50', 'i51', 'i32', 'i52'), ('i33', 'i53', 'i54', 'i34', 'i55'), ('i35', 'i56', 'i57'), ('i58', 'i59', 'i38', 'i36'), ('i60', 'i61', 'i41', 'i39'), ('i62', 'i63', 'i44', 'i42'), ('i64', 'i65', 'i47', 'i45'), ('i66', 'i67', 'i50', 'i48'), ('i68', 'i69', 'i53', 'i51'), ('i70', 'i71', 'i56', 'i54'), ('i72', 'i58', 'i73'), ('i59', 'i74', 'i75', 'i60', 'i76'), ('i61', 'i77', 'i78', 'i62', 'i79'), ('i63', 'i80', 'i81', 'i64', 'i82'), ('i65', 'i83', 'i84', 'i66', 'i85'), ('i67', 'i86', 'i87', 'i68', 'i88'), ('i69', 'i89', 'i90', 'i70', 'i91'), ('i71', 'i92', 'i93'), ('i94', 'i95', 'i74', 'i72'), ('i96', 'i97', 'i77', 'i75'), ('i98', 'i99', 'i80', 'i78'), ('i100', 'i101', 'i83', 'i81'), ('i102', 'i103', 'i86', 'i84'), ('i104', 'i105', 'i89', 'i87'), ('i106', 'i107', 'i92', 'i90'), ('i108', 'i94', 'i109'), ('i95', 'i110', 'i111', 'i96', 'i112'), ('i97', 'i113', 'i114', 'i98', 'i115'), ('i99', 'i116', 'i117', 'i100', 'i118'), ('i101', 'i119', 'i120', 'i102', 'i121'), ('i103', 'i122', 'i123', 'i104', 'i124'), ('i105', 'i125', 'i126', 'i106', 'i127'), ('i107', 'i128', 'i129'), ('i130', 'i131', 'i110', 'i108'), ('i132', 'i133', 'i113', 'i111'), ('i134', 'i135', 'i116', 'i114'), ('i136', 'i137', 'i119', 'i117'), ('i138', 'i139', 'i122', 'i120'), ('i140', 'i141', 'i125', 'i123'), ('i142', 'i143', 'i128', 'i126'), ('i144', 'i130', 'i145'), ('i131', 'i146', 'i147', 'i132', 'i148'), ('i133', 'i149', 'i150', 'i134', 'i151'), ('i135', 'i152', 'i153', 'i136', 'i154'), ('i137', 'i155', 'i156', 'i138', 'i157'), ('i139', 'i158', 'i159', 'i140', 'i160'), ('i141', 'i161', 'i162', 'i142', 'i163'), ('i143', 'i164', 'i165'), ('i166', 'i167', 'i146', 'i144'), ('i168', 'i169', 'i149', 'i147'), ('i170', 'i171', 'i152', 'i150'), ('i172', 'i173', 'i155', 'i153'), ('i174', 'i175', 'i158', 'i156'), ('i176', 'i177', 'i161', 'i159'), ('i178', 'i179', 'i164', 'i162'), ('i180', 'i166', 'i181'), ('i167', 'i182', 'i183', 'i168', 'i184'), ('i169', 'i185', 'i186', 'i170', 'i187'), ('i171', 'i188', 'i189', 'i172', 'i190'), ('i173', 'i191', 'i192', 'i174', 'i193'), ('i175', 'i194', 'i195', 'i176', 'i196'), ('i177', 'i197', 'i198', 'i178', 'i199'), ('i179', 'i200', 'i201'), ('i202', 'i203', 'i182', 'i180'), ('i204', 'i205', 'i185', 'i183'), ('i206', 'i207', 'i188', 'i186'), ('i208', 'i209', 'i191', 'i189'), ('i210', 'i211', 'i194', 'i192'), ('i212', 'i213', 'i197', 'i195'), ('i214', 'i215', 'i200', 'i198'), ('i216', 'i202', 'i217'), ('i203', 'i218', 'i219', 'i204', 'i220'), ('i205', 'i221', 'i222', 'i206', 'i223'), ('i207', 'i224', 'i225', 'i208', 'i226'), ('i209', 'i227', 'i228', 'i210', 'i229'), ('i211', 'i230', 'i231', 'i212', 'i232'), ('i213', 'i233', 'i234', 'i214', 'i235'), ('i215', 'i236', 'i237'), ('i238', 'i239', 'i218', 'i216'), ('i240', 'i241', 'i221', 'i219'), ('i242', 'i243', 'i224', 'i222'), ('i244', 'i245', 'i227', 'i225'), ('i246', 'i247', 'i230', 'i228'), ('i248', 'i249', 'i233', 'i231'), ('i250', 'i251', 'i236', 'i234'), ('i238', 'i252'), ('i239', 'i240', 'i253'), ('i241', 'i242', 'i254'), ('i243', 'i244', 'i255'), ('i245', 'i246', 'i256'), ('i247', 'i248', 'i257'), ('i249', 'i250', 'i258'), ('i251', 'i259')]
output = ('i1', 'i4', 'i7', 'i10', 'i13', 'i16', 'i19', 'i21', 'i37', 'i40', 'i43', 'i46', 'i49', 'i52', 'i55', 'i57', 'i73', 'i76', 'i79', 'i82', 'i85', 'i88', 'i91', 'i93', 'i109', 'i112', 'i115', 'i118', 'i121', 'i124', 'i127', 'i129', 'i145', 'i148', 'i151', 'i154', 'i157', 'i160', 'i163', 'i165', 'i181', 'i184', 'i187', 'i190', 'i193', 'i196', 'i199', 'i201', 'i217', 'i220', 'i223', 'i226', 'i229', 'i232', 'i235', 'i237', 'i252', 'i253', 'i254', 'i255', 'i256', 'i257', 'i258', 'i259')
size_dict = {'i0': 1, 'i1': 1, 'i2': 1, 'i3': 1, 'i4': 1, 'i5': 1, 'i6': 1, 'i7': 1, 'i8': 1, 'i9': 1, 'i10': 1, 'i11': 1, 'i12': 1, 'i13': 1, 'i14': 1, 'i15': 1, 'i16': 1, 'i17': 1, 'i18': 1, 'i19': 1, 'i20': 1, 'i21': 1, 'i22': 1, 'i23': 1, 'i24': 1, 'i25': 1, 'i26': 1, 'i27': 1, 'i28': 1, 'i29': 1, 'i30': 1, 'i31': 1, 'i32': 1, 'i33': 1, 'i34': 1, 'i35': 1, 'i36': 1, 'i37': 1, 'i38': 1, 'i39': 1, 'i40': 1, 'i41': 1, 'i42': 1, 'i43': 1, 'i44': 1, 'i45': 1, 'i46': 1, 'i47': 1, 'i48': 1, 'i49': 1, 'i50': 1, 'i51': 1, 'i52': 1, 'i53': 1, 'i54': 1, 'i55': 1, 'i56': 1, 'i57': 1, 'i58': 1, 'i59': 1, 'i60': 1, 'i61': 1, 'i62': 1, 'i63': 1, 'i64': 1, 'i65': 1, 'i66': 1, 'i67': 1, 'i68': 1, 'i69': 1, 'i70': 1, 'i71': 1, 'i72': 1, 'i73': 1, 'i74': 1, 'i75': 1, 'i76': 1, 'i77': 1, 'i78': 1, 'i79': 1, 'i80': 1, 'i81': 1, 'i82': 1, 'i83': 1, 'i84': 1, 'i85': 1, 'i86': 1, 'i87': 1, 'i88': 1, 'i89': 1, 'i90': 1, 'i91': 1, 'i92': 1, 'i93': 1, 'i94': 1, 'i95': 1, 'i96': 1, 'i97': 1, 'i98': 1, 'i99': 1, 'i100': 1, 'i101': 1, 'i102': 1, 'i103': 1, 'i104': 1, 'i105': 1, 'i106': 1, 'i107': 1, 'i108': 1, 'i109': 1, 'i110': 1, 'i111': 1, 'i112': 1, 'i113': 1, 'i114': 1, 'i115': 1, 'i116': 1, 'i117': 1, 'i118': 1, 'i119': 1, 'i120': 1, 'i121': 1, 'i122': 1, 'i123': 1, 'i124': 1, 'i125': 1, 'i126': 1, 'i127': 1, 'i128': 1, 'i129': 1, 'i130': 1, 'i131': 1, 'i132': 1, 'i133': 1, 'i134': 1, 'i135': 1, 'i136': 1, 'i137': 1, 'i138': 1, 'i139': 1, 'i140': 1, 'i141': 1, 'i142': 1, 'i143': 1, 'i144': 1, 'i145': 1, 'i146': 1, 'i147': 1, 'i148': 1, 'i149': 1, 'i150': 1, 'i151': 1, 'i152': 1, 'i153': 1, 'i154': 1, 'i155': 1, 'i156': 1, 'i157': 1, 'i158': 1, 'i159': 1, 'i160': 1, 'i161': 1, 'i162': 1, 'i163': 1, 'i164': 1, 'i165': 1, 'i166': 1, 'i167': 1, 'i168': 1, 'i169': 1, 'i170': 1, 'i171': 1, 'i172': 1, 'i173': 1, 'i174': 1, 'i175': 1, 'i176': 1, 'i177': 1, 'i178': 1, 'i179': 1, 'i180': 1, 'i181': 1, 'i182': 1, 'i183': 1, 'i184': 1, 'i185': 1, 'i186': 1, 'i187': 1, 'i188': 1, 'i189': 1, 'i190': 1, 'i191': 1, 'i192': 1, 'i193': 1, 'i194': 1, 'i195': 1, 'i196': 1, 'i197': 1, 'i198': 1, 'i199': 1, 'i200': 1, 'i201': 1, 'i202': 1, 'i203': 1, 'i204': 1, 'i205': 1, 'i206': 1, 'i207': 1, 'i208': 1, 'i209': 1, 'i210': 1, 'i211': 1, 'i212': 1, 'i213': 1, 'i214': 1, 'i215': 1, 'i216': 1, 'i217': 1, 'i218': 1, 'i219': 1, 'i220': 1, 'i221': 1, 'i222': 1, 'i223': 1, 'i224': 1, 'i225': 1, 'i226': 1, 'i227': 1, 'i228': 1, 'i229': 1, 'i230': 1, 'i231': 1, 'i232': 1, 'i233': 1, 'i234': 1, 'i235': 1, 'i236': 1, 'i237': 1, 'i238': 1, 'i239': 1, 'i240': 1, 'i241': 1, 'i242': 1, 'i243': 1, 'i244': 1, 'i245': 1, 'i246': 1, 'i247': 1, 'i248': 1, 'i249': 1, 'i250': 1, 'i251': 1, 'i252': 1, 'i253': 1, 'i254': 1, 'i255': 1, 'i256': 1, 'i257': 1, 'i258': 1, 'i259': 1}
# fmt: on

opt = ctg.HyperOptimizer(
    minimize="flops",
    reconf_opts={},
    parallel=False,
    progbar=True,
)

opt.search(inputs, output, size_dict)

If I run this, I get after a while:

F=2.05 C=3.86 S=0.00 P=6.83:   5%|████▉                                                                                                    | 6/128 [00:04<01:41,  1.21it/s]Fatal Python error: Segmentation fault

Thread 0x00007fc1baa306c0 (most recent call first):
  File "/usr/lib/python3.12/threading.py", line 359 in wait
  File "/usr/lib/python3.12/threading.py", line 655 in wait
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/tqdm/_monitor.py", line 60 in run
  File "/usr/lib/python3.12/threading.py", line 1073 in _bootstrap_inner
  File "/usr/lib/python3.12/threading.py", line 1030 in _bootstrap

Current thread 0x00007fc20ce98040 (most recent call first):
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/cotengra/pathfinders/path_kahypar.py", line 135 in kahypar_subgraph_find_membership
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/cotengra/core.py", line 3817 in build_divide
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/cotengra/core.py", line 3896 in trial_fn
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/cotengra/hyperoptimizers/hyper.py", line 107 in base_trial_fn
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/cotengra/hyperoptimizers/hyper.py", line 117 in __call__
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/cotengra/hyperoptimizers/hyper.py", line 201 in __call__
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/cotengra/hyperoptimizers/hyper.py", line 292 in __call__
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/cotengra/hyperoptimizers/hyper.py", line 593 in _gen_results
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/tqdm/std.py", line 1181 in __iter__
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/cotengra/hyperoptimizers/hyper.py", line 693 in _search
  File "/home/balopat/.virtualenvs/tnqec/lib/python3.12/site-packages/cotengra/hyperoptimizers/hyper.py", line 722 in search
  File "/home/balopat/proj/tnqec/scratch/repro.py", line 20 in <module>

Extension modules: cytoolz.utils, cytoolz.itertoolz, cytoolz.functoolz, cytoolz.dicttoolz, cytoolz.recipes, numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator (total: 18)
Segmentation fault (core dumped)

Any help is appreciated, thank you!

@balopat
Copy link
Author

balopat commented Jan 7, 2025

It seems that uninstalling kahypar and running with the 'labels' driver works.

@jcmgray
Copy link
Owner

jcmgray commented Jan 7, 2025

Thanks for the issue @balopat. Is there any way to dump the exact inputs, output, size_dict being supplied to kahypar_subgraph_find_membership (which may be some subgraph of the original inputs)? It may be something that needs to be upstreamed to kahypar, given that the labels driver works (note that this is much lower quality however!).

@balopat
Copy link
Author

balopat commented Jan 7, 2025

Sure!

I also printed out the kwargs passed to the kahypar hypergraph:

{'num_nodes': 24, 'num_edges': 0, 'index_vector': [0], 'edge_vector': [], 'k': 2}

This is the debug line before calling partition:

    print(repr(hypergraph_kwargs))
    kahypar.partition(hypergraph, context)

This tells me that cotengra is passing an empty edge_vector - which then they don't handle with a nice error message. But I'm just guessing.

But the input, outputs, size_dict passed to kahypar_subgraph_find_membership are here too for more debugging:

inputs=(('i26', 'i27', 'i8', 'i6'), ('i28', 'i29', 'i11', 'i9'), ('i60', 'i61', 'i41', 'i39'), ('i70', 'i71', 'i56', 'i54'), ('i94', 'i95', 'i74', 'i72'), ('i98', 'i99', 'i80', 'i78'), ('i100', 'i101', 'i83', 'i81'), ('i106', 'i107', 'i92', 'i90'), ('i130', 'i131', 'i110', 'i108'), ('i132', 'i133', 'i113', 'i111'), ('i136', 'i137', 'i119', 'i117'), ('i138', 'i139', 'i122', 'i120'), ('i140', 'i141', 'i125', 'i123'), ('i168', 'i169', 'i149', 'i147'), ('i170', 'i171', 'i152', 'i150'), ('i178', 'i179', 'i164', 'i162'), ('i206', 'i207', 'i188', 'i186'), ('i208', 'i209', 'i191', 'i189'), ('i210', 'i211', 'i194', 'i192'), ('i214', 'i215', 'i200', 'i198'), ('i238', 'i239', 'i218', 'i216'), ('i246', 'i247', 'i230', 'i228'), ('i248', 'i249', 'i233', 'i231'), ('i250', 'i251', 'i236', 'i234'))
output=('i26', 'i27', 'i8', 'i6', 'i28', 'i29', 'i11', 'i9', 'i60', 'i61', 'i41', 'i39', 'i70', 'i71', 'i56', 'i54', 'i94', 'i95', 'i74', 'i72', 'i98', 'i99', 'i80', 'i78', 'i100', 'i101', 'i83', 'i81', 'i106', 'i107', 'i92', 'i90', 'i130', 'i131', 'i110', 'i108', 'i132', 'i133', 'i113', 'i111', 'i136', 'i137', 'i119', 'i117', 'i138', 'i139', 'i122', 'i120', 'i140', 'i141', 'i125', 'i123', 'i168', 'i169', 'i149', 'i147', 'i170', 'i171', 'i152', 'i150', 'i178', 'i179', 'i164', 'i162', 'i206', 'i207', 'i188', 'i186', 'i208', 'i209', 'i191', 'i189', 'i210', 'i211', 'i194', 'i192', 'i214', 'i215', 'i200', 'i198', 'i238', 'i239', 'i218', 'i216', 'i246', 'i247', 'i230', 'i228', 'i248', 'i249', 'i233', 'i231', 'i250', 'i251', 'i236', 'i234')
size_dict={'i0': 1.3600237005931644, 'i1': 1.1276974174693717, 'i2': 1.3039227258593173, 'i3': 1.2032512010842429, 'i4': 1.1219735559955248, 'i5': 1.0244337009519555, 'i6': 1.1043782613562343, 'i7': 1.160446977316257, 'i8': 1.708254776521187, 'i9': 1.3391725752519168, 'i10': 1.1556938748000256, 'i11': 1.3044583238983867, 'i12': 1.2447040986489766, 'i13': 1.063182018042369, 'i14': 1.1802995029291843, 'i15': 1.0103066349589984, 'i16': 1.2619222741416236, 'i17': 1.1247646559650193, 'i18': 1.001219701474099, 'i19': 1.610060206461795, 'i20': 1.2087315218158885, 'i21': 1.005190430706792, 'i22': 1.704889833521352, 'i23': 2.4684672847988063, 'i24': 1.007963902819785, 'i25': 1.312808694907832, 'i26': 1.2197221060301349, 'i27': 1.1638104577747512, 'i28': 1.0328424206320885, 'i29': 1.0185631092902567, 'i30': 1.1416912133071886, 'i31': 1.8748890992144025, 'i32': 1.8773144058813587, 'i33': 1.2200204461957214, 'i34': 2.3193083348355517, 'i35': 1.0287047025558596, 'i36': 1.0825733014609622, 'i37': 1.3512335008280176, 'i38': 1.381502261663205, 'i39': 2.075272731552468, 'i40': 1.194887311296395, 'i41': 1.2754422890286676, 'i42': 3.7262469022336617, 'i43': 1.1563723098649257, 'i44': 2.039539296095641, 'i45': 1.1749054917209802, 'i46': 1.0997009417377512, 'i47': 1.0728433424591444, 'i48': 1.6627066059689328, 'i49': 2.4720365754040916, 'i50': 2.0683779895856906, 'i51': 5.067401137990558, 'i52': 1.074083656333942, 'i53': 1.0538406545165755, 'i54': 2.2150884486296274, 'i55': 1.4459814971508842, 'i56': 1.6055325432770542, 'i57': 1.009893194819099, 'i58': 1.0673718306594193, 'i59': 1.419186386626598, 'i60': 1.4585999379511654, 'i61': 1.4102211913919178, 'i62': 1.1867708469000449, 'i63': 1.2410960128681368, 'i64': 2.4221630030373573, 'i65': 1.2165411539390087, 'i66': 1.5903101034301046, 'i67': 1.0642462365745313, 'i68': 1.0540879621095478, 'i69': 1.2637458391876921, 'i70': 1.169935169603448, 'i71': 1.4965049769469287, 'i72': 2.031245405404544, 'i73': 1.217067051132564, 'i74': 1.4081650111008326, 'i75': 1.083476885523357, 'i76': 1.45951996843858, 'i77': 1.451230768175898, 'i78': 1.2184225661078578, 'i79': 1.2874115820843932, 'i80': 2.1212972994769848, 'i81': 1.1998944170930002, 'i82': 1.3170567561823912, 'i83': 1.1803392911473023, 'i84': 1.3560274001489296, 'i85': 1.0012997775835397, 'i86': 2.9539245302367623, 'i87': 1.8267961945202664, 'i88': 1.248073713308305, 'i89': 1.3992263193474914, 'i90': 1.168268499832812, 'i91': 2.7995192074856985, 'i92': 1.2098602838618702, 'i93': 2.1511965891810334, 'i94': 1.117126255717562, 'i95': 1.352662365423885, 'i96': 1.4598940551098618, 'i97': 1.4625753007734237, 'i98': 1.722414854438946, 'i99': 1.0532915216966627, 'i100': 1.7764046674295577, 'i101': 1.2779687490595322, 'i102': 1.5159172013270379, 'i103': 1.240925119873424, 'i104': 1.25035823981202, 'i105': 1.0986537329528432, 'i106': 1.7319201933748454, 'i107': 1.2199089212539855, 'i108': 1.0724406941375797, 'i109': 1.1169010168041498, 'i110': 2.083713181042413, 'i111': 1.0322602501993874, 'i112': 1.2972856493722387, 'i113': 1.2679633770969156, 'i114': 1.435059100318947, 'i115': 1.2135836207713686, 'i116': 1.4858614223596611, 'i117': 1.0635585349557737, 'i118': 1.4975883487700397, 'i119': 1.7722970585007263, 'i120': 1.2302716560848772, 'i121': 1.0202225591973155, 'i122': 2.542708199886925, 'i123': 1.0026736207833167, 'i124': 1.0695119806649442, 'i125': 2.3858841656133967, 'i126': 1.1438511998091587, 'i127': 1.4161851517263848, 'i128': 1.4901108792844582, 'i129': 1.6660571647291074, 'i130': 1.259417076375489, 'i131': 1.105871489920524, 'i132': 1.982425152133584, 'i133': 1.2623842644311165, 'i134': 1.2857855781585292, 'i135': 1.4224883795684984, 'i136': 1.366539304607488, 'i137': 1.8279050651004418, 'i138': 1.0356614969661722, 'i139': 1.7201950643217623, 'i140': 1.2173695828653943, 'i141': 1.0194980240651659, 'i142': 1.1606116504189474, 'i143': 1.6542576118646677, 'i144': 1.1706213277436284, 'i145': 1.5463394878580385, 'i146': 1.6600747363534414, 'i147': 1.4269328422540424, 'i148': 1.3975376738138658, 'i149': 1.5671053719446393, 'i150': 1.4121909421638472, 'i151': 1.8512882772340586, 'i152': 1.0433256118662695, 'i153': 1.7066231652284998, 'i154': 1.135532406468088, 'i155': 1.0430416603398596, 'i156': 1.2090077225464217, 'i157': 1.1481678673472695, 'i158': 1.6552311921555765, 'i159': 1.107756116942766, 'i160': 1.8306557452711123, 'i161': 2.045163134223242, 'i162': 1.8141241222542208, 'i163': 1.240576615105805, 'i164': 1.1479394176815767, 'i165': 1.5386148617547812, 'i166': 2.1464712236215453, 'i167': 1.384648055732394, 'i168': 1.1169470823279861, 'i169': 1.3017218837433582, 'i170': 1.0225277010541263, 'i171': 1.139792413917561, 'i172': 1.8283379393690495, 'i173': 1.4402119418561499, 'i174': 2.1159646587346357, 'i175': 1.1253220899212024, 'i176': 1.214803468695127, 'i177': 1.5004502099556845, 'i178': 1.0943141008735786, 'i179': 1.5391616744945984, 'i180': 1.1855733870086245, 'i181': 1.5745936828327785, 'i182': 1.1731004415561728, 'i183': 1.672308066205586, 'i184': 1.095146631154266, 'i185': 1.3383752100381907, 'i186': 1.1063649399934854, 'i187': 1.8894794146304887, 'i188': 1.0498114481525596, 'i189': 1.1354813255754992, 'i190': 1.3221681978281021, 'i191': 1.0402592403945639, 'i192': 1.6601422048424117, 'i193': 1.3262706568987552, 'i194': 1.1708627215759055, 'i195': 1.2673650866069939, 'i196': 1.158833950593381, 'i197': 1.5984894563248684, 'i198': 2.8110147710023448, 'i199': 1.1770087769297022, 'i200': 1.857048788785578, 'i201': 1.1901645679692034, 'i202': 1.1794295981482406, 'i203': 1.0360536424377256, 'i204': 1.0028406720313043, 'i205': 1.0142095741807644, 'i206': 1.3283676843860652, 'i207': 1.1271404946159458, 'i208': 1.4097236391045582, 'i209': 1.3155293087484259, 'i210': 1.0092206558444043, 'i211': 1.9316352997964608, 'i212': 1.9903826183052344, 'i213': 1.1945534439284229, 'i214': 1.2382316609328636, 'i215': 1.6923839222752852, 'i216': 1.1851545136739197, 'i217': 2.8696881063375113, 'i218': 1.0445970258125379, 'i219': 1.0032694250530723, 'i220': 1.8795408106299267, 'i221': 1.1625060878879185, 'i222': 1.1961735030502154, 'i223': 1.0105579034279033, 'i224': 1.1596418400180664, 'i225': 2.0449131254071533, 'i226': 1.098783852210487, 'i227': 1.0659509150263045, 'i228': 1.4989549002549694, 'i229': 1.0668588626333648, 'i230': 1.6900004581633836, 'i231': 1.2832787510481016, 'i232': 1.3114203331135594, 'i233': 1.2411447348374205, 'i234': 1.0672918661782462, 'i235': 1.7090357248178158, 'i236': 1.07741753520279, 'i237': 2.2121184076592653, 'i238': 2.1490606644670454, 'i239': 1.240335270721229, 'i240': 1.4770258263232174, 'i241': 1.5464836356916973, 'i242': 1.0882516768096002, 'i243': 1.129071437365264, 'i244': 1.7967403451919912, 'i245': 1.785288187243502, 'i246': 1.1212794969747528, 'i247': 1.0331219519320576, 'i248': 2.110532366252579, 'i249': 1.7486787860721376, 'i250': 1.1281471680770243, 'i251': 1.9446863649069837, 'i252': 3.7409716756777236, 'i253': 1.1120854098457895, 'i254': 1.131133250365576, 'i255': 1.42503600227538, 'i256': 1.1433458737207152, 'i257': 1.2092935554233146, 'i258': 1.1640779048699046, 'i259': 1.1494704931777027}

@jcmgray
Copy link
Owner

jcmgray commented Jan 7, 2025

Yes so the problem is that fixing the many output nodes to a single partition later results in a completely disconnected hypergraph with no edges, as you found. Will push a fix shortly!

@jcmgray jcmgray closed this as completed in 9ff5f8a Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants