From a15955769c9acfde5ad0e4cb82447e65c69a7f64 Mon Sep 17 00:00:00 2001 From: Kahina Date: Wed, 4 Nov 2015 15:08:47 +0100 Subject: [PATCH] MAJ de la figure 2 & figure 3 --- figures/influence_nb_threads.pdf | Bin 7602 -> 7482 bytes figures/influence_nb_threads.plot | 6 +++--- figures/openMP-GPU.pdf | Bin 9220 -> 9142 bytes figures/openMP-GPU.plot | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/figures/influence_nb_threads.pdf b/figures/influence_nb_threads.pdf index e7083eee47f33e9ccd1b36eac6a874acd80bcb18..26d1fa2474f4f9057cd66543a21c6c42348cec50 100644 GIT binary patch delta 2687 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 BxU&EN delta 2848 zcma)42T+sQ8r@ZQRmviwbRiy0;2E$7gkZ}y%~5)GeVYbfCP9TyEE^t^X7Ty&fGiao_o%BzI&^&j}2~~1~Y9E zsa2BE0)f-7obnGv_ZWfVhrT7TI>XZk)!PO_ru|Q-?B%zYy~-$H`5Z4Tlz$#2wS1;a zTGL7(x_Bie;W@arnKM0+I9fHvZM@nrUq-|V=lhB1y4s3Ei9L%KYAeo~|MYZRB}Fl~ z*tE3l#O5Chr^2=_jpj_x7uF1hfyO6Q!Weq;2??Y&*!vj+_Uh9bSJxv;tz2VWu&zdA z^RmP~yd~S5mkFIj+j)t5~t8xb8)bJgh9WDX&=L%=y;}RpW6k%$I4uK1v^FS;p%6c4}a_HQzfI zbl1Av?A=&4wJis#D1{z4r%crs5jV@eAu7pvw;TjRF(&v&hY$Fk-q(UJrqUNAPjt~K zO16A_6FmoC@HuaV&-o#^ZlFSj<4aDe_BHdJ240G~t7F`q&i0+~c@y>WI)E)ZN8slY zD-oHTZqAyfgs{H})0TXMnUlckJ3KXPGCgSQ(8lld9KUt?VrOn88~CVfh%*8On&Y{< zV_KLm8)J?-5Yd{1LT4=MHS?<=?5^N>+cz-v60b(ZxX%c8{%`hFGy=^aH$o!V)##a$h_!Q~?99ZPDA;4jg(p~4;aimp-vZgqF5UUfu| zI}s=IXCY3b+R`56c<=Qt`6h~8%LjQ&&?&9O-Rs!5Vyvg*lplg_wZQrsPX9L%3|Yu^ZL|Sp%i;W zbS{#K&3`NK-lZC5?B;4DS{R$UCd|JwCkN_nY$Od?&jA*JmlZL((gtkzZw9dYErK3fE_FS#RN+v)(-Ml7gwArA-fX#8|tV`h@QmnS%?V^QaE zbb#Y9s$)|}_B}vxt>K{l$p^CrvZ*(2nKyAcneG3{T36Gs zKi~#dZ=)S~Nu_Vzy1dXiu|2-lt221ywt8^oZQrPf-nwU!dsM3EkHgP${qJ+kuMAR)IT)`G{;Bvw|hq*Xv_IouHB624@Kj#IlRB_ULJS% zOfhH4GkF5IO1Ryl?sZ@~zl}g{fSMr0uRaar^ zMzl0c;Z``!J(q@Deq->vhU4p(%YH}gdR*ZrwQ$H|zV8Ysp|mo2Fwclz`md@_imF1F zO{)@Vmd~LUDLV{-Ve#|(TaBg3gz7}cQ!AylaZMW|#@7S)%n+!mhP@9dXD6)8G*b>v zU+Sk6Kd7$~uGQ2Fq}<~nNZo`uQAdoNwn2qG#jD|u&Y`7?hr4d}x(p+XJ_$Ci4iHwj zZc($|5h5u_X!`tRuOQE07SoFsD7Lj@xciBrAW+Em3WuS}UH8>Vs>5NP`tEQTM#mk4 zr0Kw5-cTLr*3j{Q!BHrE3>t+-&{9lf1HX>gDQh5a!w7=t*fMlNA@&eB76Qd$umBW` zMW?9C9sA#hZgM|;l|`~V{;PN?@v@MwB9`Bm|8W;$yJ%ZRCIH7*bPA z&xYY?PGfnUG{*5^yB2^-zD4Kmq!H#}H7&m$FFo7d$u$_63GO?0881XYEJ;mXfP%L?xgR z1bz6{C(#EiOwj~0Q#=Z90iaCrW^gnVj)39}|1X0ohQo;kvuI3KIMd5pOdp2Ah-qk8 I*b&734MY$I?*IS* diff --git a/figures/influence_nb_threads.plot b/figures/influence_nb_threads.plot index a8cf197..07da9e2 100644 --- a/figures/influence_nb_threads.plot +++ b/figures/influence_nb_threads.plot @@ -10,12 +10,12 @@ set logscale x set logscale y #set key on outside left bmargin -set style line 1 lc rgb '#0060ad' lt 1 lw 2 pt 1 ps 1.5 # --- blue -set style line 2 lc rgb '#dd181f' lt 1 lw 2 pt 5 ps 1.5 # --- red +set style line 1 lc rgb '#000c16' lt 1 lw 2 pt 8 ps 1.5 # --- blue +set style line 2 lc rgb '#000c16' lt 1 lw 2 pt 9 ps 1.5 # --- red plot 'influence_nb_threads.txt' using 1:2 t "sparse 500K" with linespoints ls 1,\ 'influence_nb_threads.txt' using 1:4 t "full 500K" with linespoints ls 2,\ 'influence_nb_threads.txt' using 1:6 t "sparse 50K" with linespoints lt 1 lw 2 ps 1 pt 4,\ - 'influence_nb_threads.txt' using 1:8 t "full 50K" with linespoints lt 1 lw 2 ps 1 pt 3 + 'influence_nb_threads.txt' using 1:8 t "full 50K" with linespoints lt 1 lw 2 ps 1 pt 5 diff --git a/figures/openMP-GPU.pdf b/figures/openMP-GPU.pdf index 591339d147f4ad96069b7f1f78cc733d428fa307..dbe4f0b5a1d041c1b6fc0edf14f5c889198c0777 100644 GIT binary patch delta 6309 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 delta 6336 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