diff --git a/Projet/CODE/apm/bench_out_quadrortx.csv b/Projet/CODE/apm/bench_out_quadrortx.csv
new file mode 100644
index 0000000000000000000000000000000000000000..8753b4f690677b3a86a615aba7dcf856a58600e5
--- /dev/null
+++ b/Projet/CODE/apm/bench_out_quadrortx.csv
@@ -0,0 +1,216 @@
+0, 5099959, 5, apm, 0.318338
+0, 5099959, 5, apm_omp, 0.154849
+0, 5099959, 5, apm_gpu, 0.091171
+0, 5099959, 10, apm, 1.079059
+0, 5099959, 10, apm_omp, 0.329243
+0, 5099959, 10, apm_gpu, 0.081336
+0, 5099959, 20, apm, 3.948393
+0, 5099959, 20, apm_omp, 1.097772
+0, 5099959, 20, apm_gpu, 0.105337
+0, 5099959, 30, apm, 8.499898
+0, 5099959, 30, apm_omp, 2.403552
+0, 5099959, 30, apm_gpu, 0.117285
+0, 50999909, 5, apm, 3.017242
+0, 50999909, 5, apm_omp, 1.494393
+0, 50999909, 5, apm_gpu, 0.120683
+0, 50999909, 10, apm, 10.662741
+0, 50999909, 10, apm_omp, 3.080072
+0, 50999909, 10, apm_gpu, 0.139956
+0, 50999909, 20, apm, 39.208443
+0, 50999909, 20, apm_omp, 10.593814
+0, 50999909, 20, apm_gpu, 0.257591
+0, 50999909, 30, apm, 85.040319
+0, 50999909, 30, apm_omp, 23.352377
+0, 50999909, 30, apm_gpu, 0.428012
+0, 509998048, 5, apm, 30.211508
+0, 509998048, 5, apm_omp, 14.351461
+0, 509998048, 5, apm_gpu, 0.420496
+0, 509998048, 10, apm, 106.717380
+0, 509998048, 10, apm_omp, 30.363911
+0, 509998048, 10, apm_gpu, 0.579301
+0, 509998048, 20, apm, timeout
+0, 509998048, 20, apm_omp, 105.659590
+0, 509998048, 20, apm_gpu, 1.144692
+0, 509998048, 30, apm, speculative timeout
+0, 509998048, 30, apm_omp, timeout
+0, 509998048, 30, apm_gpu, 2.408474
+1, 5099959, 5, apm, 0.316618
+1, 5099959, 5, apm_omp, 0.166692
+1, 5099959, 5, apm_gpu, 0.067160
+1, 5099959, 10, apm, 1.072584
+1, 5099959, 10, apm_omp, 0.325803
+1, 5099959, 10, apm_gpu, 0.081847
+1, 5099959, 20, apm, 3.945792
+1, 5099959, 20, apm_omp, 1.100653
+1, 5099959, 20, apm_gpu, 0.110455
+1, 5099959, 30, apm, 8.496986
+1, 5099959, 30, apm_omp, 2.407649
+1, 5099959, 30, apm_gpu, 0.134222
+1, 50999909, 5, apm, 3.017781
+1, 50999909, 5, apm_omp, 1.445915
+1, 50999909, 5, apm_gpu, 0.117578
+1, 50999909, 10, apm, 10.664171
+1, 50999909, 10, apm_omp, 3.054370
+1, 50999909, 10, apm_gpu, 0.137169
+1, 50999909, 20, apm, 39.141818
+1, 50999909, 20, apm_omp, 10.597261
+1, 50999909, 20, apm_gpu, 0.252270
+1, 50999909, 30, apm, 85.137159
+1, 50999909, 30, apm_omp, 23.364324
+1, 50999909, 30, apm_gpu, 0.414537
+1, 509998048, 5, apm, 30.265950
+1, 509998048, 5, apm_omp, 14.337903
+1, 509998048, 5, apm_gpu, 0.423356
+1, 509998048, 10, apm, 106.525510
+1, 509998048, 10, apm_omp, 30.601837
+1, 509998048, 10, apm_gpu, 0.543066
+1, 509998048, 20, apm, speculative timeout
+1, 509998048, 20, apm_omp, 105.700037
+1, 509998048, 20, apm_gpu, 1.143550
+1, 509998048, 30, apm, speculative timeout
+1, 509998048, 30, apm_omp, speculative timeout
+1, 509998048, 30, apm_gpu, 2.306248
+2, 5099959, 5, apm, 0.318876
+2, 5099959, 5, apm_omp, 0.158257
+2, 5099959, 5, apm_gpu, 0.066112
+2, 5099959, 10, apm, 1.080751
+2, 5099959, 10, apm_omp, 0.324484
+2, 5099959, 10, apm_gpu, 0.072701
+2, 5099959, 20, apm, 3.916994
+2, 5099959, 20, apm_omp, 1.095797
+2, 5099959, 20, apm_gpu, 0.105283
+2, 5099959, 30, apm, 8.527538
+2, 5099959, 30, apm_omp, 2.407478
+2, 5099959, 30, apm_gpu, 0.137528
+2, 50999909, 5, apm, 3.016452
+2, 50999909, 5, apm_omp, 1.444669
+2, 50999909, 5, apm_gpu, 0.113720
+2, 50999909, 10, apm, 10.646456
+2, 50999909, 10, apm_omp, 3.078974
+2, 50999909, 10, apm_gpu, 0.143682
+2, 50999909, 20, apm, 39.214270
+2, 50999909, 20, apm_omp, 10.593368
+2, 50999909, 20, apm_gpu, 0.240989
+2, 50999909, 30, apm, 85.039569
+2, 50999909, 30, apm_omp, 23.327195
+2, 50999909, 30, apm_gpu, 0.429253
+2, 509998048, 5, apm, 30.095919
+2, 509998048, 5, apm_omp, 14.054587
+2, 509998048, 5, apm_gpu, 0.399264
+2, 509998048, 10, apm, 106.896865
+2, 509998048, 10, apm_omp, 30.336572
+2, 509998048, 10, apm_gpu, 0.539898
+2, 509998048, 20, apm, speculative timeout
+2, 509998048, 20, apm_omp, 105.945178
+2, 509998048, 20, apm_gpu, 1.141670
+2, 509998048, 30, apm, speculative timeout
+2, 509998048, 30, apm_omp, speculative timeout
+2, 509998048, 30, apm_gpu, 2.328573
+3, 5099959, 5, apm, 0.318876
+3, 5099959, 5, apm_omp, 0.160835
+3, 5099959, 5, apm_gpu, 0.066571
+3, 5099959, 10, apm, 1.092205
+3, 5099959, 10, apm_omp, 0.326092
+3, 5099959, 10, apm_gpu, 0.090953
+3, 5099959, 20, apm, 3.956564
+3, 5099959, 20, apm_omp, 1.101306
+3, 5099959, 20, apm_gpu, 0.105889
+3, 5099959, 30, apm, 8.603392
+3, 5099959, 30, apm_omp, 2.400869
+3, 5099959, 30, apm_gpu, 0.136359
+3, 50999909, 5, apm, 3.038749
+3, 50999909, 5, apm_omp, 1.433837
+3, 50999909, 5, apm_gpu, 0.128059
+3, 50999909, 10, apm, 10.752694
+3, 50999909, 10, apm_omp, 3.073162
+3, 50999909, 10, apm_gpu, 0.154891
+3, 50999909, 20, apm, 39.611285
+3, 50999909, 20, apm_omp, 10.604786
+3, 50999909, 20, apm_gpu, 0.254793
+3, 50999909, 30, apm, 85.849429
+3, 50999909, 30, apm_omp, 23.349416
+3, 50999909, 30, apm_gpu, 0.450171
+3, 509998048, 5, apm, 30.418745
+3, 509998048, 5, apm_omp, 14.859581
+3, 509998048, 5, apm_gpu, 0.407874
+3, 509998048, 10, apm, 106.841737
+3, 509998048, 10, apm_omp, 30.517236
+3, 509998048, 10, apm_gpu, 0.545351
+3, 509998048, 20, apm, speculative timeout
+3, 509998048, 20, apm_omp, 105.770578
+3, 509998048, 20, apm_gpu, 1.151213
+3, 509998048, 30, apm, speculative timeout
+3, 509998048, 30, apm_omp, speculative timeout
+3, 509998048, 30, apm_gpu, 2.337376
+4, 5099959, 5, apm, 0.319576
+4, 5099959, 5, apm_omp, 0.161575
+4, 5099959, 5, apm_gpu, 0.065427
+4, 5099959, 10, apm, 1.084161
+4, 5099959, 10, apm_omp, 0.326611
+4, 5099959, 10, apm_gpu, 0.078992
+4, 5099959, 20, apm, 3.946917
+4, 5099959, 20, apm_omp, 1.096650
+4, 5099959, 20, apm_gpu, 0.113213
+4, 5099959, 30, apm, 8.641378
+4, 5099959, 30, apm_omp, 2.384125
+4, 5099959, 30, apm_gpu, 0.131240
+4, 50999909, 5, apm, 3.040417
+4, 50999909, 5, apm_omp, 1.450543
+4, 50999909, 5, apm_gpu, 0.118671
+4, 50999909, 10, apm, 10.804307
+4, 50999909, 10, apm_omp, 3.092165
+4, 50999909, 10, apm_gpu, 0.136429
+4, 50999909, 20, apm, 39.512071
+4, 50999909, 20, apm_omp, 10.671755
+4, 50999909, 20, apm_gpu, 0.261274
+4, 50999909, 30, apm, 85.992209
+4, 50999909, 30, apm_omp, 23.349910
+4, 50999909, 30, apm_gpu, 0.443292
+4, 509998048, 5, apm, 30.410876
+4, 509998048, 5, apm_omp, 14.349217
+4, 509998048, 5, apm_gpu, 0.427505
+4, 509998048, 10, apm, 107.562734
+4, 509998048, 10, apm_omp, 30.494673
+4, 509998048, 10, apm_gpu, 0.550996
+4, 509998048, 20, apm, speculative timeout
+4, 509998048, 20, apm_omp, 105.763422
+4, 509998048, 20, apm_gpu, 1.126671
+4, 509998048, 30, apm, speculative timeout
+4, 509998048, 30, apm_omp, speculative timeout
+4, 509998048, 30, apm_gpu, 2.292987
+5, 5099959, 5, apm, 0.318732
+5, 5099959, 5, apm_omp, 0.159619
+5, 5099959, 5, apm_gpu, 0.071132
+5, 5099959, 10, apm, 1.079637
+5, 5099959, 10, apm_omp, 0.326121
+5, 5099959, 10, apm_gpu, 0.075036
+5, 5099959, 20, apm, 3.919255
+5, 5099959, 20, apm_omp, 1.097320
+5, 5099959, 20, apm_gpu, 0.093418
+5, 5099959, 30, apm, 8.521205
+5, 5099959, 30, apm_omp, 2.409111
+5, 5099959, 30, apm_gpu, 0.134932
+5, 50999909, 5, apm, 3.018874
+5, 50999909, 5, apm_omp, 1.425527
+5, 50999909, 5, apm_gpu, 0.111855
+5, 50999909, 10, apm, 10.648432
+5, 50999909, 10, apm_omp, 3.065805
+5, 50999909, 10, apm_gpu, 0.143697
+5, 50999909, 20, apm, 39.106221
+5, 50999909, 20, apm_omp, 10.597877
+5, 50999909, 20, apm_gpu, 0.251032
+5, 50999909, 30, apm, 84.885598
+5, 50999909, 30, apm_omp, 23.332223
+5, 50999909, 30, apm_gpu, 0.424782
+5, 509998048, 5, apm, 30.102173
+5, 509998048, 5, apm_omp, 14.788780
+5, 509998048, 5, apm_gpu, 0.411680
+5, 509998048, 10, apm, 106.574161
+5, 509998048, 10, apm_omp, 30.429049
+5, 509998048, 10, apm_gpu, 0.558164
+5, 509998048, 20, apm, speculative timeout
+5, 509998048, 20, apm_omp, 105.695189
+5, 509998048, 20, apm_gpu, 1.126145
+5, 509998048, 30, apm, speculative timeout
+5, 509998048, 30, apm_omp, speculative timeout
+5, 509998048, 30, apm_gpu, 2.285195
diff --git a/Projet/CODE/apm/bench_out_quadrortx_before_shared_mem_and_omp_opti.csv b/Projet/CODE/apm/bench_out_quadrortx_before_shared_mem_and_omp_opti.csv
new file mode 100644
index 0000000000000000000000000000000000000000..eaecbc3a8307e3ef008c8743f02dc784623f6c6a
--- /dev/null
+++ b/Projet/CODE/apm/bench_out_quadrortx_before_shared_mem_and_omp_opti.csv
@@ -0,0 +1,162 @@
+0, 5099959, 5, apm, 0.272875
+0, 5099959, 5, apm_omp, 0.334877
+0, 5099959, 5, apm_gpu, 0.105839
+0, 5099959, 10, apm, 0.844487
+0, 5099959, 10, apm_omp, 1.347886
+0, 5099959, 10, apm_gpu, 0.129268
+0, 5099959, 20, apm, 3.292860
+0, 5099959, 20, apm_omp, 2.929039
+0, 5099959, 20, apm_gpu, 0.319931
+0, 50999909, 5, apm, 2.753961
+0, 50999909, 5, apm_omp, 3.222289
+0, 50999909, 5, apm_gpu, 0.211269
+0, 50999909, 10, apm, 8.482044
+0, 50999909, 10, apm_omp, 11.897485
+0, 50999909, 10, apm_gpu, 0.462390
+0, 50999909, 20, apm, 32.788343
+0, 50999909, 20, apm_omp, 29.373237
+0, 50999909, 20, apm_gpu, 1.557052
+0, 509998048, 5, apm, 28.003104
+0, 509998048, 5, apm_omp, 32.128193
+0, 509998048, 5, apm_gpu, 0.978089
+0, 509998048, 10, apm, 83.693549
+0, 509998048, 10, apm_omp, timeout
+0, 509998048, 10, apm_gpu, 3.077980
+0, 509998048, 20, apm, timeout
+0, 509998048, 20, apm_omp, timeout
+0, 509998048, 20, apm_gpu, Unable to allocate column vector on device: out of memory.
+1, 5099959, 5, apm, 0.278768
+1, 5099959, 5, apm_omp, 0.333499
+1, 5099959, 5, apm_gpu, 0.088717
+1, 5099959, 10, apm, 0.833812
+1, 5099959, 10, apm_omp, 1.187792
+1, 5099959, 10, apm_gpu, 0.120689
+1, 5099959, 20, apm, 3.252538
+1, 5099959, 20, apm_omp, 2.926753
+1, 5099959, 20, apm_gpu, 0.332066
+1, 50999909, 5, apm, 2.575782
+1, 50999909, 5, apm_omp, 3.213072
+1, 50999909, 5, apm_gpu, 0.195347
+1, 50999909, 10, apm, 8.710114
+1, 50999909, 10, apm_omp, 12.943706
+1, 50999909, 10, apm_gpu, 0.440303
+1, 50999909, 20, apm, 32.853472
+1, 50999909, 20, apm_omp, 29.179002
+1, 50999909, 20, apm_gpu, 1.509716
+1, 509998048, 5, apm, 25.657563
+1, 509998048, 5, apm_omp, 32.134592
+1, 509998048, 5, apm_gpu, 0.911351
+1, 509998048, 10, apm, 82.856709
+1, 509998048, 10, apm_omp, timeout
+1, 509998048, 10, apm_gpu, 3.055964
+1, 509998048, 20, apm, timeout
+1, 509998048, 20, apm_omp, timeout
+1, 509998048, 20, apm_gpu, Unable to allocate column vector on device: out of memory.
+2, 5099959, 5, apm, 0.274706
+2, 5099959, 5, apm_omp, 0.331082
+2, 5099959, 5, apm_gpu, 0.080905
+2, 5099959, 10, apm, 0.844091
+2, 5099959, 10, apm_omp, 1.355405
+2, 5099959, 10, apm_gpu, 0.125924
+2, 5099959, 20, apm, 3.271777
+2, 5099959, 20, apm_omp, 2.877779
+2, 5099959, 20, apm_gpu, 0.336005
+2, 50999909, 5, apm, 2.574023
+2, 50999909, 5, apm_omp, 3.225215
+2, 50999909, 5, apm_gpu, 0.209382
+2, 50999909, 10, apm, 8.295896
+2, 50999909, 10, apm_omp, 13.102193
+2, 50999909, 10, apm_gpu, 0.423412
+2, 50999909, 20, apm, 32.667460
+2, 50999909, 20, apm_omp, 28.210584
+2, 50999909, 20, apm_gpu, 1.514091
+2, 509998048, 5, apm, 25.653452
+2, 509998048, 5, apm_omp, 32.097117
+2, 509998048, 5, apm_gpu, 0.960513
+2, 509998048, 10, apm, 82.834901
+2, 509998048, 10, apm_omp, timeout
+2, 509998048, 10, apm_gpu, 3.040612
+2, 509998048, 20, apm, timeout
+2, 509998048, 20, apm_omp, timeout
+2, 509998048, 20, apm_gpu, Unable to allocate column vector on device: out of memory.
+3, 5099959, 5, apm, 0.273055
+3, 5099959, 5, apm_omp, 0.328300
+3, 5099959, 5, apm_gpu, 0.078180
+3, 5099959, 10, apm, 0.844699
+3, 5099959, 10, apm_omp, 1.339578
+3, 5099959, 10, apm_gpu, 0.128416
+3, 5099959, 20, apm, 3.298814
+3, 5099959, 20, apm_omp, 3.021652
+3, 5099959, 20, apm_gpu, 0.305043
+3, 50999909, 5, apm, 2.596152
+3, 50999909, 5, apm_omp, 3.199000
+3, 50999909, 5, apm_gpu, 0.197116
+3, 50999909, 10, apm, 8.304178
+3, 50999909, 10, apm_omp, 13.053688
+3, 50999909, 10, apm_gpu, 0.480737
+3, 50999909, 20, apm, 32.248435
+3, 50999909, 20, apm_omp, 29.590016
+3, 50999909, 20, apm_gpu, 1.508278
+3, 509998048, 5, apm, 25.673647
+3, 509998048, 5, apm_omp, 34.831583
+3, 509998048, 5, apm_gpu, 0.912141
+3, 509998048, 10, apm, 82.964602
+3, 509998048, 10, apm_omp, timeout
+3, 509998048, 10, apm_gpu, 3.048585
+3, 509998048, 20, apm, timeout
+3, 509998048, 20, apm_omp, timeout
+3, 509998048, 20, apm_gpu, Unable to allocate column vector on device: out of memory.
+4, 5099959, 5, apm, 0.260080
+4, 5099959, 5, apm_omp, 0.337897
+4, 5099959, 5, apm_gpu, 0.087877
+4, 5099959, 10, apm, 0.845370
+4, 5099959, 10, apm_omp, 1.318955
+4, 5099959, 10, apm_gpu, 0.123509
+4, 5099959, 20, apm, 3.244356
+4, 5099959, 20, apm_omp, 3.025036
+4, 5099959, 20, apm_gpu, 0.310954
+4, 50999909, 5, apm, 2.573097
+4, 50999909, 5, apm_omp, 3.259112
+4, 50999909, 5, apm_gpu, 0.187939
+4, 50999909, 10, apm, 8.297891
+4, 50999909, 10, apm_omp, 12.848150
+4, 50999909, 10, apm_gpu, 0.463600
+4, 50999909, 20, apm, 32.628178
+4, 50999909, 20, apm_omp, 29.681028
+4, 50999909, 20, apm_gpu, 1.499634
+4, 509998048, 5, apm, 25.674366
+4, 509998048, 5, apm_omp, 39.277953
+4, 509998048, 5, apm_gpu, 0.935545
+4, 509998048, 10, apm, 82.841585
+4, 509998048, 10, apm_omp, timeout
+4, 509998048, 10, apm_gpu, 3.058158
+4, 509998048, 20, apm, timeout
+4, 509998048, 20, apm_omp, timeout
+4, 509998048, 20, apm_gpu, Unable to allocate column vector on device: out of memory.
+5, 5099959, 5, apm, 0.257979
+5, 5099959, 5, apm_omp, 0.370743
+5, 5099959, 5, apm_gpu, 0.087583
+5, 5099959, 10, apm, 0.830774
+5, 5099959, 10, apm_omp, 1.382527
+5, 5099959, 10, apm_gpu, 0.133074
+5, 5099959, 20, apm, 3.230567
+5, 5099959, 20, apm_omp, 2.859112
+5, 5099959, 20, apm_gpu, 0.322733
+5, 50999909, 5, apm, 2.572372
+5, 50999909, 5, apm_omp, 3.191678
+5, 50999909, 5, apm_gpu, 0.206410
+5, 50999909, 10, apm, 8.288823
+5, 50999909, 10, apm_omp, 12.595755
+5, 50999909, 10, apm_gpu, 0.477767
+5, 50999909, 20, apm, 32.274657
+5, 50999909, 20, apm_omp, 29.137564
+5, 50999909, 20, apm_gpu, 1.478342
+5, 509998048, 5, apm, 25.661060
+5, 509998048, 5, apm_omp, 31.765645
+5, 509998048, 5, apm_gpu, 0.902696
+5, 509998048, 10, apm, 82.846892
+5, 509998048, 10, apm_omp, timeout
+5, 509998048, 10, apm_gpu, 3.074477
+5, 509998048, 20, apm, timeout
+5, 509998048, 20, apm_omp, timeout
+5, 509998048, 20, apm_gpu, Unable to allocate column vector on device: out of memory.