ejr / matchpres (public) (License: BSD) (since 2018-08-29) (hash sha1)
Ye olde thesis code implementing an auction-based weighted bipartite matching algorithm over MPI.
List of commits:
Subject Hash Author Date (UTC)
Fix parallel mu_min computation. 1839c8967c53b5e7311406a4c8e630975b15ca64 Jason Riedy 2005-04-25 20:49:10
More home makefile twiddles d8237ea380793307781f78f155244fffbc6e1065 Jason Riedy 2005-04-25 19:12:57
Add relative gap termination criteria to parallel matchers. 4df0541dc376888d74a22b5770871cb90c1c2f70 Jason Riedy 2005-04-25 18:44:20
Add Make.inc for home 55087d06413e6a59d1c3b41294126cd56f6d46b7 Jason Riedy 2005-04-25 18:10:22
Add Make.seaborg 66fe7a0f65ad57d1fffeeb8db2e614f38cf6cbc0 Jason Riedy 2005-04-25 18:10:06
Move Make.inc out of the way a6aca26e1d6cfb15faa570d63890a20798df3444 Jason Riedy 2005-04-20 20:23:50
Fix price => scaling transformation 1c223b72d65972e9b381e576b90934c40d555e27 Jason Riedy 2005-04-20 20:22:12
Bugs go poo a136075289af1e672e28187cf41210a5ec27eccc Jason Riedy 2005-04-20 02:22:32
More data: primal, dual, duration 2c59b3bdc4789035f919ce2132f2d20e33884329 Jason Riedy 2005-04-18 18:20:44
Removed mistaken Acopy 8af95560220c3dd532eba9efa95b6993a0bedf97 Jason Riedy 2005-04-18 05:07:13
write new data from matchmtx. 9bbe665ce58799a37beed4e6557f756bdf6e8a48 Jason Riedy 2005-04-18 05:05:14
Dumb bug fix. 0acb519a5298ca2fd3256cc54e7e91a267990022 Jason Riedy 2005-04-13 04:21:01
quit when not square b74d721df984ae9c60d4617921d6dc7813215022 Jason Riedy 2005-04-12 23:36:47
Go back to gcc. 9d50e51da839a9dcf5193030c9fcdd49cdfa9854 Jason Riedy 2005-04-12 23:31:07
undo extra changes 41f6e35374346b3ac19a8342a9c4ff75796ceee5 Jason Riedy 2005-04-12 23:21:08
fix auction_shift for explicit zeros 10be6a173d391689574e9e88774e90dc1c7ac1d9 Jason Riedy 2005-04-12 23:20:38
HAVE_LOGB 38a377840fbffdbcc1f8ebab1f9775502547e4cb Jason Riedy 2005-04-12 23:11:13
add -nofor_main, fix seqauction b24bdf1318ea24afd1b43230b372fcc776fef8f6 Jason Riedy 2005-04-12 23:05:54
Prepare for massive runs. 5f9172fedbc636a986bd57c48cfa20bd1f1c17a7 Jason Riedy 2005-04-12 22:55:06
Update build stuff. 64cf1bc1ea3e70fdf320fe51a95f140f57076d80 Jason Riedy 2005-04-12 22:28:15
Commit 1839c8967c53b5e7311406a4c8e630975b15ca64 - Fix parallel mu_min computation.
* parauction.c, parauction_allgather.c, parauction_allreduce.c,
parauction_root.c: Fix mu_min computation.

