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)
Add TOINT, PRESCALE to parallel routines. 0265d6288c4a0f7a460eede7730fcbe05324c4da Jason Riedy 2010-11-27 17:59:19
Little things make foo. e0162c363fa7b9b4c4be926b37bbf0ce3ecd199e E. Jason Riedy 2008-12-16 14:38:33
Count entries scanned. Fix callgrind, again? 533eedd9ea92f2315abff07d62253c2322600491 Visiteur Algo 2 2008-12-15 15:39:19
Add a docstring for writebin 3315bb7ae534c25ea91a488a9f3c8c56f346cb05 Visiteur Algo 2 2008-12-15 13:42:59
Add a .gitignore 703f3c23084f59b8bc753e9789046f9a5e2c01ca Visiteur Algo 2 2008-12-15 13:42:31
Count 'give' calls. e9ec0f943b2141c05dd19d0b0de4b3e956dfb0ea Visiteur Algo 2 2008-12-15 09:41:19
Fix callgrind instrumentation. cd70cf99197c1c27294eb943a24b318a547ca11a Visiteur Algo 2 2008-12-15 09:40:42
Clamp relative mu_min to eps. d995181f9716419508d0276dd9914e7daeccb69b Jason Riedy 2006-02-23 22:58:16
Add (necessary) paranoia about bid+mu==bid. e7fa29ba64ddbd1ebf22b9926d220fee0574f5ff Jason Riedy 2006-02-23 22:57:56
Use gcc-4.0 4b47d644bd9cc78de467e610cacfcc668c3b5570 Jason Riedy 2006-02-23 19:35:59
Dump ent and diag type to stdout as well. 35870ff529230efd7877eb133e55d27ebf1f4943 Jason Riedy 2006-02-23 19:11:42
Select int/float, sum/prod at run-time; add those+nstats to output. 8f9d7d47e8b6516fad0716e6c756c027d4073c66 Jason Riedy 2006-02-23 19:01:13
Little cleanups 97b622070c66a8aded98e4e02feb860021dfaa06 Jason Riedy 2005-04-25 21:56:10
Dumb bug fix: use all_pg and not pg after allreduce. c9aada3d4ea3cd354a27df2c91cdb5e022a48dcd Jason Riedy 2005-04-25 21:36:49
"Optimized" seaborg build, plus it has MPI memory allocation 010c31532fbdd08ebf50815f4223719e06cc0ea1 Jason Riedy 2005-04-25 20:53:30
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
Commit 0265d6288c4a0f7a460eede7730fcbe05324c4da - Add TOINT, PRESCALE to parallel routines.
Author: Jason Riedy
Author date (UTC): 2010-11-27 17:59
Committer name: Jason Riedy
Committer date (UTC): 2010-11-27 17:59
Parent(s): e0162c363fa7b9b4c4be926b37bbf0ce3ecd199e
Signing key:
Tree: 3e9a93a81aa9cd31569d8c94730ed2b1f41479ff
File Lines added Lines deleted
.gitignore 1 0
parauction.c 10 7
parauction_allgather.c 10 7
parauction_allreduce.c 10 7
parauction_root.c 10 7
seqauction.c 2 0
File .gitignore changed (mode: 100644) (index 2c46c72..86dd3c2)
... ... parauction_root
22 22 readbin readbin
23 23 transposebin transposebin
24 24 writebin writebin
25 seqauction
File parauction.c changed (mode: 100644) (index ce42aff..8ab7953)
... ... main (int argc, char **argv)
580 580 gnent = A.nent; gnent = A.nent;
581 581 printf ("nr = %d nc = %d nent = %d\n", A.nr, A.nc, A.nent); printf ("nr = %d nc = %d nent = %d\n", A.nr, A.nc, A.nent);
582 582
583 #if 0
584 spcsr_lascaling (&A, R, C);
585 spcsr_apply_scaling (&A, R, C);
586 #elif 1
587 spcsr_lascale (&A, R, C);
588 #endif
583 if (getenv ("PRESCALE")) {
584 spcsr_lascaling (&A, R, C);
585 spcsr_apply_scaling (&A, R, C);
586 }
587 else
588 spcsr_lascale (&A, R, C);
589 589
590 590 spcsr_copy (&A, &Acopy); spcsr_copy (&A, &Acopy);
591 591
592 592 expint_check = malloc (Acopy.nent * sizeof(double)); expint_check = malloc (Acopy.nent * sizeof(double));
593 593
594 auction_toexpint (&Acopy, expint_check);
594 if (getenv ("TOINT"))
595 auction_toexpint (&A, expint);
596 else
597 auction_toexp (&A, expint);
595 598 auction_shift (&Acopy, expint_check); auction_shift (&Acopy, expint_check);
596 599 } }
597 600
File parauction_allgather.c changed (mode: 100644) (index 0b103af..3da9784)
... ... main (int argc, char **argv)
562 562 gnent = A.nent; gnent = A.nent;
563 563 printf ("nr = %d nc = %d nent = %d\n", A.nr, A.nc, A.nent); printf ("nr = %d nc = %d nent = %d\n", A.nr, A.nc, A.nent);
564 564
565 #if 0
566 spcsr_lascaling (&A, R, C);
567 spcsr_apply_scaling (&A, R, C);
568 #elif 1
569 spcsr_lascale (&A, R, C);
570 #endif
565 if (getenv ("PRESCALE")) {
566 spcsr_lascaling (&A, R, C);
567 spcsr_apply_scaling (&A, R, C);
568 }
569 else
570 spcsr_lascale (&A, R, C);
571 571
572 572 spcsr_copy (&A, &Acopy); spcsr_copy (&A, &Acopy);
573 573
574 574 expint_check = malloc (Acopy.nent * sizeof(double)); expint_check = malloc (Acopy.nent * sizeof(double));
575 575
576 auction_toexpint (&Acopy, expint_check);
576 if (getenv ("TOINT"))
577 auction_toexpint (&A, expint);
578 else
579 auction_toexp (&A, expint);
577 580 auction_shift (&Acopy, expint_check); auction_shift (&Acopy, expint_check);
578 581 } }
579 582
File parauction_allreduce.c changed (mode: 100644) (index 88cf0cc..102e4d8)
... ... main (int argc, char **argv)
381 381 gnent = A.nent; gnent = A.nent;
382 382 printf ("nr = %d nc = %d nent = %d\n", A.nr, A.nc, A.nent); printf ("nr = %d nc = %d nent = %d\n", A.nr, A.nc, A.nent);
383 383
384 #if 0
385 spcsr_lascaling (&A, R, C);
386 spcsr_apply_scaling (&A, R, C);
387 #elif 1
388 spcsr_lascale (&A, R, C);
389 #endif
384 if (getenv ("PRESCALE")) {
385 spcsr_lascaling (&A, R, C);
386 spcsr_apply_scaling (&A, R, C);
387 }
388 else
389 spcsr_lascale (&A, R, C);
390 390
391 391 spcsr_copy (&A, &Acopy); spcsr_copy (&A, &Acopy);
392 392
393 393 expint_check = malloc (Acopy.nent * sizeof(double)); expint_check = malloc (Acopy.nent * sizeof(double));
394 394
395 auction_toexpint (&Acopy, expint_check);
395 if (getenv ("TOINT"))
396 auction_toexpint (&A, expint);
397 else
398 auction_toexp (&A, expint);
396 399 auction_shift (&Acopy, expint_check); auction_shift (&Acopy, expint_check);
397 400 } }
398 401
File parauction_root.c changed (mode: 100644) (index de08482..5811007)
... ... main (int argc, char **argv)
566 566 gnent = A.nent; gnent = A.nent;
567 567 printf ("nr = %d nc = %d nent = %d\n", A.nr, A.nc, A.nent); printf ("nr = %d nc = %d nent = %d\n", A.nr, A.nc, A.nent);
568 568
569 #if 0
570 spcsr_lascaling (&A, R, C);
571 spcsr_apply_scaling (&A, R, C);
572 #elif 1
573 spcsr_lascale (&A, R, C);
574 #endif
569 if (getenv ("PRESCALE")) {
570 spcsr_lascaling (&A, R, C);
571 spcsr_apply_scaling (&A, R, C);
572 }
573 else
574 spcsr_lascale (&A, R, C);
575 575
576 576 spcsr_copy (&A, &Acopy); spcsr_copy (&A, &Acopy);
577 577
578 578 expint_check = malloc (Acopy.nent * sizeof(double)); expint_check = malloc (Acopy.nent * sizeof(double));
579 579
580 auction_toexpint (&Acopy, expint_check);
580 if (getenv ("TOINT"))
581 auction_toexpint (&A, expint);
582 else
583 auction_toexp (&A, expint);
581 584 auction_shift (&Acopy, expint_check); auction_shift (&Acopy, expint_check);
582 585 } }
583 586
File seqauction.c changed (mode: 100644) (index acba8ce..ea56d60)
... ... main (int argc, char **argv)
222 222 cacheblast(); cacheblast();
223 223
224 224 /* mc64 */ /* mc64 */
225 if (getenv ("RUN_MC64")) {
225 226 { {
226 227 int job = 4; /* sum of diag, already log scale */ int job = 4; /* sum of diag, already log scale */
227 228 int num_on_diag = 0; int num_on_diag = 0;
 
... ... main (int argc, char **argv)
281 282 printf ("mc64 Primal: %20g\nmc64 Time: %20g\n", mc64_primal, printf ("mc64 Primal: %20g\nmc64 Time: %20g\n", mc64_primal,
282 283 timer_duration(timer)); timer_duration(timer));
283 284 printf (" primal diff: %20g\n", auction_primal - mc64_primal); printf (" primal diff: %20g\n", auction_primal - mc64_primal);
285 }
284 286
285 287 free (price); free (price);
286 288 free (invmatch); free (invmatch);
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