From ddf76e79b0edb86f877cfe3b643e6930889046ff Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Wed, 29 Nov 2023 23:32:18 +0000 Subject: [PATCH] recover better parallelism function from git history, recompile --- examples/more/00_example_template/example | Bin 27360 -> 27344 bytes examples/more/01_sample_from_cdf/example | Bin 27648 -> 27624 bytes examples/more/02_sample_from_cdf_beta/example | Bin 27632 -> 27608 bytes examples/more/03_ci_beta/example | Bin 27408 -> 27384 bytes examples/more/04_nuclear_war/example | Bin 27488 -> 27464 bytes examples/more/05_burn_10kg_fat/example | Bin 27440 -> 27424 bytes examples/more/06_nuclear_recovery/example | Bin 27736 -> 27712 bytes examples/more/07_algebra/example | Bin 27360 -> 27344 bytes .../more/08_algebra_and_conversion/example | Bin 27360 -> 27344 bytes examples/more/09_ergonomic_algebra/example | Bin 27360 -> 27344 bytes .../more/10_twitter_thread_example/example | Bin 27520 -> 27496 bytes .../11_billion_lognormals_paralell/example | Bin 27400 -> 27376 bytes .../11_billion_lognormals_paralell/example.c | 2 +- .../more/12_time_to_botec_parallel/example | Bin 27568 -> 27544 bytes examples/more/13_parallelize_min/example | Bin 27464 -> 27440 bytes .../more/14_check_confidence_interval/example | Bin 27360 -> 27344 bytes squiggle_more.c | 46 +++++++++++++++--- 17 files changed, 39 insertions(+), 9 deletions(-) diff --git a/examples/more/00_example_template/example b/examples/more/00_example_template/example index 594442703f9f4ec2bed84ce7f0541fa72b970844..820272dd4f58c074907317e694b0738d12d5c7af 100755 GIT binary patch delta 6193 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 diff --git a/examples/more/01_sample_from_cdf/example b/examples/more/01_sample_from_cdf/example index 7e0ceb8b206266c670ae0d7251d6692ece54af44..093bbd9cf1fc88e1c8d6678bbf21757049c0474b 100755 GIT binary patch delta 6922 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 DVf2DH delta 6851 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 Cz-Q9{ diff --git a/examples/more/02_sample_from_cdf_beta/example b/examples/more/02_sample_from_cdf_beta/example index 7e440643299f4359756b5250eccfe93fd46864ed..7ed3878e51956df97a5526877840c8f0177b1fcb 100755 GIT binary patch delta 7035 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 b8i_4WrTRN|Fb}ai3nNzFuHs`5r_}!gmNrgu delta 6699 zcmZ`;4_H-IwmB|^)#p}&vu#%bWTv)QpX($&F@bn45pe9L0h zVVDXQb<9Ab@G}&tW5a^`XoNa;(<|l^C$LR?l8$4E_?@UYzC6FD zDT(&#?Cg8$jIgmBIuU7O7s(o#O;V(tW=DG1C!9kq=s7rdyIy2h6sQcn7!J{^`Z8vr zlqj3^8uVI)0fMs(9W(>wM4hHS(P>GmYnN24S|ya0u3k~Is%k}TW$EH&j|!D*S5?(k z(AempQP0JN2tmjH(&^}7)={vWyV&a*5-A9JVJukidg24S=z#zyO7`WUD7LL=x6psxch>xD+qd7$Tj*7QORWQ?^@pV&Ue zhF)kajR86uXmc;rM9YCz18wPrTIeO9F9O}u3++oE0X+t^trwa=cY)pk+TIJbwdTZq z7`fdt*bqBK5PIaaxYi8IFW5-*LX!o-?C=Z1HS?hFF+PMG?>+wC`^JARYJJ=q$LL_+ zX7(zT^h;;2(1w0C_A))!FKfWsOhJ&Y-<4%C_|-e!ab`gbjk$q@mppX7Uxq!Ov%U9Z zxyNiNcG>Z_k4p@V%pynp0JfNZ5ue6FR2Dy^WKF7osYZD)Cu7{0Atx-FBna1=F$|(3 zhV)Nxl7G84L2T0hlJ_^a)yBvjW=8`L-+LN`{2WDoUSA9_a*?zr*XgQ#kFv*#JQ;&_piOU+z z42&;3q|=}QU+W@< z(1(eGV?VyB3S3AF3$Qj?FmM=iQE=c2mO!@$I@k@eCk^TQtqVKPX%EL|j`1{2O`6K8 zX=jovCijM_XCfU>8pcxTd;EQxh9s}BxsiM3CmN8oJ?8nw?HKX+Y^OgYr?aofdamSkfJ?R5-dCDiViKIjD}pJOfLQnU9#kgsFlGyZbmcpjg=Y6;C`hp*ci%&G} zXJRPxGjWICyjuzc4~zRdBE(>%%ZJIn(1d$Miw_mDw!)_I2LI5mKxlrOAv8f2S-Y=3 zv_=*~{v(E9tt(y(V(TH_J@Hn%s=)8En;l-E$?u9E7m9a_=-3NGqwT)@(;MuS&0^CA zA<%fl;FC}F_{`Rcw*&bX>b@#qH^jz61~DSZB|cQ`GSsz+jR)QH7Wn4-7WfwWO5bZd z%yLe44Z%6Ctn8Czc07qq@#5xf9h;uZ>U}ePCBEQkUvbF{vGIy121mO@SZ7!wHbthn zA<50m%V`T9<@?`!(!4nqH&4;xOTOUoheJu1xH2(#L0Zwp%iW=(%@@s2{tj3{j;z(5 zcMTXylfi#D=)cRizzTzTMfrE?E?qO%Z-f)Dlq=``oRj=Ke4(evX zCD_^3AHCA$gy=Q%M*pKO17EeBFVD?TR>zv#Q2dlNVZ(tVei!$I;tFl)PR#%Mc_{-# zY%;DMB?xc%An^{rl`(yl4O@N*%y&5;HKJ#B(AA-XV#ea`MH-L1Mg23Ov47Vt&}rtID3am(SL}Z7?x@M zcN98*@W}=A;iUj;2m-QUzEsmgP->8_UzFv-{A+br5kcuP z29@Tk7vYLX7x&9kc;3Nr$l%EEd<@{bvnVwOLECBLa6`TM>D|x^XbEC%cAu&=7oVs! zXMMGHFPhgk-WvsLBUEkAgwxQQ|&<#Fv%knVnq~ zIILi2w()tGGsaB69iBF(D-k%dt$f6N*;WRXQWH#6v+XhTq$_{r2mXii-b^)FscaWL zn>9&iyhxo{3)vgw&CbOou`b)ePScL;B;y$?_tWeHyiy;e{n-OYzS@@~{IKB`*smmv zMH&dzuu84O$^(pg_0RqQJJ>JXA**LW{Bh`d^Ewjf9sY+`i0V#y!V~EK7#PyI&akmP z=t;{vsne4d+aC!4#R(g&WXait!o5A`S=~Z2xks$e?lud;n!ezU{1&}RbM`g!)3taa z^6k6HogXr82Ap%UFnAe{QmJP8WW*eu^8#f(kQ{r$sHipOo2lf1|JJQDlIg*HamRtG z3Xjo=2W^=?n90lUTcE1tFgmBLFk}=VSs2nk0HSP0I!o~*|1xMe1iO+E5+%@LXuhik z71Xe71jqH%KGGKb4GfgTa}+fyo2{i$qkc(|qjGf7o%H)rW2knNg|3fEVlR?4H#h3Z zFCZ$@m8#L)0lvGh!?lij1;xk<$@;K@Te2dQ~DNQY5g zwQAp$2P|CS`ID?~R$*vNQ<@<7PzXNtl>~w}e8s-tof2qV4|qo5(7W7bsq{>%Bd;@> zym1Zx<@K=flk1i*s#xV*S?OF|zPzToVzsks^@{Xb=aQ;5RjaEORaZC{J?>obgHY|V zRTbq+R%bfP7p+`XTeV^-45WF!BJ%h=^r|n9-vCOZ4qsAz$49c<3@151mgRk*9?*8s zvUZ$7JaAY}%JMplg-_rT&=ybw@S0Py>;~-y-2qy5T9#i2ZT?i2kAe!H$?`c+?-^O< z@0Sf{WjQ_q>%g^npbh^g%gZ8!dZ8ViEdV?hWcgLl7SOjrJ3!k(%Q|HFBFB-NLZl$H zBjKllcH>~Z2h;PCd*z5jZbA|w0FEMaW;JK;l9;c66jX^EYvyPkiw@1O^jcaHCmW0^lsq!A(1;_{D6yA%#y!0KkFCk+=s;=WR8c~pim-6xg2lLV< z{B59}1^tGeLooTqc;h>*MW7AmWchIgQ5V_*td`Cf4Akv7Pu~|z)~`cgtyDB&2)j(R z6P&D&o|}+cB4SDd!aN#bUe0ZrV6yy1H_l{#CSsh)8Hy}0xwqc+_@im^& zi6(o9udy{!G`XMRYcxjrO*Ij7Sggr|WqrMLPl)5&EQ5|KxNFnV=Z$~*sRd?0D$e4- zN|ST3$)Mm{flpQOaX(?a0>%z7s`vyRuriZ@D|#DvcUX~#s828%@_?TLo=5p&Zj=St z`}Sp8BW6YU(LLHluZfT7|AcNHB?i*<9q6q`FLk&R^ZFo#+mP$!=&PypFqHaYm0ZG` zA=k~*z7IVY$c^HOU-k{142+BU6S`Y)CiHky|AQ_z{4E3DE@F!&TcupC@5iqc2C6D@ zAVq>jQ}7^lwkX@`*53BHqj@_@iIW{E>+r#ZHyjwHwP@uiT$RqyoXKNZH$6Yu!S>Oc zlb13(rA*n~dS(jV9`;enw1kKlp&Qhe7@n$WQb>dlC#<7s(U20JdnjjyEwTGPt`A&>Z(VLG2RHn|C_H_wHrGSjX4sg4cFibF zv9DbRD^rQ8EEOeyqgCYA9GTmaU@qOLCb&Y-XtrUR^XZ3va>OX4(Q}ZgsA5 zs?n`OLiB~59oomSqnhg9Xn6N<6$qcMof z|6Wp20r-k7v}smBKhVLdj)yeQ)zEjCyMeaNvgN#>$+qFE0&hJk5ncms)&1O0@6fc_ zw#1JVZlYi))5JCMIc=J43v_8ZJ5p5mL5+JejHjwVCicRc9!H(q+dNVoFH?z-K%LO$ z*0^5He=loXpN2PR9#Se1c=I*9Mmw<;ntV0aR^JewH9&=x`vBcHVVec{=qc00HL^{U z-=kb`g3zkrYqY(Dzk_RR;bl#}eW)rZY4WeDc!uD-&)ha`f>R4p_%8X7*j!uUXBszr zp8rD&;W@sU#G4woZJ4@>QsmLqQ~6w5PJh%zCGqfr$lDf`2zNEp_w-kRS`8n}XR!yB zzas6QYYP-Z!#_)cW&Z--psm=>&pulC0^Uj~^K9%t70vtj-vECy;kMOiDN>{X!zeWd=Fkfcsrw|&Q01o&z9I1rJHNBXxgT!LP834&aKeB|o8@Uu zoL?8wy0i2+i_$)+mzUqxE1%qH_kx7h(nVFQ_0Zx}hML#4q#pIYsv?>JhtY?L)z;=}YP?OK*i z_9_n}GSQ>yccx JiBcX-|9`8SHzoi8 diff --git a/examples/more/05_burn_10kg_fat/example b/examples/more/05_burn_10kg_fat/example index 9123b3cc449e141db4cc316d73129503a4b53d28..89e5e3434bddef576291fd1c3c40d96be147e0e5 100755 GIT binary patch delta 6522 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 delta 6481 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 diff --git a/examples/more/06_nuclear_recovery/example b/examples/more/06_nuclear_recovery/example index 40ef062280eeaee266ec436312faca2aedafb1eb..7844d96cc7a2427e768527d2f2766f77bac4e314 100755 GIT binary patch delta 6762 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 trG1*xtv=ejbC0L|K#3S)Zd%m@8-<> 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 R*8eQe5V=}`6X2?p{|D&9%Z>m5 diff --git a/examples/more/08_algebra_and_conversion/example b/examples/more/08_algebra_and_conversion/example index f304f6d5be47192574c14f7d12a1e069d61f77e6..ca7ab7b9ae281546b54d321d3994cf7edb16e481 100755 GIT binary patch delta 6386 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 x;QO|cTj!n~cL3f3& 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 diff --git a/examples/more/09_ergonomic_algebra/example b/examples/more/09_ergonomic_algebra/example index 4b9a5c2223e43114add34348f3a18a82997c1624..f72590afd4b80d8dde618c9350986b7421c7934e 100755 GIT binary patch delta 6315 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�E-uTZ>5MBIukExVmf(DG#t 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 diff --git a/examples/more/10_twitter_thread_example/example b/examples/more/10_twitter_thread_example/example index d8d57478b49725b72e0874cd5680599dae9702d1..422c236301bb67142e4b5338a413b4a97abf34ef 100755 GIT binary patch delta 6554 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 Xxha;SHoeGZ(yNS)l}7; delta 6332 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 Mq^^|VcsR=ZfB4?Vr2qf` diff --git a/examples/more/11_billion_lognormals_paralell/example.c b/examples/more/11_billion_lognormals_paralell/example.c index c9d49d7..1988157 100644 --- a/examples/more/11_billion_lognormals_paralell/example.c +++ b/examples/more/11_billion_lognormals_paralell/example.c @@ -21,7 +21,7 @@ int main() sampler_parallel(sampler, results, n_threads, n_samples); double avg = array_sum(results, n_samples) / n_samples; - printf("Average of 1B lognormal(0,10): %f", avg); + printf("Average of 1B lognormal(0,10): %f\n", avg); free(results); diff --git a/examples/more/12_time_to_botec_parallel/example b/examples/more/12_time_to_botec_parallel/example index eb823ae158acda2b32246c17c70b1c1c9c2b4131..cf2afa40cb27e3fce96630b6cc456955b8d1580b 100755 GIT binary patch delta 6553 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 delta 6545 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 J?pZPRe*sP43H$&6 diff --git a/examples/more/13_parallelize_min/example b/examples/more/13_parallelize_min/example index 4daa170bd61d70438a09612e37b64998ccb68337..e8ee480233310076be9e1c3151004d0fed6f5c11 100755 GIT binary patch delta 6531 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 GkoNz7m?DAz delta 6502 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 delta 6304 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 y-CtOQ<(p%cYIG7DmHPkNf5%h+ diff --git a/squiggle_more.c b/squiggle_more.c index 1b48ca3..872f55b 100644 --- a/squiggle_more.c +++ b/squiggle_more.c @@ -10,14 +10,40 @@ /* Parallel sampler */ void sampler_parallel(double (*sampler)(uint64_t* seed), double* results, int n_threads, int n_samples) { - if ((n_samples % n_threads) != 0) { - fprintf(stderr, "Number of samples isn't divisible by number of threads, aborting\n"); - exit(1); - } + + // Division terminology: + // a = b * quotient + reminder + // a = (a/b)*b + (a%b) + // dividend: a + // divisor: b + // quotient = a / b + // reminder = a % b + // "divisor's multiple" := (a/b)*b + + // now, we have n_samples and n_threads + // to make our life easy, each thread will have a number of samples of: a/b (quotient) + // and we'll compute the remainder of samples separately + // to possibly do by Jorge: improve so that the remainder is included in the threads + + int quotient = n_samples / n_threads; + int remainder = n_samples % n_threads; + int divisor_multiple = quotient * n_threads; + uint64_t** seeds = malloc(n_threads * sizeof(uint64_t*)); + // printf("UINT64_MAX: %lu\n", UINT64_MAX); + srand(1); for (uint64_t i = 0; i < n_threads; i++) { seeds[i] = malloc(sizeof(uint64_t)); - *seeds[i] = i + 1; // xorshift can't start with 0 + // Constraints: + // - xorshift can't start with 0 + // - the seeds should be reasonably separated and not correlated + *seeds[i] = (uint64_t)rand() * (UINT64_MAX / RAND_MAX); + // printf("#%ld: %lu\n",i, *seeds[i]); + + // Other initializations tried: + // *seeds[i] = 1 + i; + // *seeds[i] = (i + 0.5)*(UINT64_MAX/n_threads); + // *seeds[i] = (i + 0.5)*(UINT64_MAX/n_threads) + constant * i; } int i; @@ -25,14 +51,18 @@ void sampler_parallel(double (*sampler)(uint64_t* seed), double* results, int n_ { #pragma omp for for (i = 0; i < n_threads; i++) { - int lower_bound = i * (n_samples / n_threads); - int upper_bound = ((i + 1) * (n_samples / n_threads)) - 1; + int lower_bound_inclusive = i * quotient; + int upper_bound_not_inclusive = ((i + 1) * quotient); // note the < in the for loop below, // printf("Lower bound: %d, upper bound: %d\n", lower_bound, upper_bound); - for (int j = lower_bound; j < upper_bound; j++) { + for (int j = lower_bound_inclusive; j < upper_bound_not_inclusive; j++) { results[j] = sampler(seeds[i]); } } } + for (int j = divisor_multiple; j < n_samples; j++) { + results[j] = sampler(seeds[0]); + // we can just reuse a seed, this isn't problematic because we are not doing multithreading + } for (uint64_t i = 0; i < n_threads; i++) { free(seeds[i]);