Also debugging prints...
git-archimport-id: ejr@cs.berkeley.edu--superlu/matchpres--base--0--patch-20
Author: Jason Riedy
Author date (UTC): 2005-04-25 20:49
Committer name: Jason Riedy
Committer date (UTC): 2005-04-25 20:49
Parent(s): d8237ea380793307781f78f155244fffbc6e1065
Signing key:
Tree: 614977e5426da498cb7f534e201c37087d38f19d
File Lines added Lines deleted
Make.ejr-home-gcc 1 1
auction.c 11 14
parauction.c 1 1
parauction_allgather.c 1 1
parauction_allreduce.c 1 1
parauction_root.c 1 1
File Make.ejr-home-gcc changed (mode: 100644) (index d679a56..dcf1d52)
2 2 CC=gcc-4.0 CC=gcc-4.0
3 3 LDLIBS = -lm LDLIBS = -lm
4 4 CFLAGS = -std=gnu9x -g -Wall -Wno-unused CFLAGS = -std=gnu9x -g -Wall -Wno-unused
5 CPPFLAGS=-DHAVE_LOGB -DHAVE_LOG2 -DHAVE_SCALB -DHAVE_CALLGRIND -DNDEBUG
5 CPPFLAGS=-DHAVE_LOGB -DHAVE_LOG2 -DHAVE_SCALB -DHAVE_CALLGRIND
6 6 # -DHAVE_MPI_ALLOC_MEM # -DHAVE_MPI_ALLOC_MEM
7 7 #CFLAGS = -std=gnu9x -O3 -DNDEBUG -g -Wall -Wno-unused \ #CFLAGS = -std=gnu9x -O3 -DNDEBUG -g -Wall -Wno-unused \
8 8 # -DHAVE_RESTRICT -DHAVE_INLINE -DNOSTATS # -DHAVE_RESTRICT -DHAVE_INLINE -DNOSTATS
File auction.c changed (mode: 100644) (index 3c5fff8..f3dd096)
... ... auction_find_bid (const struct spcsr_t A, const double *b_in,
368 368 double val; double val;
369 369
370 370 val = e - p; val = e - p;
371
372 /*
371 #if 0
373 372 { {
374 extern int rank;
375 if (2027 == i && 1 == rank) {
376 fprintf (stderr, "%d: %d: j %d, e %g, price %g\n", rank,
377 i, j, e, p);
373 //extern int rank;
374 if ((2518 == i || 680 == i || j == 2050 || 881 == i)) { // && 0 == rank) {
375 fprintf (stderr, "%d: %d: j %d, e %g, price %g (%g: %g %g)\n", 0, //rank,
376 i, j, e, p,
377 val, best_val_1, best_val_0);
378 378 } }
379 379 } }
380 */
381
380 #endif
382 381 if (val <= best_val_1) continue; if (val <= best_val_1) continue;
383 382 if (val <= best_val_0) { if (val <= best_val_0) {
384 383 best_val_1 = val; best_val_1 = val;
 
... ... auction_pass_cl (const struct spcsr_t A, const double *b,
843 842 bid = auction_find_bid (A, b, i, price); bid = auction_find_bid (A, b, i, price);
844 843
845 844 if (!isinf(bid.price) && bid.val < least_val) least_val = bid.val; if (!isinf(bid.price) && bid.val < least_val) least_val = bid.val;
846
847 /*
848 if (bid.j == 182) {
845 #if 0
846 if (bid.j == 2050 || i == 680 || i == 2518 || i == 881) {
849 847 fprintf (stderr, "bid: row %d for col %d, ent %g, price %g, val %g\n", fprintf (stderr, "bid: row %d for col %d, ent %g, price %g, val %g\n",
850 848 i, bid.j, bid.ent, bid.price, bid.val); i, bid.j, bid.ent, bid.price, bid.val);
851 849 }; };
852 */
853
850 #endif
854 851 /* /*
855 852 if (!(bid.price + mu >= price[bid.j])) { if (!(bid.price + mu >= price[bid.j])) {
856 853 extern int rank; extern int rank;
 
... ... auction_matchall (const struct spcsr_t A, const double *b,
915 912
916 913 while (n_unmatched > 0) { while (n_unmatched > 0) {
917 914 /* printf ("... match[%d] = %d\n", 1, match[1]); */ /* printf ("... match[%d] = %d\n", 1, match[1]); */
918 #if 0
915 #if 1
919 916 new_n_unmatched = auction_pass (A, b, match, price, n_unmatched, unmatched, new_n_unmatched = auction_pass (A, b, match, price, n_unmatched, unmatched,
920 917 mu, feasbnd); mu, feasbnd);
921 918 #elif 1 #elif 1
File parauction.c changed (mode: 100644) (index 8f93435..d3d22a8)
... ... main (int argc, char **argv)
645 645 } }
646 646 } }
647 647
648 mu_min = 1.0 / A.nr;
648 mu_min = 1.0 / gA.nr;
649 649 if (argc > 2) if (argc > 2)
650 650 mu_min = strtod(argv[2], NULL); mu_min = strtod(argv[2], NULL);
651 651 if (argc > 3) if (argc > 3)
File parauction_allgather.c changed (mode: 100644) (index b555c01..7134aa8)
... ... main (int argc, char **argv)
631 631 } }
632 632 } }
633 633
634 mu_min = 1.0 / A.nr;
634 mu_min = 1.0 / gA.nr;
635 635 if (argc > 2) if (argc > 2)
636 636 mu_min = strtod(argv[2], NULL); mu_min = strtod(argv[2], NULL);
637 637 if (argc > 3) if (argc > 3)
File parauction_allreduce.c changed (mode: 100644) (index af8f84d..4f475a8)
... ... main (int argc, char **argv)
450 450 } }
451 451 } }
452 452
453 mu_min = 1.0 / A.nr;
453 mu_min = 1.0 / gA.nr;
454 454 if (argc > 2) if (argc > 2)
455 455 mu_min = strtod(argv[2], NULL); mu_min = strtod(argv[2], NULL);
456 456 if (argc > 3) if (argc > 3)
File parauction_root.c changed (mode: 100644) (index 0fcea0b..37c1e95)
... ... main (int argc, char **argv)
636 636 } }
637 637 } }
638 638
639 mu_min = 1.0 / A.nr;
639 mu_min = 1.0 / gA.nr;
640 640 if (argc > 2) if (argc > 2)
641 641 mu_min = strtod(argv[2], NULL); mu_min = strtod(argv[2], NULL);
642 642 if (argc > 3) if (argc > 3)
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/ejr/matchpres

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/ejr/matchpres

Clone this repository using git:
git clone git://git.rocketgit.com/user/ejr/matchpres

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main