commit bd20087ee4957f2dd6cbdf0defa17fc4bc6e5afa
parent 3c9b5ea4224ff5521df3effc4abff05111e95e2b
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Mon, 21 Aug 2017 10:47:43 +0300
Change figures format to eps.
Diffstat:
3 files changed, 901 insertions(+), 12 deletions(-)
diff --git a/arma.org b/arma.org
@@ -652,7 +652,7 @@ fig.\nbsp{}[[propagating-wave-distributions]],\nbsp{}[[standing-wave-distributio
#+name: propagating-wave-distributions
#+header: :width 4.5 :height 5
-#+begin_src R :file build/propagating-wave-qqplots.pdf
+#+begin_src R :file build/propagating-wave-qqplots.eps
source(file.path("R", "common.R"))
par(pty="s", mfrow=c(2, 2), mai = c(1, 0.2, 0.2, 0.2))
arma.qqplot_grid(
@@ -667,11 +667,11 @@ arma.qqplot_grid(
#+caption: Quantile-quantile plots for propagating waves.
#+label: propagating-wave-distributions
#+RESULTS: propagating-wave-distributions
-[[file:build/propagating-wave-qqplots.pdf]]
+[[file:build/propagating-wave-qqplots.eps]]
#+name: standing-wave-distributions
#+header: :width 4.5 :height 5
-#+begin_src R :file build/standing-wave-qqplots.pdf
+#+begin_src R :file build/standing-wave-qqplots.eps
source(file.path("R", "common.R"))
par(pty="s", mfrow=c(2, 2), mai = c(1, 0.2, 0.2, 0.2))
arma.qqplot_grid(
@@ -686,11 +686,11 @@ arma.qqplot_grid(
#+caption: Quantile-quantile plots for standing waves.
#+label: standing-wave-distributions
#+RESULTS: standing-wave-distributions
-[[file:build/standing-wave-qqplots.pdf]]
+[[file:build/standing-wave-qqplots.eps]]
#+name: acf-slices
#+header: :width 4.5 :height 7
-#+begin_src R :file build/acf-slices.pdf
+#+begin_src R :file build/acf-slices.eps
source(file.path("R", "common.R"))
propagating_acf <- read.csv(file.path("build", "arma-benchmarks", "verification", "propagating_wave", "acf.csv"))
standing_acf <- read.csv(file.path("build", "arma-benchmarks", "verification", "standing_wave", "acf.csv"))
@@ -704,7 +704,7 @@ for (i in seq(0, 4)) {
#+caption: Time slices of ACF for standing (left column) and propagating waves (right column).
#+label: acf-slices
#+RESULTS: acf-slices
-[[file:build/acf-slices.pdf]]
+[[file:build/acf-slices.eps]]
Graph tails in fig.\nbsp{}[[propagating-wave-distributions]] deviate from original
distribution for individual wave characteristics, because every wave have to be
@@ -1135,7 +1135,7 @@ much as machine precision allows) in resulting velocity potential fields.
#+name: fig-potential-field-nonlinear
#+header: :width 8 :height 11
-#+begin_src R :file build/plain-wave-velocity-field-comparison.pdf
+#+begin_src R :file build/plain-wave-velocity-field-comparison.eps
source(file.path("R", "velocity-potentials.R"))
par(pty="s")
nlevels <- 41
@@ -1179,7 +1179,7 @@ arma.plot_velocity_potential_field_legend(
#+label: fig-potential-field-nonlinear
#+attr_latex: :width \textwidth
#+RESULTS: fig-potential-field-nonlinear
-[[file:build/plain-wave-velocity-field-comparison.pdf]]
+[[file:build/plain-wave-velocity-field-comparison.eps]]
**** The difference with small-amplitude wave theory
The experiment, in which velocity fields produced numerically by different
@@ -1198,7 +1198,7 @@ on wave amplitudes.
#+name: fig-velocity-field-2d
#+header: :width 8 :height 11
-#+begin_src R :file build/large-and-small-amplitude-velocity-field-comparison.pdf
+#+begin_src R :file build/large-and-small-amplitude-velocity-field-comparison.eps
source(file.path("R", "velocity-potentials.R"))
linetypes = c("solid", "dashed")
par(mfrow=c(2, 1))
@@ -1220,7 +1220,7 @@ arma.plot_velocity(
#+caption: Comparison of velocity field on the ocean wavy surface obtained by generic formula (\(u_1\)) and formula for small-amplitude waves (\(u_2\)). Velocity field for realisations containing small-amplitude (top) and large-amplitude (bottom) waves.
#+attr_latex: :width \textwidth
#+RESULTS: fig-velocity-field-2d
-[[file:build/large-and-small-amplitude-velocity-field-comparison.pdf]]
+[[file:build/large-and-small-amplitude-velocity-field-comparison.eps]]
* High-performance software implementation for heterogeneous platforms
:PROPERTIES:
@@ -1287,7 +1287,7 @@ processor cores.
#+name: fig-ramp-up-interval
#+header: :width 4.5 :height 5
-#+begin_src R :file build/ramp-up-interval.pdf
+#+begin_src R :file build/ramp-up-interval.eps
source(file.path("R", "common.R"))
par(mar=c(0,1,0,0))
arma.plot_ramp_up_interval()
@@ -1296,7 +1296,7 @@ arma.plot_ramp_up_interval()
#+caption: Ramp-up interval at the beginning of the \(OX\) axis of the realisation.
#+label: fig-ramp-up-interval
#+RESULTS: fig-ramp-up-interval
-[[file:build/ramp-up-interval.pdf]]
+[[file:build/ramp-up-interval.eps]]
** Velocity potential computation
:PROPERTIES:
@@ -1462,6 +1462,7 @@ bibliographystyle:styles/spphys.bst
bibliography:refs.bib
* Config :noexport:
+** Clone data repository
#+begin_src sh :exports none :results verbatim
set -e
dir=build/arma-benchmarks
@@ -1479,3 +1480,20 @@ git checkout 730ef79a9f49df9c0c22d0a0f06e4d0b69b5bd99
#+RESULTS:
: Ваша ветка обновлена в соответствии с «origin/master».
: Already up-to-date.
+** Configure org export
+#+begin_src elisp
+(add-to-list 'org-babel-R-graphics-devices '(:eps "cairo_ps" "file"))
+#+end_src
+
+#+RESULTS:
+| :eps | cairo_ps | file |
+| :bmp | bmp | filename |
+| :jpg | jpeg | filename |
+| :jpeg | jpeg | filename |
+| :tikz | tikz | file |
+| :tiff | tiff | filename |
+| :png | png | filename |
+| :svg | svg | file |
+| :pdf | pdf | file |
+| :ps | postscript | file |
+| :postscript | postscript | file |
diff --git a/figures/bench-cpu-gpu.eps b/figures/bench-cpu-gpu.eps
@@ -0,0 +1,307 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.8 (http://cairographics.org)
+%%CreationDate: Mon Aug 21 10:42:40 2017
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 0 216 180
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%BeginResource: font f-0-0
+%!FontType1-1.1 f-0-0 1.0
+11 dict begin
+/FontName /f-0-0 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/FontBBox {0 -218 932 688 } readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 32 /space put
+dup 44 /comma put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 56 /eight put
+dup 67 /C put
+dup 76 /L put
+dup 77 /M put
+dup 79 /O put
+dup 80 /P put
+dup 84 /T put
+dup 87 /W put
+dup 97 /a put
+dup 99 /c put
+dup 101 /e put
+dup 102 /f put
+dup 105 /i put
+dup 109 /m put
+dup 110 /n put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 117 /u put
+dup 118 /v put
+dup 121 /y put
+dup 122 /z put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece636fb4a96c74d26ab84185f6dfa4a16a7a1c27bbe3f1156aea698df336d20b467
+b10e7f33846656653c5ac6962759d3056cbdb3190bac614b984bf5a132dc418192443014ba63de
+800d392b6fea026574bb2535fd7bb5338f35bf15a88ea328fdaa49670c7852e3d060f3c5d6b07f
+2ef6d0f22646c5d18e19a2ae3ee120390f6dd96f76dcf1e127de5e9299077a00c17c0d71e36e5b
+9d5ec58fceda57739a6a4214d4b79d6c48d2784b60c320323c7acddddf34db833cac0cf109f799
+69d114a330d372e5c978a66acc84e3fe5557f6240856a013ffaa0199444e5c5036f775eba4a5c5
+8cde66cf604b9aca2178431127b8a1ff7ed633a65c04600af5f573483112251cae0181db2ebfb9
+9a45ac90c9bd9639e0c1350da9233535f660ca5517152fab8d553ca6b82223d675eb493fdfea24
+d1d1828c93bb745057d2d1e7595ad877684d6e403e1ace1a2adf18d400ca04ece816d7efabe037
+dca7d65284359a62672537c4a1543b81cc57efcb4d7be40e43f4596589ee0d1ac4bf21f6fbe902
+7e85a939a5c9845e4ee34bef1b62c17fbbb45636b16cb840dcada35b5acfc169819d3bcf4d973b
+036ea5ff445eea093c448ecdc6364bb0df91fd0a450145ea1aebe3cfa278a66f098d854633ad21
+75c450ff4307d4cef5b80c3648e57ad84ad44120fe254c47bfd4ffcc23d9ea9134c75be68681be
+32ee4012c38e5131fe6b49b363cbef95115feb1b33764f16c9fa0a5d739b43449790d75f9ab4c8
+3c2ac544d688071444c6eb6e9309f4f0591fe7657c22dff4d0fba9b8cb9db771b7479601139357
+f84aebd8d33f595a17b054d9040cc2dbbde8bfa5db272ea606fd61b703b07ac5ccce1aa8454087
+92cc6196da7d140458996eafe570e0dffce85768743b3439e65a65ecd0f99b73a297c097d7d2be
+e24dc5d1d4b33615c3feb58aa31413566126b0105e42541057506f11bcc7e2383ff823294cf2ee
+8687b3b953a7a5a44a6539b7de7bc8835d4259f52ed75a9928c1af3429867abce2e826268ef55b
+dd84c71e39f320f5042b8497eaaf56cfbb49879cee6930dd82446ff801e06f5796bfcdfbb4653b
+16da7a182e9637465d5b39cf920e11f11b58087cbe87e9853d60aaa34e7fb2b78b4aaad0da5f35
+540813829820e727290ecf937060379d2ad806af19202020d1c223fc97cc3dcb84492f47044726
+9d1f5874f10124e059b43a7e975e3555fb2d1053fc76bcf45e3310e5f2810bdf9db93c54c00c26
+8e7429c84f79653944bd1fca8ec88d213eb27cfc8d3fcb4b616901954aa95250c88cb9b16d27d8
+8865faada291da6a3404b9037be33de044911031bf9316efaac211de127b9160e496f59936bac8
+2c40429a07fdaf43c5a3ad1eeb6a952a92dc47301c4e0863018618ddcabc194c597f7f9553887e
+9c4acaf9037662aff7d66469c68531582ebf6028a5ef4886fc797dcc1f99eeb82cf3f13e3bf079
+583c1e95529ddb3629741b69d4ae4561b1a8af8a02c4aa4d822bea9f1365d28565ef8c0c10fd11
+dded1bdad073ae0f384855db62f8bd7fe39a956663b12ef8f7ef08bee0e2f033fa6da8c51156a9
+c24ea709b5779ee0bf1b7f9a6bc37db0e6a5bff37ee45e3ef99056d1f62e2fa64ad356558c1c3a
+734f0c5e89f8686750e33683e2f633a8aecbd2f1598f6e8a3ae774cffc81d8671408b0d067da74
+fa06dbb45c68e45a02a4281d2b1fd423d3bdd29856fde48f155f1e995a7762a0fd9971721700b1
+803e9a5c09180b3e84fe51048a1f955ab88897fb7cf990c4a1b49ac1fff20ee967fbd5352a32d4
+65876a743f0981f92c3d83d190b2273adda4e1a9f0c5b7532c9ebec0a9c5cf2ce5519b092468dd
+51ee9d4fb880378d8a4d5b53aaf387884a135a78592bea962fcd976404b050387927190006642c
+5c2f915af6200115cfe4874ca379a3d6583f8cf13fef3bfbbe8147a2a9912e9e6941738c132b67
+10144cae3c1cb509e78005cef09400cda1a182858cbd8661104e311a780c564183f2641c90d307
+9f67b955232930086cfed59ffbf44671bca0b4a747a271ab03632a2f23f5e5c0345309d6ea17b9
+8af25c9b6ba1b45be1711c589487b8305015849e3fdb545726cde555d8bdd9ca5a7097f4381283
+6290479541138a20b5de7516be416456c690f50d5e859835b905ca80c80a8eb33f6f6ede4072e8
+b28fbbe37b71ddc2250e67986622b6bfe0e9a91907b7e491b91a53fbd95fef163b7ddb36ffa5e5
+5750dbdae6e757c66c7fa980a566a13536053ee1581bf3becdf7bc683428fca8ddf94022d934d6
+f18a26a154c20bbea11b7521fa477cf2800b7c4990160f8f0490202c647fa3a9b2a6c90c7d33ac
+71e50789d09a5860487490827fd49ddad853e451bcf71ad54d24a4e3ebfc47953abbaba0a52872
+b0298a468e97abe686100bc603d63d8cb98300533f7fbf9a23c60ac3de598d48a769e362e2c5be
+41ff49b658ab71ad7fea4ac704310986d1e671cd868deac432db99c17a6e747d90f1330fe903b9
+63375b299a205e0c54be051da55fe96cd792374101167c4df553b549b16b97be0e6d4291cc5835
+a5a3675a9168e70d83d65311cd705598aa19854a5ea029aa472810ad2e26a921347231dd046b1c
+1a1d9d248f1957dd20aebd07c842aaa35e08f57794af451ca6ff862c9309736602cb36d666684c
+ae226aee0fdaa6a0b047f3dc66fe55bf4dfa8644f4d5210854a056aa810dd9ffd55c22b2ecf425
+9a745a357346d1da4f460189ca645a6df0782a31f4d6f0f62355ca205d18ee4a0bab8b6246766d
+5db69c20ce611e970a71e01908cae35f6cb69fad78ccce0b79c111e238205383224e65d87d4066
+295cb10bceb96fba50463154f826fb0f3a8bb92e3dd0105bb75bb9c57ef239862613178db30ea8
+e951f4792e87ff34a2e9c1d92265520dac3669be129e09412ad052f76e02b9de1d9f90e861fabe
+b1d809e9ea53501501b86484d556841c4c2f1597df077e8707f6769ac4d3f7be11ccd581c4a4f8
+a28463f3e3b2ceae9d06a718b6795ce175b921697f9d00c545116d00ac562f742eaf4d4b3bebae
+535b8c32296fe55a792c54fda16e804f1d6db813bc5c14610ed069e8319b2b160608a9a9934c79
+983463d141a32ef36f110e62c0478ee7b58d4ce58ea70343fa3318cf92db095f502f9403562083
+5a1d1c8387b52522a70f8d695dab64e745cf0674a6ec5b59373250b38cc97cdd32dae2134b8813
+2955a674c60d57747c398c61dd4275be8cfb3bc41f9d4bda3dc9cb24e92b4fdcac6c4366ae8f17
+c3885d16b8295b75c5c269c27e881e2d721f4eb14114a68f32ce37c81c5ae39fb707b758addc06
+bd1326e7ef7c8e7e3f47ef431ba2f796d0991fea9c7a5a49aa3de4fa66418ead4a04349b7d2d48
+e274f5220b21d42a273aa1226dc857d5d2cdc524f94ff5acec8fb482c3bc8c977450fdb6b11a4c
+7dcd4a1a93ec8014bc4fdf719b7b9c8204d63fd49dedcd53b28fa873526a85cde26693c40bd4af
+37e3c7babd801b7019f40d1e92ae553e712b9960b110cf073d7ccc8f22ba6993f3701bd0d903d2
+f5d5480a28596d9608be23ee960d8282af2622cf1d47c1a0705c55154cb1dfb6be67fb5cfd8120
+9c19afadec1378a9a4528592f32ad9b238a4a720b44198cf3b10c6ad26e5da6d92a7c8f03ba50b
+c5c687248ebdc22fabb382c317ad1971c77b2fa1073c0574e267aa1f4b1cd1032376da41cebf6c
+65086a342f1db6b62212123ef766818ec810082cab9582d63b929342c308aa23f16825845db901
+8ff7a484f827579bffacdac7ffa9239314493829a9ef5b253d752c09346eda3c72e77c1f7d988c
+bfc1af2f67b8541527242b7ec821b597bfdf1eea7108cab459f4faa5fc831e9be0157cbbf7d1fd
+83caf9dfc50cc758ca9c20ec9970f5d12a6113d403e9573db5e7c7546a98529be9cfb35f9eac7c
+345d6842ccad9af0a1a1325da285200f262ffa9d427eb94af3f9f29cf57c6afb258f73113e349a
+2fd35f339a82bd6b6cc1ca0acbae9cefe8f7b12fcbc8e46980422384ef7a60d51872a4bc54e925
+84a6dec783ecf0416d977b30336c3ee7150d3d08a84c56d4bbc95ee09957654387f91c8dab148c
+f67bb0852aa96d5232423567c1b25b33935f69323b3f2f84c57ec3432d70ad8cebee82d396f2a3
+b38af042eaf9101b525178e238fcaf81d5e94a2e41560e03056866257e6e5656366e06f871f283
+1b60cccb5be3086c95a1e72ed640f14af566f53a9287e1022ccd9ac60547f26cf34e8b553626ee
+01f4fb500973bac94509945dc0e604231e3e61d1727f75ba022e6551e779f3aee22ddb09c0aa6a
+2010588883bbf78c532482363b4defac0db3e8655f60d73b5c653c64df7b8af1cf570287b84218
+feaab628df71fba23691bfcf0760e9e410c9ffd6b35eb4564c8ce446911b13aded7429230adcc4
+5201698695a78ae371270c0b6e6d92fb660246d095b37604ac1d127639b8ed775dc1b16385990c
+daa292edd33971f14e11506d7b62c2c2878fd36d31607634789cd3af562a2ca1c42d55aa14a849
+ba5aca199e0fefea8f63e95b231eeb2d0ef80e1c5845aac75ccac7e1dd807e2eba31be711afdf7
+5ec60c66aa256b0adc2a081253261867bfd12626e3c85083395887f6deba03c7015d9ca8318ddc
+d05bdf5a11f6bd26765a4e301bc8a1bd1c5884b1c421a9a8bc352852dc6f4f1314c6fd0dd39ff4
+fae0d4350a4412ada3434cf639a26cb3f94662862aebb4a9910f9fc4c943d95730177a61db977e
+c7bdc33fcdc07fa5dd41394dcd98410177498580680c559babf7b95de486906a29c48cdd125c3c
+0b08e8a3782a950734b4ca2dbc209f438f8af2ed2fd4f16f38e2905376d09e558e5aca5b6289af
+574a1d74e673036e38ef3d3cf562eb8738d255136e69e3b5b83f8b6fe50afc9693e0be4715ea31
+82f1fdcb6ddd4709a2ee9d0b528837e1ca559340fa806b5b6349c35e78430800d1404764393c2f
+4b76871e8346e98588b0d90e51d5409abbedaaef4fd94ee25aab289d8c93507ec8b9bbf8a8bc9a
+1b30999fed51d009fc53eb92041f74b60cb5477c8bab2a13c84259524532999f57dcf85e642ace
+f04ea9e903180d81e9df0f262351b93b0e6fd89cf1a352c4f6d63763a7e3b4fffcedb5d9e65b55
+f5436b5fffd79b045db586a7bae4453d155fe24705f619a429251f1927b848cd2a5f7b5e54d690
+7a57aa7ef990e98adecedbf5eda11edc46eee55234803e911e76d64f7504b8f0e463b79b0e9646
+3faa83d2108731540020e343d47d37b4373fc020a0582b627b1a4c5855afc94b424335ccdfb807
+4f680e46b056d9fba141cafccae821909e05b2b95d0f12105ad89529ebbcbae34070f5fb50948a
+47b10b8925c66836249bd09b050a068656c40e593762ce1ff733fb4d662988f105a123b4f85f8e
+1158fd63a8d3fd0958ad702979e5c8a18be160d764a2d22461d2955dbdf032b0b820bcb27b0e72
+723029cb01e060d26b7343976efcc6ceeb5ae6768e8dbdc26f21361e30935f7c8e6c75e2277b99
+2a8dbd075a312991d03787447b5ea5478526d01584e6af01d8b9faeefb3c910603697c0040778a
+ae6e58cf9ab40116ade43fd263eac6984f2158e03fbe30673656a665c5b6497166524e138c4caf
+d42da1b1c183abfc81e5fe03eaf6c9db5f59056cb72ad0598ecf999c5412cb2152ed18b99df3c7
+318cf75ed91f472f65517c7f67ad4010add8a21900562c9d85b1bdcb573062b848aae890d71d96
+dcfdda7ea3eed4c5dd6906e838f7245b134702dd6846ac8c9b0b20fa59dfcdee9405688b83d901
+df2cb2938428b846f4f687ca55280c7a053dbf62e8e154c80a63822d0c6df6e73874af3443eb2f
+afeda13c9ab7e518a4672c79f5900904cc37d0a667b2d5d51f3df79c612f560aa52d6835731c8f
+3bbf61a709eadecac78ec03212e5e5b354807acf255568d6eb6818f76db343e4c51008fbabb2e2
+5e48eed5d2b6853a0a173d71588a0c196a22ef1c8f05bd21a78ec94fff74b514b2ea75f18ef956
+e0f90a3022c0db0e464d4c5bc0ce7a087622868bd019de8c66ed250cfc6c4fb621cb4a9f95cc54
+92ce8bf8b585376cf1b70b4f4e0e68a991cb38ad74988a56142c0cd9721101b6a3766b167f62b8
+2fb304dd19b80e1468d74c7ce4c30f0550d7f028be9fab0ff16632fc636fd8531c3efc9cf432f4
+380cc6a59ca288380a8b15bf7e8f6c2a53f16c2b1cefbf5da1deea55220dc2fb4757b45a7cb6b9
+9e8559a386d7ab4a8b62157bf8db9dd6670dadb625a69b3dbae13a2a9372ea436bd14ab519ce49
+eecf6315066284016478c042744fd2a66e96f41b97eec2ccb8a260d8cf10d980790dac93495d1e
+7280df1f74cc47c167fe0d6faa547b44d8583ade1e8eddfb555feea6b98b16f086cffb65fcac2c
+f5f6fad77f5c0632ad89c6549f5fedf2646255b0cfa7b33851958d30c773663518afa214cf3031
+848d65d564cc5c160000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 216 180
+%%EndPageSetup
+q 0 0 216 180 rectclip q
+1 g
+0 0 216 180 rectfill
+0 g
+0.75 w
+1 J
+1 j
+[] 0.0 d
+10 M 49.531 62.32 m 61.48 67.719 l S
+70.219 71.695 m 102.887 86.656 l S
+111.391 91.082 m 185.906 134.816 l S
+46.957 60.344 m 46.957 57.945 43.355 57.945 43.355 60.344 c 43.355 62.746
+ 46.957 62.746 46.957 60.344 c S
+67.652 69.695 m 67.652 67.297 64.055 67.297 64.055 69.695 c 64.055 72.098
+ 67.652 72.098 67.652 69.695 c S
+109.051 88.656 m 109.051 86.254 105.449 86.254 105.449 88.656 c 105.449
+ 91.055 109.051 91.055 109.051 88.656 c S
+191.844 137.246 m 191.844 134.844 188.246 134.844 188.246 137.246 c 188.246
+ 139.645 191.844 139.645 191.844 137.246 c S
+[ 3 3] 0 d
+49.953 52.438 m 61.055 52.625 l S
+[ 3 3] 0 d
+70.652 52.809 m 102.453 53.5 l S
+[ 3 3] 0 d
+112.051 53.711 m 185.246 55.379 l S
+[] 0.0 d
+46.957 52.355 m 46.957 49.957 43.355 49.957 43.355 52.355 c 43.355 54.754
+ 46.957 54.754 46.957 52.355 c S
+67.652 52.707 m 67.652 50.305 64.055 50.305 64.055 52.707 c 64.055 55.105
+ 67.652 55.105 67.652 52.707 c S
+109.051 53.602 m 109.051 51.203 105.449 51.203 105.449 53.602 c 105.449
+ 56.004 109.051 56.004 109.051 53.602 c S
+191.844 55.488 m 191.844 53.086 188.246 53.086 188.246 55.488 c 188.246
+ 57.887 191.844 57.887 191.844 55.488 c S
+45.156 48.961 m 190.043 48.961 l S
+45.156 48.961 m 45.156 44.16 l S
+65.855 48.961 m 65.855 44.16 l S
+107.25 48.961 m 107.25 44.16 l S
+190.043 48.961 m 190.043 44.16 l S
+BT
+8 0 0 8 39.15625 32.239258 Tm
+/f-0-0 1 Tf
+[(128)-1087(256)-3675(512)]TJ
+17.86084 0 Td
+(1024)Tj
+ET
+39.359 50.812 m 39.359 131.559 l S
+39.359 50.812 m 34.559 50.812 l S
+39.359 77.727 m 34.559 77.727 l S
+39.359 104.645 m 34.559 104.645 l S
+39.359 131.559 m 34.559 131.559 l S
+BT
+0 8 -8 0 27.280273 48.8125 Tm
+/f-0-0 1 Tf
+[(0)-2864(5)-2615(10)-2364(15)]TJ
+8 0 0 8 88.601562 13.040039 Tm
+[(W)80(a)30(vy sur)-20(f)25(ace size)]TJ
+0 8 -8 0 8.081055 82.800781 Tm
+[(T)20(ime, s)]TJ
+8 0 0 8 124.015625 119.352539 Tm
+(OpenMP)Tj
+0.728027 -7.401855 Td
+(OpenCL)Tj
+ET
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/figures/breakdown-cpu-gpu.eps b/figures/breakdown-cpu-gpu.eps
@@ -0,0 +1,564 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.14.8 (http://cairographics.org)
+%%CreationDate: Mon Aug 21 10:42:41 2017
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 0 324 288
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%BeginSetup
+%%BeginResource: font f-0-0
+%!FontType1-1.1 f-0-0 1.0
+11 dict begin
+/FontName /f-0-0 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/FontBBox {0 -218 932 688 } readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 32 /space put
+dup 44 /comma put
+dup 46 /period put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 56 /eight put
+dup 67 /C put
+dup 70 /F put
+dup 84 /T put
+dup 87 /W put
+dup 97 /a put
+dup 99 /c put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 105 /i put
+dup 109 /m put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 117 /u put
+dup 118 /v put
+dup 121 /y put
+dup 122 /z put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece636fb4a96c74d26ab84185f6dfa4a16a7a1c27bbe3f1156aea698df336d20b467
+b10e7f33846656653c5ac6962759d3056cbdb3190bac614b984bf5a132dc418192443014ba63de
+800d392b6fea026574bb2535fd7bb5338f35bf15a88ea328fdaa49670c7852e3d060f3c5d6b07f
+2ef6d0f22646c5d18e19a2ae3ee120390f6dd96f76dcf1e127de5e9299077a00c17c0d71e36e5b
+9d5ec58fceda57739a6a4214d4b79d6c48d2784b60c320323c7acddddf34db833cac0cf109f799
+69d114a330d372e5c978a66acc84e3fe5557f6240856a013ffaa0199444e5c5036f775eba4a5c5
+8cde66cf604b9aca2178431127b8a1ff7ed633a65c04600af5f573483112251cae024f6cb3a999
+75f9c0952d6b5226ac3494a14587434ec00a84275422a6be858036376c4fd97ebdd48c0a28eb59
+87825a8bd3f284ed6fcf6f04a92e0f947a0463e09910a5c28ce7a6d25f9652967ec86a7452a9ed
+c1e697410e496daf6f4d6b8138eb7a0cb26092688b6f43fba8f2aecfd87b68aa3b54bfcf75a06f
+45cd8797ea17c60bc437cdbaff5934eb67805fe3767cffb48d9d743eb14a1ea84ca809b56c6e4b
+c52515c87bf7ce71a1ebc532c4c37668eb6c287394d7a8887fe1bbe2e77aef72419bb3e91cdae5
+254ebdb09bbc90c1f03f7bdd52cad1022b1e6d2d5fe0a14ae9967ce0e3d5b359d5b25e5fb1b209
+f32d2a669c536c7ef040f49e8bd1ee0eaa178518032579076717dbb8de02af5b0ace713e4f97ac
+fd19946aeb09e1e21dcc69760229e0af6de5223e636dad21727095efce81fa237b133bf3e60a28
+b8d67a6398f1c96400143fc92f0fc0e6af8fad74b3b3b58b12a29d3515aff070373d9c1b6e9d88
+acca3b0e27123effb1e0aaebff785343ce6b6fba1799321eb744958292bdc9908535b6c9f417b4
+750cf846f97f978c363a4b623daff18b6501e5007f09b017f35165e66a9784f3033f9aa2462665
+56499749a6fad9683dd5439bb50ed0365221db528c74239906528c72da24b7f6e5799d78b8dcb4
+328792570e3dcf5cc5832488c49d2ef7d8e737ecfd38d149e980388e0ed00d00a5aa85c115e95a
+9b3e84559886b8a2a698ce337ef77890d1f36262ea562a0c56671ae7eea81760bfe89b582d0349
+9b47436a2de979705ceea4a1eb58419d4b2abe7cb2857ce5cc66620a3eb280f1a8f97807157004
+5f7978759e8a599d9b9a5e98193c767e304e709b82f6690ce195a4e3edf90aa077e3000e04589b
+3ae276f19bbe7703953bb26849eb1f07887db17296b4cab43742e47738211973663c485636eb18
+180a5d3f29bff08cc0fbaec2fc653e96a1be1482e9d65856372a3e991d5891d8af5b273cb9a62f
+1afa54ac32d75adafaf717b5042c1f0ea8c37b3d7fe2fbc3480537e24c708708590eb353b88c0f
+36ca2e5c6d9fc8a92703cd651090f9419b60227e918bc1ac7708061fac0f2176c984a4589d8bbb
+e0e31df68cd119c3f64a3a2e6a9099332f879fc47f1ba70055e86b375ba73f4ce6243fa08ff0da
+fd2332f6e4f5b3569a0c812318eb14720c2892a2c5f582383c6efc40130f9a0b5a1b0e2c022b10
+f05ddaebde972f4766bb9d4a98353ed4eb5fdf2b2e3561adc3195e15350db4eb64aecff350da7a
+26481c02a184638b65318d16ff1c9f679acb7ae719ddeb766904b96c7409ccf8e8bc5a78db4d77
+6a86edc111848fd0bcae26ae18e5738c2587bddd042d298ece2d6be54c0d2244e385175342b57d
+26b02d1e1cdc08ff6b13e0110f88e341751a56f896821276d1c83047b31ff50e657b75c089261f
+22299dc0792e9f2689b349c3b0c05d42259bb8095b6ab56f741e81036fa235188c7e118ba9c590
+0ee7b173b2d13345dfbcebc7e7d61cb1df8c231f424f99851b63266541d1da9ef97cda2df7e0e1
+3c083928f4be22e799ba6e0aa602148589c9ca6989d3390c66a3b712f4be47c0d4b0c850ac8ee8
+982e9cc406e21ab3180d1f3f89007ba7cc9020fed5d6534c878daa55aaf9a21c2badcb24c42b33
+31ddafe96154b83e8c39485c170e563f9da4370d3463816a94b859ad8772d555e8698dfffd1679
+18c69bfb31d5c52e99fb3b70870682d8b0f961dbaa19cece749a24f536f1632d15f7b0665e9662
+bdb7aefc08868405a446420b390fbd9371b4f6b95fb074c4fe5753381000390baadfdb65237570
+30e98315e7c05322aee20066ea280eab57bda2b46f676665212cc521b6dc7155b3720ec438d6ae
+afe9f0bbe04ab50e50a7dc7c595a037a09dae713a3b724f1e98ff4d94dee6bca1133d15ff7a763
+ac96c15354804a6581739cf1ca016a141e1f445ddbae2b604e00609470f8cacc2acf9877d31088
+b037eea7aa2b8ca106c4e3acc6f4600a163549608f85aea5e8947b2b33f360560bbd233f454642
+215882f34ca6d71cb7d1d4fa524e67727d46ec2f8d9cda1cf861e75c9efdffee728bc8c3d82dd2
+1fa9a411e3256930b8d121eeea1a66b37504fdfa4f2816dee23590369397bc14bb71037faa6e15
+73f823ee955778e9bdea2f68b64e63439ea8f0f837f619ca2815285aa55e3a3b0dd390f42377a7
+14f5a46ec93d0692a7936331a8479bcaeb272ddd00e1c63b8c358b428f756360f858e7e822721b
+f2b27efd5e663695d33d46e5d884456b18f9ef8f642b7494c6f6df23dcad2efe4467fc7e8be0af
+a35ca388f7abb78caf9581abe00f32dfa22d55b3aa1234c7205eb9749c5c72e276a37fe357d96b
+78277be385de9b4630c31a7fa79074fa5870a1945eef6c1b81fe4115c5129c2edfe0df91b663c2
+7452237e88d835dd6b17c08cc48af9d51f9b68726c673ed5e135ff712dbc08f82f889665258b1f
+0dee653f79c6960bc492d19c3a6ec87386e5eb566aac676750dceed02c874f3e46f3a07a4a829f
+e75403dc4e19ebc1cd4f261733fcf305d99da60b1a846499819cb2ae0c32194e604c14c62a3b16
+c119059485267ed8d95ba1721a7a5047c027838c77678d9d579c1153f59768a84cd5277b761663
+3f0d275829e1aa592bf298306722d2c94f2107452b8751f4e2ae472ae412228187ce3a1e53544a
+b9882279cbba6f8afb1b0560ed80ba0e44c7c79421e3ccd04e13000ed22069eba0d03ff5163620
+5c0c9b0e714c76571c12309e9901094dda25867ecbb8541a3693c35a253500ab77122d12697fef
+02460811eab702b87ba70e10e06514196cc355eee6bbebb16276224a692dbfd54e0a60c52c508d
+d6bffb8331531f067a935f4973bc35c6cad9ee797cb4d1011485bd380ffc031217ffc6ee0de8ed
+a9e66e465ae24afdb8f0642f077bc91fc8f5484d527dd81c25228a552d55daea683d367bcbf403
+22a3c398bc2828b4f5e86e8975a512f58064b7b51601a160d0afa448ce5c06988aeaf4f7ba2b4f
+1091268a1715733cf09164bf1e4aa56d3a636688cb9724ccb9696d4ab0e35ddf5ae10b27e104c8
+ce49a012ffd596e3dfdd53c99b7cfc26b1ab14f7fb82107bf9e961996c7cb3b8c4ba99c134e8e9
+ff6cba03d1ebcc88357a7b53e64d40555ec9fa32b110c899082b1b4bfadeee6fc5ed06620a9a66
+dca4125823c905d971317df328ab8bb8770813961413f953094c6c14a9c6262e2df52461f61444
+35b759c63368bbe6ac1ce22dc20f12e16ccfd2e6187579321f54e4bb34a73520e1cbaaf4fe36d5
+7b8e0d1262eea15956ced638df766f2fed615f126ec3c8106c8218afa0a0d3242e2a258f023c1e
+0ded565d791df2633435bf74c0b0b53e4d578792888a7df1d65e9813c1fe839158db0ae97af385
+b034d39e336c6478888242b652beac30a9717723e46c90a51219fb8289fe24478071073deb1ad7
+ebe89c63afb3f00eb3d36319fdfdf549585ae372c4c6ce3267b6a6a4885b4e69a3009428589ca0
+59ab144915a8292504f21d932c08a02f3e87378322ee2ad85c0561884d55d7d46c4a69828cca2b
+c33ee3b861e895833ad017d5e5996ecf4294019b94c444e7b996097805303e309cd590bc38ad27
+a5bd2066f23c146fb5a7a38c023ffb734a21702f10704e70aae3d43a56cdcdb37c88bcf8fdf9c2
+1e972a7da475bea17d22c242d424476c6c497f5fff1fe03cf6bfd9803b179568c86ac75296aa78
+27ce266e3eb91cb4f3b7bda416b1413ab1f57f92b910ef8e7a00d148e0d46d0fb83db20a81cc4a
+0e8616f13e31baece3557b0a3bac8807bb3651ddee648ba443e64406c6d0e6ce3e3df24bc933e5
+7c21d6dc923b2126b1f5cab606961405180f9478b89d127e5db62c863c92e7d523253457955601
+49df8dfc9898ad7fc848a3deb7e9ee4e983db69f2a64ea902eee1eec58b6d562e94ca7628d4e41
+05607289564fe5906fd67612865d4a47f60c0af3b25bb7a607543e113bbe4a14fac9631c0c637f
+847b822bc091a2791261d2d914ee0a3c760bf6c7a0db36c525580496b36e38130d5149d10652ff
+1450bbdae5f4aa4fdc0ad1f7951cf028d4c341a98c3ee94c08c0f45f5db6440990319b3384adb7
+b043f9c1ef3303413c3dc77f7ce3525b0a551c9be35b0e5882cb8d4b0e81390c67b61c835f2a2e
+3f6a79f0cd7c89482df59ed58af423e694cd5eb74c8ece357ed42e08cc9685f6f6d6e1736f2d12
+eb3a2bcd9f8049f5f8b7fafc8e301eaf64d3dbe388cf58097e17a8617423d7d66f0a554109302e
+d93692dbf1b4a25466d4c7c17c2e6afd880671b08b52b5c68e13a7a59d332f48b64dee9074ed8a
+3d9deec7978c6a8c16d17d8b2b618755d6c3c19aecb19330fc4148e760ec6875501379c7664cad
+fa5171ede2dc2ade2733347a8924ab4dfd223ce1fb6e54cd01c7629179397729cb7092c3628c98
+1fd20e5fe6291e313126627bb63559476b6504606829f741724e8d187c52e5dde1ce176d1bb937
+a5525dcfbd33b328da1ebc37d7707f74edfbb93e6fcb4336a941e2ca6ae5b105290e1afd17f75e
+75fd4726b0eefd60693655fbc5917e33b49e5c4f1552d0825b16fe527b9b763b957278bff8d78d
+c15451ebf292bdea20dd31138a2e4f3ce407119c3e1ca745c2cdd21a37883ab6e52589eb12497e
+4de284d1970bc1129776a11700a0d10e1b8dd08325cde7b3fd6c186d00e1ee1ddcd7cef2a48cf0
+97affe157fd97a6b07d5e5451de74ad36e273d1f0aae8846a2ecd26461d52cd9d7fe019584df1d
+d8bea83d8668e2924b0b6e48a62b74c4cd17cce47e751d1244f88b2e60b001aea3a95035b06d50
+30a1e8fd35f5aa1215b08efcc7ab443a53c6d937f7c04bdc7a2bb394802f16e8476b637d77aa98
+4faa3a9c64d9defd7ad2581787e9502d246201cd3c7f1db61b81de63c377db3cc59d46c16f82ce
+9fa4f2f7ef0d7a65fcfda1cbc20a5228e6beacb08c5c744e70fd8f4e307b9a074da1502e4c8b1d
+c334863e7ea2ad616f948cc0ff5f10b7f9484aca69e58c31d7d3651e852005a532dfa3edd37d4d
+f3fc59c45e3a194ee1763f522c4f567cabeb12492de46c23c112934fd35c042efd054fcac668de
+5094b630e2ffcd891d1d72126c4516b8be05efcdaa01aeefe07278b410b7a87531f620149d039a
+edf5ba0b11b7a2e095d66dfebb1bfa166a088b8f8f4275e86e572b9a76107facc219b0758132bc
+4276d4d042c67e4ea9239093f40f0097beb254c04e6cc8bb4d8cb2873bca57d3a6adc3b64ff89d
+cfd4d77af4d96716e5ec47df46f68d0db8cab4e15d60c9eb362dd68818afd0e215cfff2f2655bb
+50ff7ca7d79183aecfe3210383add599ef1ce7acb9b9efd9eff9272667df7b7aca82bd5f867a18
+21b14b1f1734e6ad6b29c944325e59bea510a6d8718e32e4ad3abbf4793d774630b9bf751cf293
+b3972fd2c08f33783bc534036e514e54c831f241f566ca8c9e56803ace143e3a2abbfa7068fdd6
+6ca5a6f4db0e55ee56bb4c3835213bcc22154b082d0edcffbc5ae5e724abd7eb014c80602054be
+49e6e2c27c0e784a3ef6d76b1f920a236ae9386cec01b38d26626602e8ed22c9351c8343cd22cc
+f1da390ecc7ad1c5709674a7967daf1495c737e25294ce690a2d41c18ff25da18c08a99d1a24e7
+90d4ae75f26f3319c32fbdfe9cea16ca96717f2a6a27f2ba03cd7fdc8b961367b450580dcaad26
+bcabc905c8cd003527ed539b5bd4dafe3f21e7e2738bdf9121b6d534946239b55b3e7e9d7f552a
+b07faaae6ed1e139116a8f12716457b6d57f207c761071cb41d3c2cfe37fa1f60a55f624807013
+f98dbdd95b80531abc764bb6e32e664f21bd36164ee19ad3b22b8a183560e1b9fb29a675ffa453
+67ab329fa811727399bed97f86df749bcbc498cec27ebe71efa30000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndResource
+%%BeginResource: font f-1-0
+%!FontType1-1.1 f-1-0 1.0
+11 dict begin
+/FontName /f-1-0 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/FontBBox {0 -205 921 691 } readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 67 /C put
+dup 76 /L put
+dup 77 /M put
+dup 79 /O put
+dup 80 /P put
+dup 101 /e put
+dup 110 /n put
+dup 112 /p put
+readonly def
+currentdict end
+currentfile eexec
+f983ef0097ece636fb4a96c74d26ab84185f6dfa4a16a7a1c27bbe3f1156aea698df336d20b467
+b10e7f33846656653c5ac6962759d3056cbdb3190bac614b984bf5a132dc418192443014ba63de
+800d392b6fea026574bb2535fd7bb5338f35bf15a88ea328fdaa49670c7852e3d060f3c5d6b07f
+2ef6d0f22646c5d18e19a2ae3ee120390f6dd96f76dcf1e127de5e9299077a00c17c0d71e36e5b
+9d5ec58fceda57739a6a4214d4b79d6c48d2784b60c320323c7acddddf34db833cac0cf109f799
+69d114a330d372e5c978a66acc84e3fe5557f6240856a013ffaa0199444e5c5036f775eba4a5c5
+8cde66cf604b9aca2178431127b8a1ff7ed633a65c04600af5f573483112251caca658d82a0c29
+1150a1fcd2cec791a6642ed2e687f1b4142049983dbd399743d35021fdf628893dc4c732911f0d
+ca56cfae37e8819a9e4e9b7f733fbbae7ed73a3a3fd32af053405cd581aebab189942a204a1eeb
+46eec9d6a0bf9147cc8e33556a665c971c3dffcc00dc672e4f22e59177d480ce65ca6acb15e2d0
+7a4ffb30e6aa9c0035018e4fcae57bf73c8b8cb537cefde2d4219d7e2e1bbb71ba72dbe8a183d0
+9c4b25e23ee4215a54c9ebc291e43cce4cf968810067a43ba87deaa37c225b5dab0da280f1ae51
+85b476eb01fe6aa68959d99cab970664c513f164d578ede993f0f66ff942886dcc5bb862bd79de
+717e1b2f9cda7193ef6bc311d06041f6fb9b7498d17f184b002d736b69e9170232626c8e15c169
+1db167be6e5241a8380bd16e727a2cfeb4929227dbf841f42cf0833515853430ff9e46d8b2b921
+7cf3a844d27c5db8ab81fa8ef1b40be33129b829dc2423535cfbc2ddcf5da9db29b6914f19907c
+d83b64685a19f0d92779c81ebcc6c93d684b2fd8fe660af0fac8975af549ba99e8400bb9c62928
+ac6a6cbb3c0274835213636dfae547a7d7a00ce16598a81de8a7a4a77accd34bee89dce0ca0ca3
+6dcbd4b8b289f5e52063b964262865c25c70d5a6a34e53c51d455f30504fdf17e98ddfff134831
+bac5ff8c62b894e007dcacea3d70dfbff12af96363716324a080ad09cdc09069db85bb7b25ccb0
+67b8f23a23aeea8472b318a11de7256aa73c966875a951778bc224cc980009c38c962f4d922d0d
+5eaeb9c2084a2a2b7a6549eced40ecfca8428b111b48f63a4bfaa180aabcea2b8e31a29528dfe4
+c0fe8f62ff3d33ea7f4a23a914def9a058141f93d9926b40ce947bf5748e1b6685c3fdc27532c9
+86eb5a801c7b14678a54f86e7deab7a2a07181e71b2578227c27137a74b0c4cf7720a9fb8f0548
+7ddc0ea403f4b5264cd0b255a4a9ce282d69e7e9a7206c1e3c45a20c374dd6d594ab2e0234dbd8
+bd17967a6ae5427a20b5249ea643a3f856a5b87835a73613302087c94b23493c0be6fc627d3b1b
+1ffaba717e9960f9535ca960b54944123ff6988427f23398ed99b33be4747af13d03fc6d614a75
+e14d663b86862fb79264900131bb413eb3b39fb45605959df4837be1ddda0361b791ca8d9757e4
+c75185d80c268ba4d7ca9f8ec3ccde4f642d6309f02a0a700c9ad6b08c1b8a84742093630d21cd
+ef59c00d42f8531c153497b0ea7664d796ad65eee0ecc97e2458ca816b8ad6a5cac98aa864c0ef
+4830d99d4f69c37121a14bb6c58806cf94ebed1e55cfac6fba5ec77963d5ce5c1e5987796af2fd
+1c7e951375cc81925e4282e47b82a568d2e7f830e62f87ee8d19ef34e479434dbca2036d491bd2
+fbc04e59b8f004d7d709bf1982edc4ff4d3f56f478ae35b8f8ac1815485df4ad3a065915665b1d
+804fd6c69e3c3c569cd3b0ec81bf2eb902b76aab74719e45a5ae76e68c8f112a635a42779a2638
+6421ab04ffd65d95d04bc881cb12fd32a67191b9f809ab6f98d33cec77f554ee4a71393d751e79
+8887dea8b154d4f65f0dcca6ccf5573a2479afbd1f389dee4498ff03e16a356352ba991e607574
+e8af8b7f992d5948ed3f303785550407a6037e8d0157710a426b75107f23437452d26473fb3da0
+b040bc4324ece687b2f6909eb91cf239a0559b9cd479dcf3b69ac96b4fca84c97dd46efe476bb9
+e6c31e3e45504095ec203aa2576900eaf91ccbd5eb051b5371118498b6ddd908f23177155e23e5
+84277c42d1c4cce84b1804d3a08d0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndResource
+%%EndSetup
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 0 324 288
+%%EndPageSetup
+q 0 0 324 288 rectclip q
+1 g
+0 0 324 288 rectfill
+0.301961 g
+43.156 89.582 20.629 -40.621 re f
+0 g
+0.75 w
+1 J
+1 j
+[] 0.0 d
+10 M 43.156 89.582 20.629 -40.621 re S
+0.588235 g
+43.156 99.016 20.629 -9.438 re f
+0 g
+43.156 99.016 20.629 -9.438 re S
+0.764706 g
+43.156 100.789 20.629 -1.773 re f
+0 g
+43.156 100.789 20.629 -1.773 re S
+0.901961 g
+43.156 106.215 20.629 -5.426 re f
+0 g
+43.156 106.215 20.629 -5.426 re S
+0.301961 g
+67.91 86.355 20.629 -37.395 re f
+0 g
+67.91 86.355 20.629 -37.395 re S
+0.588235 g
+67.91 104.586 20.629 -18.23 re f
+0 g
+67.91 104.586 20.629 -18.23 re S
+0.764706 g
+67.91 108.383 20.629 -3.797 re f
+0 g
+67.91 108.383 20.629 -3.797 re S
+0.901961 g
+67.91 119.219 20.629 -10.832 re f
+0 g
+67.91 119.219 20.629 -10.832 re S
+0.301961 g
+92.664 87.254 20.629 -38.293 re f
+0 g
+92.664 87.254 20.629 -38.293 re S
+0.588235 g
+92.664 122.02 20.629 -34.766 re f
+0 g
+92.664 122.02 20.629 -34.766 re S
+0.764706 g
+92.664 129.926 20.629 -7.906 re f
+0 g
+92.664 129.926 20.629 -7.906 re S
+0.901961 g
+92.664 152.469 20.629 -22.547 re f
+0 g
+92.664 152.469 20.629 -22.547 re S
+0.301961 g
+117.418 87.129 20.629 -38.168 re f
+0 g
+117.418 87.129 20.629 -38.168 re S
+0.588235 g
+117.418 162.668 20.629 -75.539 re f
+0 g
+117.418 162.668 20.629 -75.539 re S
+0.764706 g
+117.418 178.895 20.629 -16.227 re f
+0 g
+117.418 178.895 20.629 -16.227 re S
+0.901961 g
+117.418 222.398 20.629 -43.508 re f
+0 g
+117.418 222.398 20.629 -43.508 re S
+BT
+8 0 0 8 47.46875 32.239258 Tm
+/f-0-0 1 Tf
+[(128)-1594(256)-1595(512)-1344(1024)]TJ
+ET
+39.359 48.961 m 39.359 248.641 l S
+39.359 48.961 m 34.559 48.961 l S
+39.359 88.895 m 34.559 88.895 l S
+39.359 128.832 m 34.559 128.832 l S
+39.359 168.77 m 34.559 168.77 l S
+39.359 208.703 m 34.559 208.703 l S
+39.359 248.641 m 34.559 248.641 l S
+BT
+0 8 -8 0 27.280273 43.960938 Tm
+/f-0-0 1 Tf
+[(0.0)-3742(0.2)-3742(0.4)]TJ
+14.976074 0 Td
+[(0.6)-3742(0.8)-3742(1.0)]TJ
+9.598633 0 0 9.598633 72.601562 265.088867 Tm
+/f-1-0 1 Tf
+[(OpenCL)]TJ
+8 0 0 8 61.601562 13.040039 Tm
+/f-0-0 1 Tf
+[(W)80(a)30(vy sur)-20(f)25(ace size)]TJ
+0 8 -8 0 8.081055 136.800781 Tm
+[(T)20(ime, s)]TJ
+ET
+Q q
+69 248.641 43 -48.641 re W n
+1 g
+69.719 248.641 41.762 -48 re f
+0 g
+0.75 w
+1 J
+1 j
+[] 0.0 d
+10 M 69.719 248.641 41.762 -48 re S
+0.301961 g
+76.922 241.441 5.762 -4.801 re f
+0 g
+76.922 241.441 5.762 -4.801 re S
+0.588235 g
+76.922 231.84 5.762 -4.801 re f
+0 g
+76.922 231.84 5.762 -4.801 re S
+0.764706 g
+76.922 222.238 5.762 -4.801 re f
+0 g
+76.922 222.238 5.762 -4.801 re S
+0.901961 g
+76.922 212.641 5.762 -4.801 re f
+0 g
+76.922 212.641 5.762 -4.801 re S
+BT
+8 0 0 8 89.878906 238.598633 Tm
+/f-0-0 1 Tf
+(g)Tj
+5.598633 0 0 5.598633 93.878906 236.734375 Tm
+(1)Tj
+8 0 0 8 89.878906 229.000977 Tm
+(g)Tj
+5.598633 0 0 5.598633 93.878906 227.132812 Tm
+(2)Tj
+8 0 0 8 89.878906 217.399414 Tm
+(FFT)Tj
+0 -1.075195 Td
+[(Cop)30(y)]TJ
+ET
+Q q
+0.301961 g
+205.156 65.391 20.629 -16.43 re f
+0 g
+0.75 w
+1 J
+1 j
+[] 0.0 d
+10 M 205.156 65.391 20.629 -16.43 re S
+0.682353 g
+205.156 65.402 20.629 -0.016 re f
+0 g
+205.156 65.402 20.629 -0.016 re S
+0.901961 g
+205.156 66.637 20.629 -1.234 re f
+0 g
+205.156 66.637 20.629 -1.234 re S
+0.301961 g
+229.91 81.566 20.629 -32.605 re f
+0 g
+229.91 81.566 20.629 -32.605 re S
+0.682353 g
+229.91 81.594 20.629 -0.027 re f
+0 g
+229.91 81.594 20.629 -0.027 re S
+0.901961 g
+229.91 83.98 20.629 -2.391 re f
+0 g
+229.91 83.98 20.629 -2.391 re S
+0.301961 g
+254.664 114.332 20.629 -65.371 re f
+0 g
+254.664 114.332 20.629 -65.371 re S
+0.682353 g
+254.664 114.395 20.629 -0.062 re f
+0 g
+254.664 114.395 20.629 -0.062 re S
+0.901961 g
+254.664 119.145 20.629 -4.75 re f
+0 g
+254.664 119.145 20.629 -4.75 re S
+0.301961 g
+279.418 198.129 20.629 -149.168 re f
+0 g
+279.418 198.129 20.629 -149.168 re S
+0.682353 g
+279.418 198.254 20.629 -0.125 re f
+0 g
+279.418 198.254 20.629 -0.125 re S
+0.901961 g
+279.418 209.266 20.629 -11.012 re f
+0 g
+279.418 209.266 20.629 -11.012 re S
+BT
+8 0 0 8 209.46875 32.239258 Tm
+/f-0-0 1 Tf
+[(128)-1594(256)-1595(512)-1344(1024)]TJ
+ET
+201.359 48.961 m 201.359 248.641 l S
+201.359 48.961 m 196.559 48.961 l S
+201.359 88.895 m 196.559 88.895 l S
+201.359 128.832 m 196.559 128.832 l S
+201.359 168.77 m 196.559 168.77 l S
+201.359 208.703 m 196.559 208.703 l S
+201.359 248.641 m 196.559 248.641 l S
+BT
+0 8 -8 0 189.280273 46.960938 Tm
+/f-0-0 1 Tf
+[(0)-4492(4)-4492(8)]TJ
+14.726074 0 Td
+[(12)-3992(16)-3992(20)]TJ
+9.598633 0 0 9.598633 233.601562 265.088867 Tm
+/f-1-0 1 Tf
+[(OpenMP)]TJ
+8 0 0 8 223.601562 13.040039 Tm
+/f-0-0 1 Tf
+[(W)80(a)30(vy sur)-20(f)25(ace size)]TJ
+0 8 -8 0 170.081055 136.800781 Tm
+[(T)20(ime, s)]TJ
+ET
+Q q
+233 248.641 39 -38.641 re W n
+1 g
+233.719 248.641 37.762 -38.398 re f
+Q q
+233 248.641 39 -39.641 re W n
+0 g
+0.75 w
+1 J
+1 j
+[] 0.0 d
+10 M 233.719 248.641 37.762 -38.398 re S
+0.301961 g
+240.922 241.441 5.762 -4.801 re f
+0 g
+240.922 241.441 5.762 -4.801 re S
+0.682353 g
+240.922 231.84 5.762 -4.801 re f
+0 g
+240.922 231.84 5.762 -4.801 re S
+0.901961 g
+240.922 222.238 5.762 -4.801 re f
+0 g
+240.922 222.238 5.762 -4.801 re S
+BT
+8 0 0 8 253.878906 238.598633 Tm
+/f-0-0 1 Tf
+(g)Tj
+5.598633 0 0 5.598633 257.878906 236.734375 Tm
+(1)Tj
+8 0 0 8 253.878906 229.000977 Tm
+(g)Tj
+5.598633 0 0 5.598633 257.878906 227.132812 Tm
+(2)Tj
+8 0 0 8 253.878906 217.399414 Tm
+(FFT)Tj
+ET
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF