diff --git a/tig-algorithms/src/hypergraph/mod.rs b/tig-algorithms/src/hypergraph/mod.rs new file mode 100644 index 00000000..9beec594 --- /dev/null +++ b/tig-algorithms/src/hypergraph/mod.rs @@ -0,0 +1,1997 @@ +// c005_a001 + +// c005_a002 + +// c005_a003 + +// c005_a004 + +// c005_a005 + +// c005_a006 + +// c005_a007 + +// c005_a008 + +// c005_a009 + +// c005_a010 + +// c005_a011 + +// c005_a012 + +// c005_a013 + +// c005_a014 + +// c005_a015 + +// c005_a016 + +// c005_a017 + +// c005_a018 + +// c005_a019 + +// c005_a020 + +// c005_a021 + +// c005_a022 + +// c005_a023 + +// c005_a024 + +// c005_a025 + +// c005_a026 + +// c005_a027 + +// c005_a028 + +// c005_a029 + +// c005_a030 + +// c005_a031 + +// c005_a032 + +// c005_a033 + +// c005_a034 + +// c005_a035 + +// c005_a036 + +// c005_a037 + +// c005_a038 + +// c005_a039 + +// c005_a040 + +// c005_a041 + +// c005_a042 + +// c005_a043 + +// c005_a044 + +// c005_a045 + +// c005_a046 + +// c005_a047 + +// c005_a048 + +// c005_a049 + +// c005_a050 + +// c005_a051 + +// c005_a052 + +// c005_a053 + +// c005_a054 + +// c005_a055 + +// c005_a056 + +// c005_a057 + +// c005_a058 + +// c005_a059 + +// c005_a060 + +// c005_a061 + +// c005_a062 + +// c005_a063 + +// c005_a064 + +// c005_a065 + +// c005_a066 + +// c005_a067 + +// c005_a068 + +// c005_a069 + +// c005_a070 + +// c005_a071 + +// c005_a072 + +// c005_a073 + +// c005_a074 + +// c005_a075 + +// c005_a076 + +// c005_a077 + +// c005_a078 + +// c005_a079 + +// c005_a080 + +// c005_a081 + +// c005_a082 + +// c005_a083 + +// c005_a084 + +// c005_a085 + +// c005_a086 + +// c005_a087 + +// c005_a088 + +// c005_a089 + +// c005_a090 + +// c005_a091 + +// c005_a092 + +// c005_a093 + +// c005_a094 + +// c005_a095 + +// c005_a096 + +// c005_a097 + +// c005_a098 + +// c005_a099 + +// c005_a100 + +// c005_a101 + +// c005_a102 + +// c005_a103 + +// c005_a104 + +// c005_a105 + +// c005_a106 + +// c005_a107 + +// c005_a108 + +// c005_a109 + +// c005_a110 + +// c005_a111 + +// c005_a112 + +// c005_a113 + +// c005_a114 + +// c005_a115 + +// c005_a116 + +// c005_a117 + +// c005_a118 + +// c005_a119 + +// c005_a120 + +// c005_a121 + +// c005_a122 + +// c005_a123 + +// c005_a124 + +// c005_a125 + +// c005_a126 + +// c005_a127 + +// c005_a128 + +// c005_a129 + +// c005_a130 + +// c005_a131 + +// c005_a132 + +// c005_a133 + +// c005_a134 + +// c005_a135 + +// c005_a136 + +// c005_a137 + +// c005_a138 + +// c005_a139 + +// c005_a140 + +// c005_a141 + +// c005_a142 + +// c005_a143 + +// c005_a144 + +// c005_a145 + +// c005_a146 + +// c005_a147 + +// c005_a148 + +// c005_a149 + +// c005_a150 + +// c005_a151 + +// c005_a152 + +// c005_a153 + +// c005_a154 + +// c005_a155 + +// c005_a156 + +// c005_a157 + +// c005_a158 + +// c005_a159 + +// c005_a160 + +// c005_a161 + +// c005_a162 + +// c005_a163 + +// c005_a164 + +// c005_a165 + +// c005_a166 + +// c005_a167 + +// c005_a168 + +// c005_a169 + +// c005_a170 + +// c005_a171 + +// c005_a172 + +// c005_a173 + +// c005_a174 + +// c005_a175 + +// c005_a176 + +// c005_a177 + +// c005_a178 + +// c005_a179 + +// c005_a180 + +// c005_a181 + +// c005_a182 + +// c005_a183 + +// c005_a184 + +// c005_a185 + +// c005_a186 + +// c005_a187 + +// c005_a188 + +// c005_a189 + +// c005_a190 + +// c005_a191 + +// c005_a192 + +// c005_a193 + +// c005_a194 + +// c005_a195 + +// c005_a196 + +// c005_a197 + +// c005_a198 + +// c005_a199 + +// c005_a200 + +// c005_a201 + +// c005_a202 + +// c005_a203 + +// c005_a204 + +// c005_a205 + +// c005_a206 + +// c005_a207 + +// c005_a208 + +// c005_a209 + +// c005_a210 + +// c005_a211 + +// c005_a212 + +// c005_a213 + +// c005_a214 + +// c005_a215 + +// c005_a216 + +// c005_a217 + +// c005_a218 + +// c005_a219 + +// c005_a220 + +// c005_a221 + +// c005_a222 + +// c005_a223 + +// c005_a224 + +// c005_a225 + +// c005_a226 + +// c005_a227 + +// c005_a228 + +// c005_a229 + +// c005_a230 + +// c005_a231 + +// c005_a232 + +// c005_a233 + +// c005_a234 + +// c005_a235 + +// c005_a236 + +// c005_a237 + +// c005_a238 + +// c005_a239 + +// c005_a240 + +// c005_a241 + +// c005_a242 + +// c005_a243 + +// c005_a244 + +// c005_a245 + +// c005_a246 + +// c005_a247 + +// c005_a248 + +// c005_a249 + +// c005_a250 + +// c005_a251 + +// c005_a252 + +// c005_a253 + +// c005_a254 + +// c005_a255 + +// c005_a256 + +// c005_a257 + +// c005_a258 + +// c005_a259 + +// c005_a260 + +// c005_a261 + +// c005_a262 + +// c005_a263 + +// c005_a264 + +// c005_a265 + +// c005_a266 + +// c005_a267 + +// c005_a268 + +// c005_a269 + +// c005_a270 + +// c005_a271 + +// c005_a272 + +// c005_a273 + +// c005_a274 + +// c005_a275 + +// c005_a276 + +// c005_a277 + +// c005_a278 + +// c005_a279 + +// c005_a280 + +// c005_a281 + +// c005_a282 + +// c005_a283 + +// c005_a284 + +// c005_a285 + +// c005_a286 + +// c005_a287 + +// c005_a288 + +// c005_a289 + +// c005_a290 + +// c005_a291 + +// c005_a292 + +// c005_a293 + +// c005_a294 + +// c005_a295 + +// c005_a296 + +// c005_a297 + +// c005_a298 + +// c005_a299 + +// c005_a300 + +// c005_a301 + +// c005_a302 + +// c005_a303 + +// c005_a304 + +// c005_a305 + +// c005_a306 + +// c005_a307 + +// c005_a308 + +// c005_a309 + +// c005_a310 + +// c005_a311 + +// c005_a312 + +// c005_a313 + +// c005_a314 + +// c005_a315 + +// c005_a316 + +// c005_a317 + +// c005_a318 + +// c005_a319 + +// c005_a320 + +// c005_a321 + +// c005_a322 + +// c005_a323 + +// c005_a324 + +// c005_a325 + +// c005_a326 + +// c005_a327 + +// c005_a328 + +// c005_a329 + +// c005_a330 + +// c005_a331 + +// c005_a332 + +// c005_a333 + +// c005_a334 + +// c005_a335 + +// c005_a336 + +// c005_a337 + +// c005_a338 + +// c005_a339 + +// c005_a340 + +// c005_a341 + +// c005_a342 + +// c005_a343 + +// c005_a344 + +// c005_a345 + +// c005_a346 + +// c005_a347 + +// c005_a348 + +// c005_a349 + +// c005_a350 + +// c005_a351 + +// c005_a352 + +// c005_a353 + +// c005_a354 + +// c005_a355 + +// c005_a356 + +// c005_a357 + +// c005_a358 + +// c005_a359 + +// c005_a360 + +// c005_a361 + +// c005_a362 + +// c005_a363 + +// c005_a364 + +// c005_a365 + +// c005_a366 + +// c005_a367 + +// c005_a368 + +// c005_a369 + +// c005_a370 + +// c005_a371 + +// c005_a372 + +// c005_a373 + +// c005_a374 + +// c005_a375 + +// c005_a376 + +// c005_a377 + +// c005_a378 + +// c005_a379 + +// c005_a380 + +// c005_a381 + +// c005_a382 + +// c005_a383 + +// c005_a384 + +// c005_a385 + +// c005_a386 + +// c005_a387 + +// c005_a388 + +// c005_a389 + +// c005_a390 + +// c005_a391 + +// c005_a392 + +// c005_a393 + +// c005_a394 + +// c005_a395 + +// c005_a396 + +// c005_a397 + +// c005_a398 + +// c005_a399 + +// c005_a400 + +// c005_a401 + +// c005_a402 + +// c005_a403 + +// c005_a404 + +// c005_a405 + +// c005_a406 + +// c005_a407 + +// c005_a408 + +// c005_a409 + +// c005_a410 + +// c005_a411 + +// c005_a412 + +// c005_a413 + +// c005_a414 + +// c005_a415 + +// c005_a416 + +// c005_a417 + +// c005_a418 + +// c005_a419 + +// c005_a420 + +// c005_a421 + +// c005_a422 + +// c005_a423 + +// c005_a424 + +// c005_a425 + +// c005_a426 + +// c005_a427 + +// c005_a428 + +// c005_a429 + +// c005_a430 + +// c005_a431 + +// c005_a432 + +// c005_a433 + +// c005_a434 + +// c005_a435 + +// c005_a436 + +// c005_a437 + +// c005_a438 + +// c005_a439 + +// c005_a440 + +// c005_a441 + +// c005_a442 + +// c005_a443 + +// c005_a444 + +// c005_a445 + +// c005_a446 + +// c005_a447 + +// c005_a448 + +// c005_a449 + +// c005_a450 + +// c005_a451 + +// c005_a452 + +// c005_a453 + +// c005_a454 + +// c005_a455 + +// c005_a456 + +// c005_a457 + +// c005_a458 + +// c005_a459 + +// c005_a460 + +// c005_a461 + +// c005_a462 + +// c005_a463 + +// c005_a464 + +// c005_a465 + +// c005_a466 + +// c005_a467 + +// c005_a468 + +// c005_a469 + +// c005_a470 + +// c005_a471 + +// c005_a472 + +// c005_a473 + +// c005_a474 + +// c005_a475 + +// c005_a476 + +// c005_a477 + +// c005_a478 + +// c005_a479 + +// c005_a480 + +// c005_a481 + +// c005_a482 + +// c005_a483 + +// c005_a484 + +// c005_a485 + +// c005_a486 + +// c005_a487 + +// c005_a488 + +// c005_a489 + +// c005_a490 + +// c005_a491 + +// c005_a492 + +// c005_a493 + +// c005_a494 + +// c005_a495 + +// c005_a496 + +// c005_a497 + +// c005_a498 + +// c005_a499 + +// c005_a500 + +// c005_a501 + +// c005_a502 + +// c005_a503 + +// c005_a504 + +// c005_a505 + +// c005_a506 + +// c005_a507 + +// c005_a508 + +// c005_a509 + +// c005_a510 + +// c005_a511 + +// c005_a512 + +// c005_a513 + +// c005_a514 + +// c005_a515 + +// c005_a516 + +// c005_a517 + +// c005_a518 + +// c005_a519 + +// c005_a520 + +// c005_a521 + +// c005_a522 + +// c005_a523 + +// c005_a524 + +// c005_a525 + +// c005_a526 + +// c005_a527 + +// c005_a528 + +// c005_a529 + +// c005_a530 + +// c005_a531 + +// c005_a532 + +// c005_a533 + +// c005_a534 + +// c005_a535 + +// c005_a536 + +// c005_a537 + +// c005_a538 + +// c005_a539 + +// c005_a540 + +// c005_a541 + +// c005_a542 + +// c005_a543 + +// c005_a544 + +// c005_a545 + +// c005_a546 + +// c005_a547 + +// c005_a548 + +// c005_a549 + +// c005_a550 + +// c005_a551 + +// c005_a552 + +// c005_a553 + +// c005_a554 + +// c005_a555 + +// c005_a556 + +// c005_a557 + +// c005_a558 + +// c005_a559 + +// c005_a560 + +// c005_a561 + +// c005_a562 + +// c005_a563 + +// c005_a564 + +// c005_a565 + +// c005_a566 + +// c005_a567 + +// c005_a568 + +// c005_a569 + +// c005_a570 + +// c005_a571 + +// c005_a572 + +// c005_a573 + +// c005_a574 + +// c005_a575 + +// c005_a576 + +// c005_a577 + +// c005_a578 + +// c005_a579 + +// c005_a580 + +// c005_a581 + +// c005_a582 + +// c005_a583 + +// c005_a584 + +// c005_a585 + +// c005_a586 + +// c005_a587 + +// c005_a588 + +// c005_a589 + +// c005_a590 + +// c005_a591 + +// c005_a592 + +// c005_a593 + +// c005_a594 + +// c005_a595 + +// c005_a596 + +// c005_a597 + +// c005_a598 + +// c005_a599 + +// c005_a600 + +// c005_a601 + +// c005_a602 + +// c005_a603 + +// c005_a604 + +// c005_a605 + +// c005_a606 + +// c005_a607 + +// c005_a608 + +// c005_a609 + +// c005_a610 + +// c005_a611 + +// c005_a612 + +// c005_a613 + +// c005_a614 + +// c005_a615 + +// c005_a616 + +// c005_a617 + +// c005_a618 + +// c005_a619 + +// c005_a620 + +// c005_a621 + +// c005_a622 + +// c005_a623 + +// c005_a624 + +// c005_a625 + +// c005_a626 + +// c005_a627 + +// c005_a628 + +// c005_a629 + +// c005_a630 + +// c005_a631 + +// c005_a632 + +// c005_a633 + +// c005_a634 + +// c005_a635 + +// c005_a636 + +// c005_a637 + +// c005_a638 + +// c005_a639 + +// c005_a640 + +// c005_a641 + +// c005_a642 + +// c005_a643 + +// c005_a644 + +// c005_a645 + +// c005_a646 + +// c005_a647 + +// c005_a648 + +// c005_a649 + +// c005_a650 + +// c005_a651 + +// c005_a652 + +// c005_a653 + +// c005_a654 + +// c005_a655 + +// c005_a656 + +// c005_a657 + +// c005_a658 + +// c005_a659 + +// c005_a660 + +// c005_a661 + +// c005_a662 + +// c005_a663 + +// c005_a664 + +// c005_a665 + +// c005_a666 + +// c005_a667 + +// c005_a668 + +// c005_a669 + +// c005_a670 + +// c005_a671 + +// c005_a672 + +// c005_a673 + +// c005_a674 + +// c005_a675 + +// c005_a676 + +// c005_a677 + +// c005_a678 + +// c005_a679 + +// c005_a680 + +// c005_a681 + +// c005_a682 + +// c005_a683 + +// c005_a684 + +// c005_a685 + +// c005_a686 + +// c005_a687 + +// c005_a688 + +// c005_a689 + +// c005_a690 + +// c005_a691 + +// c005_a692 + +// c005_a693 + +// c005_a694 + +// c005_a695 + +// c005_a696 + +// c005_a697 + +// c005_a698 + +// c005_a699 + +// c005_a700 + +// c005_a701 + +// c005_a702 + +// c005_a703 + +// c005_a704 + +// c005_a705 + +// c005_a706 + +// c005_a707 + +// c005_a708 + +// c005_a709 + +// c005_a710 + +// c005_a711 + +// c005_a712 + +// c005_a713 + +// c005_a714 + +// c005_a715 + +// c005_a716 + +// c005_a717 + +// c005_a718 + +// c005_a719 + +// c005_a720 + +// c005_a721 + +// c005_a722 + +// c005_a723 + +// c005_a724 + +// c005_a725 + +// c005_a726 + +// c005_a727 + +// c005_a728 + +// c005_a729 + +// c005_a730 + +// c005_a731 + +// c005_a732 + +// c005_a733 + +// c005_a734 + +// c005_a735 + +// c005_a736 + +// c005_a737 + +// c005_a738 + +// c005_a739 + +// c005_a740 + +// c005_a741 + +// c005_a742 + +// c005_a743 + +// c005_a744 + +// c005_a745 + +// c005_a746 + +// c005_a747 + +// c005_a748 + +// c005_a749 + +// c005_a750 + +// c005_a751 + +// c005_a752 + +// c005_a753 + +// c005_a754 + +// c005_a755 + +// c005_a756 + +// c005_a757 + +// c005_a758 + +// c005_a759 + +// c005_a760 + +// c005_a761 + +// c005_a762 + +// c005_a763 + +// c005_a764 + +// c005_a765 + +// c005_a766 + +// c005_a767 + +// c005_a768 + +// c005_a769 + +// c005_a770 + +// c005_a771 + +// c005_a772 + +// c005_a773 + +// c005_a774 + +// c005_a775 + +// c005_a776 + +// c005_a777 + +// c005_a778 + +// c005_a779 + +// c005_a780 + +// c005_a781 + +// c005_a782 + +// c005_a783 + +// c005_a784 + +// c005_a785 + +// c005_a786 + +// c005_a787 + +// c005_a788 + +// c005_a789 + +// c005_a790 + +// c005_a791 + +// c005_a792 + +// c005_a793 + +// c005_a794 + +// c005_a795 + +// c005_a796 + +// c005_a797 + +// c005_a798 + +// c005_a799 + +// c005_a800 + +// c005_a801 + +// c005_a802 + +// c005_a803 + +// c005_a804 + +// c005_a805 + +// c005_a806 + +// c005_a807 + +// c005_a808 + +// c005_a809 + +// c005_a810 + +// c005_a811 + +// c005_a812 + +// c005_a813 + +// c005_a814 + +// c005_a815 + +// c005_a816 + +// c005_a817 + +// c005_a818 + +// c005_a819 + +// c005_a820 + +// c005_a821 + +// c005_a822 + +// c005_a823 + +// c005_a824 + +// c005_a825 + +// c005_a826 + +// c005_a827 + +// c005_a828 + +// c005_a829 + +// c005_a830 + +// c005_a831 + +// c005_a832 + +// c005_a833 + +// c005_a834 + +// c005_a835 + +// c005_a836 + +// c005_a837 + +// c005_a838 + +// c005_a839 + +// c005_a840 + +// c005_a841 + +// c005_a842 + +// c005_a843 + +// c005_a844 + +// c005_a845 + +// c005_a846 + +// c005_a847 + +// c005_a848 + +// c005_a849 + +// c005_a850 + +// c005_a851 + +// c005_a852 + +// c005_a853 + +// c005_a854 + +// c005_a855 + +// c005_a856 + +// c005_a857 + +// c005_a858 + +// c005_a859 + +// c005_a860 + +// c005_a861 + +// c005_a862 + +// c005_a863 + +// c005_a864 + +// c005_a865 + +// c005_a866 + +// c005_a867 + +// c005_a868 + +// c005_a869 + +// c005_a870 + +// c005_a871 + +// c005_a872 + +// c005_a873 + +// c005_a874 + +// c005_a875 + +// c005_a876 + +// c005_a877 + +// c005_a878 + +// c005_a879 + +// c005_a880 + +// c005_a881 + +// c005_a882 + +// c005_a883 + +// c005_a884 + +// c005_a885 + +// c005_a886 + +// c005_a887 + +// c005_a888 + +// c005_a889 + +// c005_a890 + +// c005_a891 + +// c005_a892 + +// c005_a893 + +// c005_a894 + +// c005_a895 + +// c005_a896 + +// c005_a897 + +// c005_a898 + +// c005_a899 + +// c005_a900 + +// c005_a901 + +// c005_a902 + +// c005_a903 + +// c005_a904 + +// c005_a905 + +// c005_a906 + +// c005_a907 + +// c005_a908 + +// c005_a909 + +// c005_a910 + +// c005_a911 + +// c005_a912 + +// c005_a913 + +// c005_a914 + +// c005_a915 + +// c005_a916 + +// c005_a917 + +// c005_a918 + +// c005_a919 + +// c005_a920 + +// c005_a921 + +// c005_a922 + +// c005_a923 + +// c005_a924 + +// c005_a925 + +// c005_a926 + +// c005_a927 + +// c005_a928 + +// c005_a929 + +// c005_a930 + +// c005_a931 + +// c005_a932 + +// c005_a933 + +// c005_a934 + +// c005_a935 + +// c005_a936 + +// c005_a937 + +// c005_a938 + +// c005_a939 + +// c005_a940 + +// c005_a941 + +// c005_a942 + +// c005_a943 + +// c005_a944 + +// c005_a945 + +// c005_a946 + +// c005_a947 + +// c005_a948 + +// c005_a949 + +// c005_a950 + +// c005_a951 + +// c005_a952 + +// c005_a953 + +// c005_a954 + +// c005_a955 + +// c005_a956 + +// c005_a957 + +// c005_a958 + +// c005_a959 + +// c005_a960 + +// c005_a961 + +// c005_a962 + +// c005_a963 + +// c005_a964 + +// c005_a965 + +// c005_a966 + +// c005_a967 + +// c005_a968 + +// c005_a969 + +// c005_a970 + +// c005_a971 + +// c005_a972 + +// c005_a973 + +// c005_a974 + +// c005_a975 + +// c005_a976 + +// c005_a977 + +// c005_a978 + +// c005_a979 + +// c005_a980 + +// c005_a981 + +// c005_a982 + +// c005_a983 + +// c005_a984 + +// c005_a985 + +// c005_a986 + +// c005_a987 + +// c005_a988 + +// c005_a989 + +// c005_a990 + +// c005_a991 + +// c005_a992 + +// c005_a993 + +// c005_a994 + +// c005_a995 + +// c005_a996 + +// c005_a997 + +// c005_a998 + +// c005_a999 diff --git a/tig-algorithms/src/hypergraph/template.cu b/tig-algorithms/src/hypergraph/template.cu new file mode 100644 index 00000000..bb473871 --- /dev/null +++ b/tig-algorithms/src/hypergraph/template.cu @@ -0,0 +1,45 @@ +/*! +Copyright [year copyright work created] [name of copyright owner] + +Identity of Submitter [name of person or entity that submits the Work to TIG] + +UAI [UAI (if applicable)] + +Licensed under the TIG Inbound Game License v2.0 or (at your option) any later +version (the "License"); you may not use this file except in compliance with the +License. You may obtain a copy of the License at + +https://github.com/tig-foundation/tig-monorepo/tree/main/docs/licenses + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the specific +language governing permissions and limitations under the License. +*/ + +// REMOVE BELOW SECTION IF UNUSED +/* +REFERENCES AND ACKNOWLEDGMENTS + +This implementation is based on or inspired by existing work. Citations and +acknowledgments below: + +1. Academic Papers: + - [Author(s), "Paper Title", DOI (if available)] + +2. Code References: + - [Author(s), URL] + +3. Other: + - [Author(s), Details] + +*/ +// License must be the same as the rust code + +// You can import any libraries available in nvidia/cuda:12.6.3-cudnn-devel-ubuntu24.04 +#include +#include +#include +#include + +// Any functions available in the .cu file will be available here diff --git a/tig-algorithms/src/hypergraph/template.rs b/tig-algorithms/src/hypergraph/template.rs new file mode 100644 index 00000000..148149c4 --- /dev/null +++ b/tig-algorithms/src/hypergraph/template.rs @@ -0,0 +1,79 @@ +/*! +Copyright [year copyright work created] [name of copyright owner] + +Identity of Submitter [name of person or entity that submits the Work to TIG] + +UAI [UAI (if applicable)] + +Licensed under the TIG Inbound Game License v2.0 or (at your option) any later +version (the "License"); you may not use this file except in compliance with the +License. You may obtain a copy of the License at + +https://github.com/tig-foundation/tig-monorepo/tree/main/docs/licenses + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the specific +language governing permissions and limitations under the License. +*/ + +// REMOVE BELOW SECTION IF UNUSED +/* +REFERENCES AND ACKNOWLEDGMENTS + +This implementation is based on or inspired by existing work. Citations and +acknowledgments below: + +1. Academic Papers: + - [Author(s), "Paper Title", DOI (if available)] + +2. Code References: + - [Author(s), URL] + +3. Other: + - [Author(s), Details] + +*/ + +// TIG's UI uses the pattern `tig_challenges::` to automatically detect your algorithm's challenge +use anyhow::{anyhow, Result}; +use cudarc::{ + driver::{safe::LaunchConfig, CudaModule, CudaStream, PushKernelArg}, + runtime::sys::cudaDeviceProp, +}; +use std::sync::Arc; +use tig_challenges::hypergraph::*; + +pub fn solve_challenge( + challenge: &Challenge, + module: Arc, + stream: Arc, + prop: &cudaDeviceProp, +) -> anyhow::Result> { + // Boiler plate for looping through and solving sub-instances + // You can modify this function if you want + let mut solution = Solution { + sub_solutions: Vec::new(), + }; + for sub_instance in &challenge.sub_instances { + match solve_sub_instance(sub_instance, module.clone(), stream.clone(), prop)? { + Some(sub_solution) => solution.sub_solutions.push(sub_solution), + None => return Ok(None), + } + } + Ok(Some(solution)) +} + +pub fn solve_sub_instance( + instance: &SubInstance, + module: Arc, + stream: Arc, + prop: &cudaDeviceProp, +) -> anyhow::Result> { + // return Err() if your algorithm encounters an error + // return Ok(None) if your algorithm finds no solution or needs to exit early + // return Ok(SubSolution { .. }) if your algorithm finds a solution + Err(anyhow!("Not implemented")) +} + +// Important! Do not include any tests in this file, it will result in your submission being rejected diff --git a/tig-challenges/src/vehicle_routing.rs b/tig-challenges/src/vehicle_routing.rs index 7595a2da..3bda2eee 100644 --- a/tig-challenges/src/vehicle_routing.rs +++ b/tig-challenges/src/vehicle_routing.rs @@ -71,7 +71,7 @@ pub struct SubInstance { pub const NUM_SUB_INSTANCES: usize = 16; impl Challenge { - pub fn generate_instance(seed: [u8; 32], difficulty: &Difficulty) -> Result { + pub fn generate_instance(seed: &[u8; 32], difficulty: &Difficulty) -> Result { let mut rng = StdRng::from_seed(seed.clone()); let mut sub_instances = Vec::new(); for _ in 0..NUM_SUB_INSTANCES { diff --git a/tig-runtime/src/main.rs b/tig-runtime/src/main.rs index 30967c5e..5d6f9919 100644 --- a/tig-runtime/src/main.rs +++ b/tig-runtime/src/main.rs @@ -231,7 +231,13 @@ pub fn compute_solution( } }}; } - dispatch_challenges!((c001, cpu), (c002, cpu), (c003, cpu), (c004, gpu)); + dispatch_challenges!( + (c001, cpu), + (c002, cpu), + (c003, cpu), + (c004, gpu), + (c005, gpu) + ); fuel_consumed += max_fuel - unsafe { **library.get::<*const u64>(b"__fuel_remaining")? }; if fuel_consumed > max_fuel { diff --git a/tig-verifier/src/main.rs b/tig-verifier/src/main.rs index 01c10756..e05eb5b8 100644 --- a/tig-verifier/src/main.rs +++ b/tig-verifier/src/main.rs @@ -163,7 +163,13 @@ pub fn verify_solution( }}; } - dispatch_challenges!((c001, cpu), (c002, cpu), (c003, cpu), (c004, gpu)); + dispatch_challenges!( + (c001, cpu), + (c002, cpu), + (c003, cpu), + (c004, gpu), + (c005, gpu) + ); if let Some(err_msg) = err_msg { eprintln!("Verification error: {}", err_msg);