Changeset 749


Ignore:
Timestamp:
Jul 11, 2014, 6:07:47 PM (8 years ago)
Author:
meunier
Message:
  • Updating tsar_generic_xbar topcell so that the -NCYCLES option be considered even when debug is deactivated
  • Updating the simulation scripts to reflect benchmarks evolutions
Location:
trunk/platforms/tsar_generic_xbar
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsar_generic_xbar/scripts/counter_defs.py

    r706 r749  
    11
    22individual_metrics = [ 'req_trig_update', 'local_update', 'remote_update', 'update_cost', 'req_trig_m_inv', 'local_m_inv', 'remote_m_inv', 'm_inv_cost', 'broadcast', 'total_update', 'total_m_inv' ]
     3
    34grouped_metrics = [ 'update_cost', 'm_inv_cost' ]
     5
    46stacked_metrics = [ 'nonwrite_broadcast', 'write_broadcast', 'local_m_inv', 'remote_m_inv', 'local_update', 'remote_update' ]
    57
     
    1012m_app_name['histogram'] = "Histogram"
    1113m_app_name['kmeans'] = "Kmeans"
     14m_app_name['pca'] = "PCA"
     15m_app_name['mat_mult'] = "Matrix Mult."
    1216m_app_name['barnes'] = "Barnes"
    1317m_app_name['fmm'] = "FMM"
  • trunk/platforms/tsar_generic_xbar/scripts/create_graphs.py

    r706 r749  
    77
    88
    9 apps = [ 'histogram', 'mandel', 'filter', 'radix_ga', 'fft_ga', 'kmeans' ]
     9apps = [ 'histogram', 'mandel', 'filter', 'radix', 'radix_ga', 'fft', 'fft_ga', 'filt_ga', 'kmeans', 'pca', 'lu' ]
    1010nb_procs = [ 1, 4, 8, 16, 32, 64, 128, 256 ]
    1111
     
    8282      for line in lines:
    8383         tokens = line[:-1].split()
    84          if len(tokens) > 0 and tokens[0] == "[ELAPSED2]":
     84         if len(tokens) > 0 and tokens[0] == "[PARALLEL_COMPUTE]":
    8585            exec_time[app][i] = int(tokens[len(tokens) - 1])
    8686
     
    139139
    140140for app in apps:
    141    
    142141   data_coherence_name = os.path.join(scripts_path, gen_dir, app + '_coherence.dat')
    143142   gp_coherence_name   = os.path.join(scripts_path, gen_dir, app + '_coherence.gp')
  • trunk/platforms/tsar_generic_xbar/scripts/run_simus.py

    r706 r749  
    2020#apps = [ 'histogram', 'mandel', 'filter', 'radix_ga', 'fft_ga', 'kmeans' ]
    2121#apps = [ 'histogram', 'mandel', 'filter', 'radix_ga', 'fft_ga' ]
    22 apps = [ 'filt_ga' ]
    23 
    24 
    25 all_apps = [ 'mandel', 'filter', 'filt_ga', 'histogram', 'kmeans', 'barnes', 'fmm', 'ocean', 'raytrace', 'radiosity', 'waters', 'watern', 'cholesky', 'lu', 'fft', 'radix', 'fft_ga', 'radix_ga', 'kmeans' ]
    26 splash2 = [ 'barnes', 'fmm', 'ocean', 'radiosity', 'raytrace', 'watern', 'waters', 'cholesky', 'lu', 'fft', 'radix' ]
    27 splash2_ga = [ 'radix_ga', 'fft_ga' ]
     22
     23
     24all_apps = [ 'cholesky', 'fft', 'fft_ga', 'filter', 'filt_ga', 'histogram', 'kmeans', 'lu', 'mandel', 'mat_mult', 'pca', 'radix', 'radix_ga', 'showimg', ]
     25# to come: 'barnes', 'fmm', 'ocean', 'raytrace', 'radiosity', 'waters', 'watern'
     26
     27apps = [ 'histogram', 'pca' ]
    2828
    2929
     
    4444top_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")
    4545
    46 splash2_dir    = os.path.join(apps_dir, 'splash2/codes')
    47 splash2_ga_dir = os.path.join(apps_dir, 'splash2_ga')
    48 
    4946scripts_path       = os.path.join(top_path, 'scripts')
    5047almos_path         = os.path.join(top_path, 'almos')
     
    5855
    5956
    60 splash_app_dir = {}
    61 splash_app_dir['barnes'] = 'apps/barnes'
    62 splash_app_dir['fmm'] = 'apps/fmm'
    63 splash_app_dir['ocean'] = 'apps/ocean/contiguous_partitions'
    64 splash_app_dir['raytrace'] = 'apps/raytrace'
    65 splash_app_dir['radiosity'] = 'apps/radiosity'
     57#splash_app_dir = {}
     58#splash_app_dir['barnes'] = 'apps/barnes'
     59#splash_app_dir['fmm'] = 'apps/fmm'
     60#splash_app_dir['ocean'] = 'apps/ocean/contiguous_partitions'
     61#splash_app_dir['raytrace'] = 'apps/raytrace'
     62#splash_app_dir['radiosity'] = 'apps/radiosity'
    6663#splash_app_dir['volrend'] = 'apps/volrend'
    67 splash_app_dir['watern'] = 'apps/water-nsquared'
    68 splash_app_dir['waters'] = 'apps/water-spatial'
    69 
    70 splash_app_dir['cholesky'] = 'kernels/cholesky'
    71 splash_app_dir['fft'] = 'kernels/fft'
    72 splash_app_dir['lu'] = 'kernels/lu/contiguous_blocks'
    73 splash_app_dir['radix'] = 'kernels/radix'
    74 
    75 splash_ga_app_dir = {}
    76 splash_ga_app_dir['radix_ga'] = 'apps/radix'
    77 splash_ga_app_dir['fft_ga'] = 'apps/fft'
     64#splash_app_dir['watern'] = 'apps/water-nsquared'
     65#splash_app_dir['waters'] = 'apps/water-spatial'
     66#
     67#splash_app_dir['cholesky'] = 'kernels/cholesky'
     68#splash_app_dir['fft'] = 'kernels/fft'
     69#splash_app_dir['lu'] = 'kernels/lu/contiguous_blocks'
     70#splash_app_dir['radix'] = 'kernels/radix'
     71#
     72#splash_ga_app_dir = {}
     73#splash_ga_app_dir['radix_ga'] = 'apps/radix'
     74#splash_ga_app_dir['fft_ga'] = 'apps/fft'
    7875
    7976
     
    170167def compile_app(app_name, nprocs):
    171168
    172    if app_name in splash2:
    173       app_dir_name = os.path.join(splash2_dir, splash_app_dir[app_name])
    174    elif app_name in splash2_ga:
    175       app_dir_name = os.path.join(splash2_ga_dir, splash_ga_app_dir[app_name])
    176    else:
    177       app_dir_name = os.path.join(apps_dir, app_name)
     169   #if app_name in splash2:
     170   #   app_dir_name = os.path.join(splash2_dir, splash_app_dir[app_name])
     171   #elif app_name in splash2_ga:
     172   #   app_dir_name = os.path.join(splash2_ga_dir, splash_ga_app_dir[app_name])
     173   #else:
     174   #   app_dir_name = os.path.join(apps_dir, app_name)
     175
     176     
     177   app_dir_name = os.path.join(apps_dir, app_name)
    178178
    179179   old_path = os.getcwd()
     
    182182
    183183   # Compilation process is different in splash and other apps
    184    if app_name in splash2:
    185       print "make clean"
    186       subprocess.call([ 'make', 'clean' ])
    187 
    188       print "rm Makefile"
    189       subprocess.call([ 'rm', 'Makefile' ])
    190 
    191       print "ln -s Makefile.soclib Makefile"
    192       subprocess.call([ 'ln', '-s', 'Makefile.soclib', 'Makefile' ])
    193 
    194       print "make"
    195       subprocess.call([ 'make' ])
    196 
    197    elif app_name in splash2_ga:
    198       print "make clean"
    199       subprocess.call([ 'make', 'clean' ])
    200 
    201       print "make"
    202       subprocess.call([ 'make' ])
    203 
    204    else:
    205       print "make clean"
    206       subprocess.call([ 'make', 'clean' ])
     184   #if app_name in splash2:
     185   #   print "make clean"
     186   #   subprocess.call([ 'make', 'clean' ])
     187
     188   #   print "rm Makefile"
     189   #   subprocess.call([ 'rm', 'Makefile' ])
     190
     191   #   print "ln -s Makefile.soclib Makefile"
     192   #   subprocess.call([ 'ln', '-s', 'Makefile.soclib', 'Makefile' ])
     193
     194   #   print "make"
     195   #   subprocess.call([ 'make' ])
     196
     197   #elif app_name in splash2_ga:
     198   #   print "make clean"
     199   #   subprocess.call([ 'make', 'clean' ])
     200
     201   #   print "make"
     202   #   subprocess.call([ 'make' ])
     203
     204   #else:
     205   #   print "make clean"
     206   #   subprocess.call([ 'make', 'clean' ])
    207207 
    208       print "make TARGET=tsar"
    209       subprocess.call([ 'make', 'TARGET=tsar' ])
     208   #   print "make TARGET=tsar"
     209   #   subprocess.call([ 'make', 'TARGET=tsar' ])
     210
     211   print "make clean"
     212   subprocess.call([ 'make', 'clean' ])
     213 
     214   print "make TARGET=tsar"
     215   subprocess.call([ 'make', 'TARGET=tsar' ])
    210216   
    211217   # Creation/Modification du shrc de almos
     
    215221      shrc = "exec -p 0 /bin/mandel -n%(nproc)d\n" % dict(nproc = nprocs)
    216222   elif (app_name == "filter"):
    217       #shrc = "exec -p 0 /bin/filter /etc/imgs.raw 512 512\n"
    218223      shrc = "exec -p 0 /bin/filter -l1024 -c1024 -n%(nproc)d /etc/img.raw\n" % dict(nproc = nprocs)
    219224   elif (app_name == "filt_ga"):
     
    223228   elif (app_name == "kmeans"):
    224229      shrc = "exec -p 0 /bin/kmeans -n %(nproc)d -p %(npoints)d\n" % dict(nproc = nprocs, npoints = 10000) # default npoints = 100000
     230   elif (app_name == "pca"):
     231      shrc = "exec -p 0 /bin/pca -n%(nproc)d\n" % dict(nproc = nprocs)
     232   elif (app_name == "mat_mult"):
     233      shrc = "exec -p 0 /bin/mat_mult -n%(nproc)d\n" % dict(nproc = nprocs)
    225234   elif (app_name == "showimg"):
    226       shrc = "exec -p 0 /bin/showimg -p1 -i /etc/lena.sgi -o /dev/fb0\n"
     235      shrc = "exec -p 0 /bin/showimg -i /etc/lena.sgi\n"
    227236   elif (app_name == "barnes"):
    228237      shrc = "exec -p 0 /bin/barnes -n%(nproc)d -b%(nbody)d\n" % dict(nproc = nprocs, nbody = 1024)
     
    242251      shrc = "exec -p 0 /bin/cholesky -n%(nproc)d /etc/tk14.O\n" % dict(nproc = nprocs)
    243252   elif (app_name == "fft"):
    244       shrc = "exec -p 0 /bin/fft -n%(nproc)d -m10\n" % dict(nproc = nprocs)
     253      shrc = "exec -p 0 /bin/fft -n%(nproc)d -m18\n" % dict(nproc = nprocs)
    245254   elif (app_name == "lu"):
    246255      shrc = "exec -p 0 /bin/lu -n%(nproc)d -m512\n" % dict(nproc = nprocs)
    247256   elif (app_name == "radix"):
    248       shrc = "exec -p 0 /bin/radix -n%(nproc)d -k1024\n" % dict(nproc = nprocs) # test : 1024 ; simu : 65536
     257      shrc = "exec -p 0 /bin/radix -n%(nproc)d -k2097152\n" % dict(nproc = nprocs) # test : 1024 ; simu : 2097152
    249258   elif (app_name == "radix_ga"):
    250       shrc = "exec -p 0 /bin/radix_ga -p%(nproc)d -n262144\n" % dict(nproc = nprocs) # p = proc, n = num_keys
     259      shrc = "exec -p 0 /bin/radix_ga -n%(nproc)d -k2097152\n" % dict(nproc = nprocs) # p = proc, n = num_keys
    251260   elif (app_name == "fft_ga"):
    252       shrc = "exec -p 0 /bin/fft_ga -P%(nproc)d -M16\n" % dict(nproc = nprocs)
     261      shrc = "exec -p 0 /bin/fft_ga -n%(nproc)d -m18\n" % dict(nproc = nprocs)
    253262   else:
    254263      assert(False)
     
    318327         end_found = False
    319328         for line in open(filename):
    320             if "[START2]" in line:
     329            if "[THREAD_COMPUTE_START]" in line:
    321330               start2 = line.split()[-1]
    322331               start2_found = True
    323             if "[END]" in line:
     332            if "[THREAD_COMPUTE_END]" in line:
    324333               end = line.split()[-1]
    325334               end_found = True
  • trunk/platforms/tsar_generic_xbar/scripts/templates/speedup_template.gp

    r706 r749  
    11
    2 set terminal svg size 500 400 fixed
     2set terminal svg size 1000 800 fixed
    33set output "%(svg_name)s.svg"
    44
  • trunk/platforms/tsar_generic_xbar/top.cpp

    r706 r749  
    10341034   else {
    10351035      int64_t n = 0;
    1036       while (!stop_called) {
     1036      while (!stop_called && n != ncycles) {
    10371037         if (gettimeofday(&t1, NULL) != 0) {
    10381038            perror("gettimeofday");
    10391039            return EXIT_FAILURE;
    10401040         }
    1041          int64_t nb_cycles = max_cycles;
     1041         int64_t nb_cycles = min(max_cycles, ncycles - n);
    10421042         if (do_reset_counters) {
    10431043            nb_cycles = min(nb_cycles, reset_counters - n);
Note: See TracChangeset for help on using the changeset viewer.