diff options
Expand LDC benchmark scripts
-rw-r--r-- | ldc_2d_benchmark.py | 46 | ||||
-rw-r--r-- | ldc_3d_benchmark.py | 50 | ||||
-rw-r--r-- | result/ldc_2d_benchmark_K2200.log | 442 | ||||
-rw-r--r-- | result/ldc_2d_benchmark_K2200.py | 2 | ||||
-rw-r--r-- | result/ldc_3d_benchmark_K2200.log | 412 | ||||
-rw-r--r-- | result/ldc_3d_benchmark_K2200.py | 2 | ||||
-rw-r--r-- | simulation.py | 5 |
7 files changed, 687 insertions, 272 deletions
diff --git a/ldc_2d_benchmark.py b/ldc_2d_benchmark.py index af2dfa6..fd15e8d 100644 --- a/ldc_2d_benchmark.py +++ b/ldc_2d_benchmark.py @@ -36,44 +36,62 @@ boundary = Template(""" 'lid_speed': lid_speed }) -sizes = [32, 64, 96, 128, 256, 512, 1024] +base_2_sizes = {32, 64, 128, 256, 512, 1024, 2048} +base_10_sizes = {50, 100, 200, 400, 600, 800, 1000} -precisions = [ 'single', 'double' ] +precisions = {'single', 'double'} -layouts = [ +base_2_layouts = { ( 16, 1), - ( 24, 1), ( 32, 1), - ( 48, 1), ( 64, 1), - ( 96, 1), ( 128, 1), ( 256, 1), ( 512, 1), (1024, 1), -] +} + +base_10_layouts = { + ( 10, 1), + ( 30, 1), + ( 50, 1), + ( 100, 1), + ( 200, 1) +} + +base_2_configs = list(filter( + lambda config: config[0] % config[1][0] == 0, + itertools.product(*[base_2_sizes, base_2_layouts, precisions, {True, False}, {True}]) +)) + +align_configs = list(filter( + lambda config: config[0] % config[1][0] == 0, + itertools.product(*[base_10_sizes, base_10_layouts, precisions, {True}, {True, False}]) +)) -configs = list(filter( - lambda config: config[0] % config[1][0] == 0 and config[0] % config[1][1] == 0, - itertools.product(*[sizes, layouts, precisions, [True, False]]) +pad_configs = list(filter( + lambda config: config[0] - config[1][0] >= -100, + itertools.product(*[base_10_sizes, base_2_layouts, precisions, {True}, {True}]) )) lbm = LBM(D2Q9) measurements = [] -for size, layout, precision, opti in configs: +for size, layout, precision, opti, align in base_2_configs + align_configs + pad_configs: lattice = Lattice( descriptor = D2Q9, geometry = Geometry(size, size), precision = precision, layout = layout, + padding = layout, + align = align, moments = lbm.moments(optimize = opti), collide = lbm.bgk(f_eq = lbm.equilibrium(), tau = relaxation_time, optimize = opti), boundary_src = boundary) lattice.setup_geometry(cavity) - nUpdates = 1000 + nUpdates = 500 nStat = 100 stats = [] @@ -89,8 +107,8 @@ for size, layout, precision, opti in configs: stats.append(mlups) lastStat = time.time() - print('%s: ~%d MLUPS' % ((size, layout, precision, opti), numpy.average(stats))) - measurements.append(((size, layout, precision, opti), stats)) + print('%s: ~%d MLUPS' % ((size, layout, precision, opti, align), numpy.average(stats))) + measurements.append(((size, layout, precision, opti, align), stats)) del lattice with open('result/ldc_2d_benchmark.data', 'w') as f: diff --git a/ldc_3d_benchmark.py b/ldc_3d_benchmark.py index d066d87..5568c62 100644 --- a/ldc_3d_benchmark.py +++ b/ldc_3d_benchmark.py @@ -39,41 +39,61 @@ boundary = Template(""" 'lid_speed': lid_speed }) -sizes = [16, 32, 48, 64, 96] +base_2_sizes = {16, 32, 48, 64, 96, 128} +base_10_sizes = {10, 20, 40, 60, 80, 100} -layouts = [ +base_2_layouts = { ( 16, 1, 1), - ( 24, 1, 1), ( 32, 1, 1), - ( 48, 1, 1), ( 64, 1, 1), - ( 96, 1, 1) -] + ( 96, 1, 1), + ( 128, 1, 1), +} -descriptors = [ D3Q19, D3Q27 ] +base_10_layouts = { + ( 10, 1, 1), + ( 20, 1, 1), + ( 30, 1, 1), + ( 50, 1, 1), + ( 100, 1, 1) +} -precisions = [ 'single', 'double' ] +descriptors = { D3Q19, D3Q27 } -configs = list(filter( - lambda config: config[0] % config[1][0] == 0 and config[0] % config[1][1] == 0, - itertools.product(*[sizes, layouts, descriptors, precisions, [True, False]]) +precisions = { 'single', 'double' } + +base_2_configs = list(filter( + lambda config: config[0] % config[1][0] == 0, + itertools.product(*[base_2_sizes, base_2_layouts, descriptors, precisions, {True, False}, {True}]) +)) + +align_configs = list(filter( + lambda config: config[0] % config[1][0] == 0, + itertools.product(*[base_10_sizes, base_10_layouts, descriptors, precisions, {True}, {True, False}]) +)) + +pad_configs = list(filter( + lambda config: config[0] - config[1][0] >= -28, + itertools.product(*[base_10_sizes, base_2_layouts, descriptors, precisions, {True}, {True}]) )) measurements = [] -for size, layout, descriptor, precision, opti in configs: +for size, layout, descriptor, precision, opti, align in base_2_configs + align_configs + pad_configs: lbm = LBM(descriptor) lattice = Lattice( descriptor = descriptor, geometry = Geometry(size, size, size), precision = precision, layout = layout, + padding = layout, + align = align, moments = lbm.moments(optimize = opti), collide = lbm.bgk(f_eq = lbm.equilibrium(), tau = relaxation_time, optimize = opti), boundary_src = boundary) lattice.setup_geometry(cavity) - nUpdates = 1000 + nUpdates = 500 nStat = 100 stats = [] @@ -89,8 +109,8 @@ for size, layout, descriptor, precision, opti in configs: stats.append(mlups) lastStat = time.time() - print('%s: ~%d MLUPS' % ((size, layout, descriptor.__name__, precision, opti), numpy.average(stats))) - measurements.append(((size, layout, descriptor.__name__, precision, opti), stats)) + print('%s: ~%d MLUPS' % ((size, layout, descriptor.__name__, precision, opti, align), numpy.average(stats))) + measurements.append(((size, layout, descriptor.__name__, precision, opti, align), stats)) del lattice, lbm with open('result/ldc_3d_benchmark.data', 'w') as f: diff --git a/result/ldc_2d_benchmark_K2200.log b/result/ldc_2d_benchmark_K2200.log index b88df82..c27b9dc 100644 --- a/result/ldc_2d_benchmark_K2200.log +++ b/result/ldc_2d_benchmark_K2200.log @@ -1,128 +1,314 @@ -(32, (16, 1), 'single', True): ~15 MLUPS -(32, (16, 1), 'single', False): ~16 MLUPS -(32, (16, 1), 'double', True): ~16 MLUPS -(32, (16, 1), 'double', False): ~13 MLUPS -(32, (32, 1), 'single', True): ~16 MLUPS -(32, (32, 1), 'single', False): ~16 MLUPS -(32, (32, 1), 'double', True): ~15 MLUPS -(32, (32, 1), 'double', False): ~14 MLUPS -(64, (16, 1), 'single', True): ~63 MLUPS -(64, (16, 1), 'single', False): ~63 MLUPS -(64, (16, 1), 'double', True): ~62 MLUPS -(64, (16, 1), 'double', False): ~13 MLUPS -(64, (32, 1), 'single', True): ~63 MLUPS -(64, (32, 1), 'single', False): ~63 MLUPS -(64, (32, 1), 'double', True): ~62 MLUPS -(64, (32, 1), 'double', False): ~27 MLUPS -(64, (64, 1), 'single', True): ~62 MLUPS -(64, (64, 1), 'single', False): ~62 MLUPS -(64, (64, 1), 'double', True): ~63 MLUPS -(64, (64, 1), 'double', False): ~27 MLUPS -(96, (16, 1), 'single', True): ~134 MLUPS -(96, (16, 1), 'single', False): ~141 MLUPS -(96, (16, 1), 'double', True): ~140 MLUPS -(96, (16, 1), 'double', False): ~15 MLUPS -(96, (24, 1), 'single', True): ~141 MLUPS -(96, (24, 1), 'single', False): ~140 MLUPS -(96, (24, 1), 'double', True): ~139 MLUPS -(96, (24, 1), 'double', False): ~21 MLUPS -(96, (32, 1), 'single', True): ~139 MLUPS -(96, (32, 1), 'single', False): ~136 MLUPS -(96, (32, 1), 'double', True): ~139 MLUPS -(96, (32, 1), 'double', False): ~28 MLUPS -(96, (48, 1), 'single', True): ~141 MLUPS -(96, (48, 1), 'single', False): ~141 MLUPS -(96, (48, 1), 'double', True): ~141 MLUPS -(96, (48, 1), 'double', False): ~21 MLUPS -(96, (96, 1), 'single', True): ~140 MLUPS -(96, (96, 1), 'single', False): ~141 MLUPS -(96, (96, 1), 'double', True): ~141 MLUPS -(96, (96, 1), 'double', False): ~28 MLUPS -(128, (16, 1), 'single', True): ~253 MLUPS -(128, (16, 1), 'single', False): ~252 MLUPS -(128, (16, 1), 'double', True): ~151 MLUPS -(128, (16, 1), 'double', False): ~15 MLUPS -(128, (32, 1), 'single', True): ~234 MLUPS -(128, (32, 1), 'single', False): ~251 MLUPS -(128, (32, 1), 'double', True): ~250 MLUPS -(128, (32, 1), 'double', False): ~29 MLUPS -(128, (64, 1), 'single', True): ~252 MLUPS -(128, (64, 1), 'single', False): ~252 MLUPS -(128, (64, 1), 'double', True): ~249 MLUPS -(128, (64, 1), 'double', False): ~29 MLUPS -(128, (128, 1), 'single', True): ~252 MLUPS -(128, (128, 1), 'single', False): ~250 MLUPS -(128, (128, 1), 'double', True): ~249 MLUPS -(128, (128, 1), 'double', False): ~28 MLUPS -(256, (16, 1), 'single', True): ~789 MLUPS -(256, (16, 1), 'single', False): ~430 MLUPS -(256, (16, 1), 'double', True): ~160 MLUPS -(256, (16, 1), 'double', False): ~15 MLUPS -(256, (32, 1), 'single', True): ~781 MLUPS -(256, (32, 1), 'single', False): ~766 MLUPS -(256, (32, 1), 'double', True): ~312 MLUPS -(256, (32, 1), 'double', False): ~30 MLUPS -(256, (64, 1), 'single', True): ~766 MLUPS -(256, (64, 1), 'single', False): ~721 MLUPS -(256, (64, 1), 'double', True): ~311 MLUPS -(256, (64, 1), 'double', False): ~30 MLUPS -(256, (128, 1), 'single', True): ~765 MLUPS -(256, (128, 1), 'single', False): ~724 MLUPS -(256, (128, 1), 'double', True): ~311 MLUPS -(256, (128, 1), 'double', False): ~30 MLUPS -(256, (256, 1), 'single', True): ~769 MLUPS -(256, (256, 1), 'single', False): ~732 MLUPS -(256, (256, 1), 'double', True): ~309 MLUPS -(256, (256, 1), 'double', False): ~29 MLUPS -(512, (16, 1), 'single', True): ~823 MLUPS -(512, (16, 1), 'single', False): ~459 MLUPS -(512, (16, 1), 'double', True): ~163 MLUPS -(512, (16, 1), 'double', False): ~15 MLUPS -(512, (32, 1), 'single', True): ~829 MLUPS -(512, (32, 1), 'single', False): ~825 MLUPS -(512, (32, 1), 'double', True): ~321 MLUPS -(512, (32, 1), 'double', False): ~30 MLUPS -(512, (64, 1), 'single', True): ~825 MLUPS -(512, (64, 1), 'single', False): ~801 MLUPS -(512, (64, 1), 'double', True): ~322 MLUPS -(512, (64, 1), 'double', False): ~30 MLUPS -(512, (128, 1), 'single', True): ~825 MLUPS -(512, (128, 1), 'single', False): ~802 MLUPS -(512, (128, 1), 'double', True): ~322 MLUPS -(512, (128, 1), 'double', False): ~30 MLUPS -(512, (256, 1), 'single', True): ~826 MLUPS -(512, (256, 1), 'single', False): ~807 MLUPS -(512, (256, 1), 'double', True): ~322 MLUPS -(512, (256, 1), 'double', False): ~30 MLUPS -(512, (512, 1), 'single', True): ~825 MLUPS -(512, (512, 1), 'single', False): ~809 MLUPS -(512, (512, 1), 'double', True): ~316 MLUPS -(512, (512, 1), 'double', False): ~30 MLUPS -(1024, (16, 1), 'single', True): ~828 MLUPS -(1024, (16, 1), 'single', False): ~476 MLUPS -(1024, (16, 1), 'double', True): ~163 MLUPS -(1024, (16, 1), 'double', False): ~15 MLUPS -(1024, (32, 1), 'single', True): ~842 MLUPS -(1024, (32, 1), 'single', False): ~836 MLUPS -(1024, (32, 1), 'double', True): ~325 MLUPS -(1024, (32, 1), 'double', False): ~31 MLUPS -(1024, (64, 1), 'single', True): ~829 MLUPS -(1024, (64, 1), 'single', False): ~813 MLUPS -(1024, (64, 1), 'double', True): ~325 MLUPS -(1024, (64, 1), 'double', False): ~31 MLUPS -(1024, (128, 1), 'single', True): ~829 MLUPS -(1024, (128, 1), 'single', False): ~813 MLUPS -(1024, (128, 1), 'double', True): ~325 MLUPS -(1024, (128, 1), 'double', False): ~31 MLUPS -(1024, (256, 1), 'single', True): ~832 MLUPS -(1024, (256, 1), 'single', False): ~821 MLUPS -(1024, (256, 1), 'double', True): ~325 MLUPS -(1024, (256, 1), 'double', False): ~31 MLUPS -(1024, (512, 1), 'single', True): ~832 MLUPS -(1024, (512, 1), 'single', False): ~825 MLUPS -(1024, (512, 1), 'double', True): ~321 MLUPS -(1024, (512, 1), 'double', False): ~31 MLUPS -(1024, (1024, 1), 'single', True): ~832 MLUPS -(1024, (1024, 1), 'single', False): ~815 MLUPS -(1024, (1024, 1), 'double', True): ~298 MLUPS -(1024, (1024, 1), 'double', False): ~30 MLUPS +(32, (32, 1), 'double', False, True): ~15 MLUPS +(32, (32, 1), 'double', True, True): ~16 MLUPS +(32, (32, 1), 'single', False, True): ~16 MLUPS +(32, (32, 1), 'single', True, True): ~16 MLUPS +(32, (16, 1), 'double', False, True): ~13 MLUPS +(32, (16, 1), 'double', True, True): ~15 MLUPS +(32, (16, 1), 'single', False, True): ~15 MLUPS +(32, (16, 1), 'single', True, True): ~14 MLUPS +(256, (256, 1), 'double', False, True): ~29 MLUPS +(256, (256, 1), 'double', True, True): ~309 MLUPS +(256, (256, 1), 'single', False, True): ~742 MLUPS +(256, (256, 1), 'single', True, True): ~773 MLUPS +(256, (32, 1), 'double', False, True): ~30 MLUPS +(256, (32, 1), 'double', True, True): ~312 MLUPS +(256, (32, 1), 'single', False, True): ~758 MLUPS +(256, (32, 1), 'single', True, True): ~779 MLUPS +(256, (64, 1), 'double', False, True): ~30 MLUPS +(256, (64, 1), 'double', True, True): ~311 MLUPS +(256, (64, 1), 'single', False, True): ~720 MLUPS +(256, (64, 1), 'single', True, True): ~787 MLUPS +(256, (128, 1), 'double', False, True): ~30 MLUPS +(256, (128, 1), 'double', True, True): ~309 MLUPS +(256, (128, 1), 'single', False, True): ~721 MLUPS +(256, (128, 1), 'single', True, True): ~773 MLUPS +(256, (16, 1), 'double', False, True): ~15 MLUPS +(256, (16, 1), 'double', True, True): ~160 MLUPS +(256, (16, 1), 'single', False, True): ~436 MLUPS +(256, (16, 1), 'single', True, True): ~787 MLUPS +(64, (32, 1), 'double', False, True): ~28 MLUPS +(64, (32, 1), 'double', True, True): ~62 MLUPS +(64, (32, 1), 'single', False, True): ~64 MLUPS +(64, (32, 1), 'single', True, True): ~63 MLUPS +(64, (64, 1), 'double', False, True): ~27 MLUPS +(64, (64, 1), 'double', True, True): ~62 MLUPS +(64, (64, 1), 'single', False, True): ~57 MLUPS +(64, (64, 1), 'single', True, True): ~63 MLUPS +(64, (16, 1), 'double', False, True): ~14 MLUPS +(64, (16, 1), 'double', True, True): ~63 MLUPS +(64, (16, 1), 'single', False, True): ~63 MLUPS +(64, (16, 1), 'single', True, True): ~63 MLUPS +(128, (32, 1), 'double', False, True): ~29 MLUPS +(128, (32, 1), 'double', True, True): ~244 MLUPS +(128, (32, 1), 'single', False, True): ~254 MLUPS +(128, (32, 1), 'single', True, True): ~254 MLUPS +(128, (64, 1), 'double', False, True): ~29 MLUPS +(128, (64, 1), 'double', True, True): ~255 MLUPS +(128, (64, 1), 'single', False, True): ~250 MLUPS +(128, (64, 1), 'single', True, True): ~251 MLUPS +(128, (128, 1), 'double', False, True): ~28 MLUPS +(128, (128, 1), 'double', True, True): ~253 MLUPS +(128, (128, 1), 'single', False, True): ~249 MLUPS +(128, (128, 1), 'single', True, True): ~255 MLUPS +(128, (16, 1), 'double', False, True): ~15 MLUPS +(128, (16, 1), 'double', True, True): ~151 MLUPS +(128, (16, 1), 'single', False, True): ~250 MLUPS +(128, (16, 1), 'single', True, True): ~254 MLUPS +(512, (256, 1), 'double', False, True): ~31 MLUPS +(512, (256, 1), 'double', True, True): ~323 MLUPS +(512, (256, 1), 'single', False, True): ~803 MLUPS +(512, (256, 1), 'single', True, True): ~819 MLUPS +(512, (32, 1), 'double', False, True): ~31 MLUPS +(512, (32, 1), 'double', True, True): ~323 MLUPS +(512, (32, 1), 'single', False, True): ~822 MLUPS +(512, (32, 1), 'single', True, True): ~830 MLUPS +(512, (64, 1), 'double', False, True): ~31 MLUPS +(512, (64, 1), 'double', True, True): ~323 MLUPS +(512, (64, 1), 'single', False, True): ~800 MLUPS +(512, (64, 1), 'single', True, True): ~820 MLUPS +(512, (128, 1), 'double', False, True): ~31 MLUPS +(512, (128, 1), 'double', True, True): ~323 MLUPS +(512, (128, 1), 'single', False, True): ~803 MLUPS +(512, (128, 1), 'single', True, True): ~811 MLUPS +(512, (512, 1), 'double', False, True): ~30 MLUPS +(512, (512, 1), 'double', True, True): ~317 MLUPS +(512, (512, 1), 'single', False, True): ~807 MLUPS +(512, (512, 1), 'single', True, True): ~822 MLUPS +(512, (16, 1), 'double', False, True): ~15 MLUPS +(512, (16, 1), 'double', True, True): ~163 MLUPS +(512, (16, 1), 'single', False, True): ~470 MLUPS +(512, (16, 1), 'single', True, True): ~820 MLUPS +(1024, (256, 1), 'double', False, True): ~32 MLUPS +(1024, (256, 1), 'double', True, True): ~326 MLUPS +(1024, (256, 1), 'single', False, True): ~822 MLUPS +(1024, (256, 1), 'single', True, True): ~819 MLUPS +(1024, (32, 1), 'double', False, True): ~32 MLUPS +(1024, (32, 1), 'double', True, True): ~326 MLUPS +(1024, (32, 1), 'single', False, True): ~822 MLUPS +(1024, (32, 1), 'single', True, True): ~824 MLUPS +(1024, (64, 1), 'double', False, True): ~32 MLUPS +(1024, (64, 1), 'double', True, True): ~326 MLUPS +(1024, (64, 1), 'single', False, True): ~786 MLUPS +(1024, (64, 1), 'single', True, True): ~815 MLUPS +(1024, (128, 1), 'double', False, True): ~32 MLUPS +(1024, (128, 1), 'double', True, True): ~326 MLUPS +(1024, (128, 1), 'single', False, True): ~786 MLUPS +(1024, (128, 1), 'single', True, True): ~819 MLUPS +(1024, (512, 1), 'double', False, True): ~32 MLUPS +(1024, (512, 1), 'double', True, True): ~322 MLUPS +(1024, (512, 1), 'single', False, True): ~821 MLUPS +(1024, (512, 1), 'single', True, True): ~821 MLUPS +(1024, (1024, 1), 'double', False, True): ~31 MLUPS +(1024, (1024, 1), 'double', True, True): ~299 MLUPS +(1024, (1024, 1), 'single', False, True): ~819 MLUPS +(1024, (1024, 1), 'single', True, True): ~826 MLUPS +(1024, (16, 1), 'double', False, True): ~16 MLUPS +(1024, (16, 1), 'double', True, True): ~163 MLUPS +(1024, (16, 1), 'single', False, True): ~488 MLUPS +(1024, (16, 1), 'single', True, True): ~819 MLUPS +(2048, (256, 1), 'double', False, True): ~33 MLUPS +(2048, (256, 1), 'double', True, True): ~326 MLUPS +(2048, (256, 1), 'single', False, True): ~828 MLUPS +(2048, (256, 1), 'single', True, True): ~836 MLUPS +(2048, (32, 1), 'double', False, True): ~33 MLUPS +(2048, (32, 1), 'double', True, True): ~326 MLUPS +(2048, (32, 1), 'single', False, True): ~839 MLUPS +(2048, (32, 1), 'single', True, True): ~843 MLUPS +(2048, (64, 1), 'double', False, True): ~33 MLUPS +(2048, (64, 1), 'double', True, True): ~326 MLUPS +(2048, (64, 1), 'single', False, True): ~824 MLUPS +(2048, (64, 1), 'single', True, True): ~834 MLUPS +(2048, (128, 1), 'double', False, True): ~33 MLUPS +(2048, (128, 1), 'double', True, True): ~326 MLUPS +(2048, (128, 1), 'single', False, True): ~821 MLUPS +(2048, (128, 1), 'single', True, True): ~833 MLUPS +(2048, (512, 1), 'double', False, True): ~33 MLUPS +(2048, (512, 1), 'double', True, True): ~321 MLUPS +(2048, (512, 1), 'single', False, True): ~826 MLUPS +(2048, (512, 1), 'single', True, True): ~837 MLUPS +(2048, (1024, 1), 'double', False, True): ~32 MLUPS +(2048, (1024, 1), 'double', True, True): ~297 MLUPS +(2048, (1024, 1), 'single', False, True): ~831 MLUPS +(2048, (1024, 1), 'single', True, True): ~835 MLUPS +(2048, (16, 1), 'double', False, True): ~16 MLUPS +(2048, (16, 1), 'double', True, True): ~163 MLUPS +(2048, (16, 1), 'single', False, True): ~477 MLUPS +(2048, (16, 1), 'single', True, True): ~835 MLUPS +(800, (200, 1), 'double', True, False): ~291 MLUPS +(800, (200, 1), 'double', True, True): ~291 MLUPS +(800, (200, 1), 'single', True, False): ~811 MLUPS +(800, (200, 1), 'single', True, True): ~813 MLUPS +(800, (10, 1), 'double', True, False): ~102 MLUPS +(800, (10, 1), 'double', True, True): ~102 MLUPS +(800, (10, 1), 'single', True, False): ~768 MLUPS +(800, (10, 1), 'single', True, True): ~768 MLUPS +(800, (100, 1), 'double', True, False): ~255 MLUPS +(800, (100, 1), 'double', True, True): ~255 MLUPS +(800, (100, 1), 'single', True, False): ~806 MLUPS +(800, (100, 1), 'single', True, True): ~804 MLUPS +(800, (50, 1), 'double', True, False): ~255 MLUPS +(800, (50, 1), 'double', True, True): ~255 MLUPS +(800, (50, 1), 'single', True, False): ~799 MLUPS +(800, (50, 1), 'single', True, True): ~801 MLUPS +(100, (10, 1), 'double', True, False): ~95 MLUPS +(100, (10, 1), 'double', True, True): ~95 MLUPS +(100, (10, 1), 'single', True, False): ~155 MLUPS +(100, (10, 1), 'single', True, True): ~156 MLUPS +(100, (100, 1), 'double', True, False): ~155 MLUPS +(100, (100, 1), 'double', True, True): ~154 MLUPS +(100, (100, 1), 'single', True, False): ~155 MLUPS +(100, (100, 1), 'single', True, True): ~155 MLUPS +(100, (50, 1), 'double', True, False): ~154 MLUPS +(100, (50, 1), 'double', True, True): ~153 MLUPS +(100, (50, 1), 'single', True, False): ~155 MLUPS +(100, (50, 1), 'single', True, True): ~154 MLUPS +(200, (200, 1), 'double', True, False): ~252 MLUPS +(200, (200, 1), 'double', True, True): ~252 MLUPS +(200, (200, 1), 'single', True, False): ~619 MLUPS +(200, (200, 1), 'single', True, True): ~621 MLUPS +(200, (10, 1), 'double', True, False): ~96 MLUPS +(200, (10, 1), 'double', True, True): ~101 MLUPS +(200, (10, 1), 'single', True, False): ~620 MLUPS +(200, (10, 1), 'single', True, True): ~575 MLUPS +(200, (100, 1), 'double', True, False): ~240 MLUPS +(200, (100, 1), 'double', True, True): ~240 MLUPS +(200, (100, 1), 'single', True, False): ~626 MLUPS +(200, (100, 1), 'single', True, True): ~616 MLUPS +(200, (50, 1), 'double', True, False): ~240 MLUPS +(200, (50, 1), 'double', True, True): ~240 MLUPS +(200, (50, 1), 'single', True, False): ~619 MLUPS +(200, (50, 1), 'single', True, True): ~619 MLUPS +(1000, (200, 1), 'double', True, False): ~291 MLUPS +(1000, (200, 1), 'double', True, True): ~291 MLUPS +(1000, (200, 1), 'single', True, False): ~817 MLUPS +(1000, (200, 1), 'single', True, True): ~811 MLUPS +(1000, (10, 1), 'double', True, False): ~102 MLUPS +(1000, (10, 1), 'double', True, True): ~102 MLUPS +(1000, (10, 1), 'single', True, False): ~770 MLUPS +(1000, (10, 1), 'single', True, True): ~769 MLUPS +(1000, (100, 1), 'double', True, False): ~255 MLUPS +(1000, (100, 1), 'double', True, True): ~255 MLUPS +(1000, (100, 1), 'single', True, False): ~814 MLUPS +(1000, (100, 1), 'single', True, True): ~814 MLUPS +(1000, (50, 1), 'double', True, False): ~255 MLUPS +(1000, (50, 1), 'double', True, True): ~255 MLUPS +(1000, (50, 1), 'single', True, False): ~806 MLUPS +(1000, (50, 1), 'single', True, True): ~793 MLUPS +(400, (200, 1), 'double', True, False): ~286 MLUPS +(400, (200, 1), 'double', True, True): ~286 MLUPS +(400, (200, 1), 'single', True, False): ~796 MLUPS +(400, (200, 1), 'single', True, True): ~801 MLUPS +(400, (10, 1), 'double', True, False): ~102 MLUPS +(400, (10, 1), 'double', True, True): ~102 MLUPS +(400, (10, 1), 'single', True, False): ~752 MLUPS +(400, (10, 1), 'single', True, True): ~753 MLUPS +(400, (100, 1), 'double', True, False): ~252 MLUPS +(400, (100, 1), 'double', True, True): ~252 MLUPS +(400, (100, 1), 'single', True, False): ~790 MLUPS +(400, (100, 1), 'single', True, True): ~794 MLUPS +(400, (50, 1), 'double', True, False): ~252 MLUPS +(400, (50, 1), 'double', True, True): ~252 MLUPS +(400, (50, 1), 'single', True, False): ~785 MLUPS +(400, (50, 1), 'single', True, True): ~787 MLUPS +(50, (10, 1), 'double', True, False): ~38 MLUPS +(50, (10, 1), 'double', True, True): ~38 MLUPS +(50, (10, 1), 'single', True, False): ~38 MLUPS +(50, (10, 1), 'single', True, True): ~38 MLUPS +(50, (50, 1), 'double', True, False): ~38 MLUPS +(50, (50, 1), 'double', True, True): ~38 MLUPS +(50, (50, 1), 'single', True, False): ~39 MLUPS +(50, (50, 1), 'single', True, True): ~39 MLUPS +(600, (30, 1), 'double', True, False): ~296 MLUPS +(600, (30, 1), 'double', True, True): ~304 MLUPS +(600, (30, 1), 'single', True, False): ~803 MLUPS +(600, (30, 1), 'single', True, True): ~824 MLUPS +(600, (200, 1), 'double', True, False): ~290 MLUPS +(600, (200, 1), 'double', True, True): ~290 MLUPS +(600, (200, 1), 'single', True, False): ~788 MLUPS +(600, (200, 1), 'single', True, True): ~812 MLUPS +(600, (10, 1), 'double', True, False): ~102 MLUPS +(600, (10, 1), 'double', True, True): ~102 MLUPS +(600, (10, 1), 'single', True, False): ~756 MLUPS +(600, (10, 1), 'single', True, True): ~765 MLUPS +(600, (100, 1), 'double', True, False): ~254 MLUPS +(600, (100, 1), 'double', True, True): ~254 MLUPS +(600, (100, 1), 'single', True, False): ~767 MLUPS +(600, (100, 1), 'single', True, True): ~800 MLUPS +(600, (50, 1), 'double', True, False): ~254 MLUPS +(600, (50, 1), 'double', True, True): ~254 MLUPS +(600, (50, 1), 'single', True, False): ~769 MLUPS +(600, (50, 1), 'single', True, True): ~792 MLUPS +(800, (256, 1), 'double', True, True): ~323 MLUPS +(800, (256, 1), 'single', True, True): ~808 MLUPS +(800, (32, 1), 'double', True, True): ~325 MLUPS +(800, (32, 1), 'single', True, True): ~827 MLUPS +(800, (64, 1), 'double', True, True): ~324 MLUPS +(800, (64, 1), 'single', True, True): ~813 MLUPS +(800, (128, 1), 'double', True, True): ~323 MLUPS +(800, (128, 1), 'single', True, True): ~809 MLUPS +(800, (512, 1), 'double', True, True): ~320 MLUPS +(800, (512, 1), 'single', True, True): ~807 MLUPS +(800, (16, 1), 'double', True, True): ~163 MLUPS +(800, (16, 1), 'single', True, True): ~816 MLUPS +(100, (32, 1), 'double', True, True): ~154 MLUPS +(100, (32, 1), 'single', True, True): ~155 MLUPS +(100, (64, 1), 'double', True, True): ~156 MLUPS +(100, (64, 1), 'single', True, True): ~156 MLUPS +(100, (128, 1), 'double', True, True): ~154 MLUPS +(100, (128, 1), 'single', True, True): ~149 MLUPS +(100, (16, 1), 'double', True, True): ~132 MLUPS +(100, (16, 1), 'single', True, True): ~153 MLUPS +(200, (256, 1), 'double', True, True): ~268 MLUPS +(200, (256, 1), 'single', True, True): ~617 MLUPS +(200, (32, 1), 'double', True, True): ~273 MLUPS +(200, (32, 1), 'single', True, True): ~615 MLUPS +(200, (64, 1), 'double', True, True): ~228 MLUPS +(200, (64, 1), 'single', True, True): ~623 MLUPS +(200, (128, 1), 'double', True, True): ~252 MLUPS +(200, (128, 1), 'single', True, True): ~610 MLUPS +(200, (16, 1), 'double', True, True): ~143 MLUPS +(200, (16, 1), 'single', True, True): ~615 MLUPS +(1000, (256, 1), 'double', True, True): ~318 MLUPS +(1000, (256, 1), 'single', True, True): ~822 MLUPS +(1000, (32, 1), 'double', True, True): ~318 MLUPS +(1000, (32, 1), 'single', True, True): ~832 MLUPS +(1000, (64, 1), 'double', True, True): ~318 MLUPS +(1000, (64, 1), 'single', True, True): ~821 MLUPS +(1000, (128, 1), 'double', True, True): ~318 MLUPS +(1000, (128, 1), 'single', True, True): ~821 MLUPS +(1000, (512, 1), 'double', True, True): ~314 MLUPS +(1000, (512, 1), 'single', True, True): ~826 MLUPS +(1000, (1024, 1), 'double', True, True): ~292 MLUPS +(1000, (1024, 1), 'single', True, True): ~826 MLUPS +(1000, (16, 1), 'double', True, True): ~162 MLUPS +(1000, (16, 1), 'single', True, True): ~816 MLUPS +(400, (256, 1), 'double', True, True): ~305 MLUPS +(400, (256, 1), 'single', True, True): ~778 MLUPS +(400, (32, 1), 'double', True, True): ~309 MLUPS +(400, (32, 1), 'single', True, True): ~811 MLUPS +(400, (64, 1), 'double', True, True): ~306 MLUPS +(400, (64, 1), 'single', True, True): ~758 MLUPS +(400, (128, 1), 'double', True, True): ~305 MLUPS +(400, (128, 1), 'single', True, True): ~781 MLUPS +(400, (16, 1), 'double', True, True): ~163 MLUPS +(400, (16, 1), 'single', True, True): ~797 MLUPS +(50, (32, 1), 'double', True, True): ~37 MLUPS +(50, (32, 1), 'single', True, True): ~38 MLUPS +(50, (64, 1), 'double', True, True): ~38 MLUPS +(50, (64, 1), 'single', True, True): ~38 MLUPS +(50, (128, 1), 'double', True, True): ~38 MLUPS +(50, (128, 1), 'single', True, True): ~38 MLUPS +(50, (16, 1), 'double', True, True): ~38 MLUPS +(50, (16, 1), 'single', True, True): ~38 MLUPS +(600, (256, 1), 'double', True, True): ~312 MLUPS +(600, (256, 1), 'single', True, True): ~797 MLUPS +(600, (32, 1), 'double', True, True): ~320 MLUPS +(600, (32, 1), 'single', True, True): ~821 MLUPS +(600, (64, 1), 'double', True, True): ~305 MLUPS +(600, (64, 1), 'single', True, True): ~804 MLUPS +(600, (128, 1), 'double', True, True): ~318 MLUPS +(600, (128, 1), 'single', True, True): ~808 MLUPS +(600, (512, 1), 'double', True, True): ~303 MLUPS +(600, (512, 1), 'single', True, True): ~775 MLUPS +(600, (16, 1), 'double', True, True): ~161 MLUPS +(600, (16, 1), 'single', True, True): ~815 MLUPS diff --git a/result/ldc_2d_benchmark_K2200.py b/result/ldc_2d_benchmark_K2200.py index ae8014c..d00a45a 100644 --- a/result/ldc_2d_benchmark_K2200.py +++ b/result/ldc_2d_benchmark_K2200.py @@ -1 +1 @@ -ldc_2d_k2200 = [((32, (16, 1), 'single', True), [15, 16, 16, 16, 16, 16, 16, 16, 16, 16]), ((32, (16, 1), 'single', False), [16, 16, 16, 16, 16, 16, 16, 16, 16, 16]), ((32, (16, 1), 'double', True), [16, 16, 16, 16, 16, 16, 16, 16, 16, 16]), ((32, (16, 1), 'double', False), [13, 13, 13, 13, 13, 13, 13, 13, 13, 13]), ((32, (32, 1), 'single', True), [16, 16, 16, 16, 16, 16, 16, 16, 16, 16]), ((32, (32, 1), 'single', False), [16, 16, 16, 16, 16, 16, 16, 16, 16, 16]), ((32, (32, 1), 'double', True), [14, 14, 16, 16, 16, 16, 16, 16, 16, 16]), ((32, (32, 1), 'double', False), [14, 14, 14, 14, 14, 14, 14, 14, 14, 14]), ((64, (16, 1), 'single', True), [63, 63, 63, 63, 63, 63, 63, 63, 63, 63]), ((64, (16, 1), 'single', False), [63, 63, 63, 63, 63, 63, 63, 63, 63, 63]), ((64, (16, 1), 'double', True), [62, 63, 63, 63, 63, 63, 63, 63, 63, 63]), ((64, (16, 1), 'double', False), [13, 13, 13, 13, 13, 14, 14, 14, 14, 14]), ((64, (32, 1), 'single', True), [63, 64, 63, 63, 63, 63, 62, 63, 63, 63]), ((64, (32, 1), 'single', False), [63, 63, 63, 63, 63, 63, 63, 63, 63, 63]), ((64, (32, 1), 'double', True), [62, 63, 63, 63, 63, 63, 63, 63, 63, 63]), ((64, (32, 1), 'double', False), [28, 28, 28, 27, 28, 28, 28, 28, 28, 28]), ((64, (64, 1), 'single', True), [62, 63, 63, 63, 63, 63, 63, 63, 63, 63]), ((64, (64, 1), 'single', False), [62, 63, 63, 63, 63, 62, 63, 63, 63, 63]), ((64, (64, 1), 'double', True), [63, 64, 63, 63, 63, 63, 63, 63, 63, 63]), ((64, (64, 1), 'double', False), [27, 27, 27, 27, 27, 27, 27, 27, 27, 27]), ((96, (16, 1), 'single', True), [134, 135, 135, 135, 133, 133, 134, 135, 135, 135]), ((96, (16, 1), 'single', False), [141, 143, 142, 142, 142, 141, 141, 142, 141, 142]), ((96, (16, 1), 'double', True), [140, 141, 141, 141, 141, 141, 140, 141, 141, 142]), ((96, (16, 1), 'double', False), [15, 15, 15, 15, 15, 15, 15, 15, 15, 15]), ((96, (24, 1), 'single', True), [140, 143, 142, 142, 142, 141, 141, 141, 142, 143]), ((96, (24, 1), 'single', False), [139, 141, 142, 140, 141, 141, 141, 141, 141, 141]), ((96, (24, 1), 'double', True), [138, 140, 140, 139, 139, 141, 140, 140, 141, 139]), ((96, (24, 1), 'double', False), [21, 22, 22, 22, 21, 22, 22, 22, 22, 22]), ((96, (32, 1), 'single', True), [139, 140, 139, 139, 138, 138, 140, 140, 140, 141]), ((96, (32, 1), 'single', False), [141, 142, 143, 142, 142, 141, 136, 125, 125, 125]), ((96, (32, 1), 'double', True), [140, 140, 141, 137, 136, 141, 140, 141, 141, 142]), ((96, (32, 1), 'double', False), [28, 28, 28, 28, 28, 28, 28, 28, 28, 28]), ((96, (48, 1), 'single', True), [141, 142, 142, 142, 142, 142, 142, 141, 142, 142]), ((96, (48, 1), 'single', False), [141, 142, 142, 142, 142, 141, 142, 140, 141, 142]), ((96, (48, 1), 'double', True), [139, 142, 141, 141, 141, 142, 141, 142, 141, 141]), ((96, (48, 1), 'double', False), [22, 21, 21, 22, 22, 22, 22, 22, 22, 21]), ((96, (96, 1), 'single', True), [141, 143, 142, 132, 137, 141, 141, 142, 141, 142]), ((96, (96, 1), 'single', False), [141, 141, 142, 140, 142, 141, 141, 141, 141, 142]), ((96, (96, 1), 'double', True), [140, 141, 141, 141, 141, 141, 142, 142, 142, 141]), ((96, (96, 1), 'double', False), [29, 28, 28, 28, 28, 28, 28, 28, 28, 28]), ((128, (16, 1), 'single', True), [251, 254, 254, 253, 253, 253, 254, 253, 253, 253]), ((128, (16, 1), 'single', False), [250, 253, 252, 252, 252, 253, 252, 252, 252, 253]), ((128, (16, 1), 'double', True), [151, 152, 152, 152, 152, 152, 152, 152, 152, 152]), ((128, (16, 1), 'double', False), [16, 15, 15, 15, 15, 15, 15, 15, 15, 15]), ((128, (32, 1), 'single', True), [221, 224, 224, 223, 223, 226, 247, 253, 253, 251]), ((128, (32, 1), 'single', False), [248, 252, 251, 251, 251, 253, 252, 253, 253, 251]), ((128, (32, 1), 'double', True), [248, 252, 251, 251, 251, 251, 251, 250, 252, 249]), ((128, (32, 1), 'double', False), [30, 29, 29, 29, 29, 29, 29, 29, 29, 29]), ((128, (64, 1), 'single', True), [250, 253, 252, 253, 252, 252, 252, 252, 252, 252]), ((128, (64, 1), 'single', False), [251, 253, 253, 253, 253, 253, 253, 252, 253, 253]), ((128, (64, 1), 'double', True), [247, 250, 250, 249, 250, 250, 250, 251, 250, 251]), ((128, (64, 1), 'double', False), [29, 29, 29, 29, 29, 29, 29, 29, 29, 29]), ((128, (128, 1), 'single', True), [250, 253, 253, 252, 253, 252, 252, 253, 253, 253]), ((128, (128, 1), 'single', False), [250, 253, 250, 246, 253, 251, 251, 251, 252, 252]), ((128, (128, 1), 'double', True), [247, 249, 249, 249, 249, 249, 249, 250, 250, 250]), ((128, (128, 1), 'double', False), [29, 28, 28, 28, 28, 28, 28, 28, 28, 28]), ((256, (16, 1), 'single', True), [786, 789, 787, 791, 789, 791, 790, 789, 787, 791]), ((256, (16, 1), 'single', False), [460, 442, 427, 424, 426, 426, 426, 426, 426, 426]), ((256, (16, 1), 'double', True), [161, 161, 161, 161, 161, 161, 160, 161, 161, 161]), ((256, (16, 1), 'double', False), [16, 15, 15, 15, 15, 15, 15, 15, 15, 15]), ((256, (32, 1), 'single', True), [774, 786, 775, 789, 774, 789, 775, 787, 775, 788]), ((256, (32, 1), 'single', False), [763, 774, 763, 770, 761, 771, 761, 772, 760, 769]), ((256, (32, 1), 'double', True), [312, 313, 313, 313, 313, 313, 313, 313, 313, 313]), ((256, (32, 1), 'double', False), [32, 30, 30, 30, 30, 30, 30, 30, 30, 30]), ((256, (64, 1), 'single', True), [759, 772, 764, 770, 760, 772, 762, 774, 761, 775]), ((256, (64, 1), 'single', False), [720, 729, 724, 719, 721, 718, 723, 717, 723, 716]), ((256, (64, 1), 'double', True), [311, 311, 311, 311, 312, 312, 312, 312, 311, 311]), ((256, (64, 1), 'double', False), [32, 30, 30, 30, 30, 30, 30, 30, 30, 30]), ((256, (128, 1), 'single', True), [762, 767, 766, 765, 765, 765, 764, 766, 767, 764]), ((256, (128, 1), 'single', False), [726, 730, 725, 723, 725, 721, 726, 720, 727, 717]), ((256, (128, 1), 'double', True), [311, 311, 311, 311, 312, 311, 312, 312, 311, 312]), ((256, (128, 1), 'double', False), [32, 30, 30, 30, 30, 30, 30, 30, 30, 28]), ((256, (256, 1), 'single', True), [768, 766, 771, 769, 772, 768, 773, 769, 774, 766]), ((256, (256, 1), 'single', False), [733, 736, 733, 732, 732, 732, 731, 732, 731, 735]), ((256, (256, 1), 'double', True), [309, 310, 310, 310, 309, 310, 310, 310, 309, 310]), ((256, (256, 1), 'double', False), [31, 30, 29, 29, 29, 29, 29, 29, 29, 29]), ((512, (16, 1), 'single', True), [822, 824, 826, 824, 824, 824, 824, 823, 823, 824]), ((512, (16, 1), 'single', False), [490, 481, 470, 460, 452, 448, 448, 448, 448, 448]), ((512, (16, 1), 'double', True), [163, 163, 163, 163, 163, 163, 163, 163, 163, 163]), ((512, (16, 1), 'double', False), [17, 16, 15, 15, 15, 15, 15, 15, 15, 15]), ((512, (32, 1), 'single', True), [812, 829, 832, 832, 832, 834, 831, 831, 831, 831]), ((512, (32, 1), 'single', False), [822, 825, 826, 827, 827, 826, 826, 828, 826, 825]), ((512, (32, 1), 'double', True), [319, 323, 323, 323, 323, 323, 316, 323, 320, 323]), ((512, (32, 1), 'double', False), [33, 32, 31, 30, 30, 30, 30, 30, 30, 30]), ((512, (64, 1), 'single', True), [821, 825, 825, 825, 825, 826, 826, 825, 829, 825]), ((512, (64, 1), 'single', False), [806, 804, 803, 802, 802, 800, 799, 800, 800, 800]), ((512, (64, 1), 'double', True), [322, 323, 323, 323, 323, 323, 323, 323, 323, 323]), ((512, (64, 1), 'double', False), [33, 32, 31, 30, 30, 30, 30, 30, 30, 30]), ((512, (128, 1), 'single', True), [823, 825, 825, 826, 828, 825, 824, 825, 825, 824]), ((512, (128, 1), 'single', False), [803, 805, 804, 804, 803, 801, 801, 801, 801, 801]), ((512, (128, 1), 'double', True), [323, 323, 323, 319, 323, 323, 323, 323, 323, 323]), ((512, (128, 1), 'double', False), [33, 32, 31, 30, 30, 30, 30, 30, 30, 30]), ((512, (256, 1), 'single', True), [828, 827, 827, 826, 825, 827, 827, 828, 826, 827]), ((512, (256, 1), 'single', False), [808, 810, 809, 809, 809, 806, 807, 807, 807, 807]), ((512, (256, 1), 'double', True), [323, 323, 323, 323, 323, 323, 323, 323, 323, 319]), ((512, (256, 1), 'double', False), [33, 32, 30, 30, 30, 30, 30, 30, 30, 30]), ((512, (512, 1), 'single', True), [826, 826, 826, 827, 827, 826, 827, 827, 827, 815]), ((512, (512, 1), 'single', False), [815, 813, 813, 812, 812, 810, 811, 810, 785, 810]), ((512, (512, 1), 'double', True), [317, 317, 313, 317, 317, 317, 317, 317, 317, 317]), ((512, (512, 1), 'double', False), [33, 31, 30, 30, 30, 30, 30, 30, 30, 30]), ((1024, (16, 1), 'single', True), [826, 829, 829, 829, 829, 828, 823, 829, 829, 830]), ((1024, (16, 1), 'single', False), [498, 494, 489, 484, 476, 473, 469, 464, 458, 455]), ((1024, (16, 1), 'double', True), [163, 163, 163, 163, 163, 163, 163, 163, 163, 163]), ((1024, (16, 1), 'double', False), [17, 17, 16, 16, 15, 15, 15, 15, 15, 15]), ((1024, (32, 1), 'single', True), [842, 842, 844, 843, 843, 843, 844, 836, 843, 843]), ((1024, (32, 1), 'single', False), [830, 838, 837, 838, 838, 838, 838, 838, 831, 838]), ((1024, (32, 1), 'double', True), [325, 326, 326, 325, 326, 326, 325, 326, 326, 326]), ((1024, (32, 1), 'double', False), [34, 33, 32, 32, 31, 30, 30, 30, 30, 30]), ((1024, (64, 1), 'single', True), [827, 830, 831, 830, 832, 824, 831, 830, 831, 831]), ((1024, (64, 1), 'single', False), [816, 816, 816, 815, 814, 814, 809, 811, 812, 812]), ((1024, (64, 1), 'double', True), [326, 326, 326, 325, 326, 326, 325, 326, 326, 325]), ((1024, (64, 1), 'double', False), [34, 33, 32, 32, 31, 30, 30, 30, 30, 30]), ((1024, (128, 1), 'single', True), [826, 830, 831, 830, 824, 829, 830, 830, 830, 831]), ((1024, (128, 1), 'single', False), [815, 816, 816, 815, 814, 809, 811, 813, 811, 812]), ((1024, (128, 1), 'double', True), [326, 326, 325, 326, 326, 325, 326, 326, 326, 325]), ((1024, (128, 1), 'double', False), [34, 33, 32, 32, 31, 30, 30, 30, 30, 30]), ((1024, (256, 1), 'single', True), [830, 833, 827, 833, 834, 833, 834, 833, 834, 832]), ((1024, (256, 1), 'single', False), [823, 824, 823, 822, 816, 821, 821, 821, 820, 820]), ((1024, (256, 1), 'double', True), [326, 325, 326, 326, 326, 325, 326, 326, 325, 326]), ((1024, (256, 1), 'double', False), [34, 33, 32, 32, 31, 30, 30, 30, 30, 30]), ((1024, (512, 1), 'single', True), [832, 825, 834, 835, 834, 835, 834, 835, 834, 828]), ((1024, (512, 1), 'single', False), [827, 827, 826, 820, 826, 826, 826, 825, 826, 825]), ((1024, (512, 1), 'double', True), [322, 321, 322, 322, 322, 322, 322, 322, 321, 322]), ((1024, (512, 1), 'double', False), [33, 33, 32, 31, 31, 30, 30, 30, 30, 30]), ((1024, (1024, 1), 'single', True), [832, 833, 834, 833, 834, 833, 834, 826, 833, 834]), ((1024, (1024, 1), 'single', False), [827, 819, 824, 821, 818, 815, 813, 811, 810, 800]), ((1024, (1024, 1), 'double', True), [298, 299, 299, 298, 299, 299, 298, 299, 299, 298]), ((1024, (1024, 1), 'double', False), [33, 32, 32, 31, 30, 30, 30, 30, 30, 30])] +ldc_2d_k2200 = [((32, (32, 1), 'double', False, True), [15, 16, 15, 16, 16]), ((32, (32, 1), 'double', True, True), [16, 16, 16, 16, 16]), ((32, (32, 1), 'single', False, True), [16, 16, 16, 16, 16]), ((32, (32, 1), 'single', True, True), [16, 16, 16, 16, 16]), ((32, (16, 1), 'double', False, True), [13, 13, 13, 13, 13]), ((32, (16, 1), 'double', True, True), [16, 15, 16, 16, 16]), ((32, (16, 1), 'single', False, True), [14, 15, 16, 16, 16]), ((32, (16, 1), 'single', True, True), [14, 14, 14, 15, 16]), ((256, (256, 1), 'double', False, True), [29, 29, 29, 29, 29]), ((256, (256, 1), 'double', True, True), [308, 310, 309, 310, 310]), ((256, (256, 1), 'single', False, True), [738, 744, 745, 742, 743]), ((256, (256, 1), 'single', True, True), [770, 782, 772, 777, 766]), ((256, (32, 1), 'double', False, True), [32, 30, 30, 30, 30]), ((256, (32, 1), 'double', True, True), [312, 312, 313, 312, 312]), ((256, (32, 1), 'single', False, True), [758, 763, 758, 759, 755]), ((256, (32, 1), 'single', True, True), [775, 779, 781, 779, 782]), ((256, (64, 1), 'double', False, True), [32, 30, 30, 30, 30]), ((256, (64, 1), 'double', True, True), [311, 311, 311, 312, 311]), ((256, (64, 1), 'single', False, True), [719, 726, 719, 721, 715]), ((256, (64, 1), 'single', True, True), [787, 787, 790, 786, 786]), ((256, (128, 1), 'double', False, True), [32, 30, 30, 30, 30]), ((256, (128, 1), 'double', True, True), [301, 311, 311, 312, 312]), ((256, (128, 1), 'single', False, True), [721, 727, 718, 723, 716]), ((256, (128, 1), 'single', True, True), [770, 776, 774, 774, 772]), ((256, (16, 1), 'double', False, True), [16, 15, 15, 15, 15]), ((256, (16, 1), 'double', True, True), [160, 161, 161, 158, 161]), ((256, (16, 1), 'single', False, True), [459, 442, 427, 426, 426]), ((256, (16, 1), 'single', True, True), [780, 794, 784, 796, 783]), ((64, (32, 1), 'double', False, True), [28, 28, 28, 28, 28]), ((64, (32, 1), 'double', True, True), [63, 64, 63, 63, 61]), ((64, (32, 1), 'single', False, True), [61, 65, 65, 65, 64]), ((64, (32, 1), 'single', True, True), [64, 64, 64, 61, 64]), ((64, (64, 1), 'double', False, True), [27, 27, 27, 27, 27]), ((64, (64, 1), 'double', True, True), [64, 62, 62, 64, 62]), ((64, (64, 1), 'single', False, True), [56, 57, 60, 59, 57]), ((64, (64, 1), 'single', True, True), [63, 64, 64, 64, 64]), ((64, (16, 1), 'double', False, True), [14, 14, 14, 14, 14]), ((64, (16, 1), 'double', True, True), [64, 64, 64, 62, 64]), ((64, (16, 1), 'single', False, True), [64, 64, 65, 64, 62]), ((64, (16, 1), 'single', True, True), [63, 63, 63, 64, 64]), ((128, (32, 1), 'double', False, True), [30, 29, 29, 29, 29]), ((128, (32, 1), 'double', True, True), [241, 248, 253, 244, 234]), ((128, (32, 1), 'single', False, True), [255, 258, 258, 258, 242]), ((128, (32, 1), 'single', True, True), [249, 252, 257, 257, 258]), ((128, (64, 1), 'double', False, True), [29, 29, 29, 29, 29]), ((128, (64, 1), 'double', True, True), [253, 257, 254, 256, 257]), ((128, (64, 1), 'single', False, True), [240, 254, 253, 253, 253]), ((128, (64, 1), 'single', True, True), [246, 247, 254, 25 |