Changeset 749
- Timestamp:
- Jul 11, 2014, 6:07:47 PM (10 years ago)
- Location:
- trunk/platforms/tsar_generic_xbar
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_xbar/scripts/counter_defs.py
r706 r749 1 1 2 2 individual_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 3 4 grouped_metrics = [ 'update_cost', 'm_inv_cost' ] 5 4 6 stacked_metrics = [ 'nonwrite_broadcast', 'write_broadcast', 'local_m_inv', 'remote_m_inv', 'local_update', 'remote_update' ] 5 7 … … 10 12 m_app_name['histogram'] = "Histogram" 11 13 m_app_name['kmeans'] = "Kmeans" 14 m_app_name['pca'] = "PCA" 15 m_app_name['mat_mult'] = "Matrix Mult." 12 16 m_app_name['barnes'] = "Barnes" 13 17 m_app_name['fmm'] = "FMM" -
trunk/platforms/tsar_generic_xbar/scripts/create_graphs.py
r706 r749 7 7 8 8 9 apps = [ 'histogram', 'mandel', 'filter', 'radix _ga', 'fft_ga', 'kmeans' ]9 apps = [ 'histogram', 'mandel', 'filter', 'radix', 'radix_ga', 'fft', 'fft_ga', 'filt_ga', 'kmeans', 'pca', 'lu' ] 10 10 nb_procs = [ 1, 4, 8, 16, 32, 64, 128, 256 ] 11 11 … … 82 82 for line in lines: 83 83 tokens = line[:-1].split() 84 if len(tokens) > 0 and tokens[0] == "[ ELAPSED2]":84 if len(tokens) > 0 and tokens[0] == "[PARALLEL_COMPUTE]": 85 85 exec_time[app][i] = int(tokens[len(tokens) - 1]) 86 86 … … 139 139 140 140 for app in apps: 141 142 141 data_coherence_name = os.path.join(scripts_path, gen_dir, app + '_coherence.dat') 143 142 gp_coherence_name = os.path.join(scripts_path, gen_dir, app + '_coherence.gp') -
trunk/platforms/tsar_generic_xbar/scripts/run_simus.py
r706 r749 20 20 #apps = [ 'histogram', 'mandel', 'filter', 'radix_ga', 'fft_ga', 'kmeans' ] 21 21 #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 24 all_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 27 apps = [ 'histogram', 'pca' ] 28 28 29 29 … … 44 44 top_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..") 45 45 46 splash2_dir = os.path.join(apps_dir, 'splash2/codes')47 splash2_ga_dir = os.path.join(apps_dir, 'splash2_ga')48 49 46 scripts_path = os.path.join(top_path, 'scripts') 50 47 almos_path = os.path.join(top_path, 'almos') … … 58 55 59 56 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' 66 63 #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' 78 75 79 76 … … 170 167 def compile_app(app_name, nprocs): 171 168 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) 178 178 179 179 old_path = os.getcwd() … … 182 182 183 183 # 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' ]) 207 207 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' ]) 210 216 211 217 # Creation/Modification du shrc de almos … … 215 221 shrc = "exec -p 0 /bin/mandel -n%(nproc)d\n" % dict(nproc = nprocs) 216 222 elif (app_name == "filter"): 217 #shrc = "exec -p 0 /bin/filter /etc/imgs.raw 512 512\n"218 223 shrc = "exec -p 0 /bin/filter -l1024 -c1024 -n%(nproc)d /etc/img.raw\n" % dict(nproc = nprocs) 219 224 elif (app_name == "filt_ga"): … … 223 228 elif (app_name == "kmeans"): 224 229 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) 225 234 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" 227 236 elif (app_name == "barnes"): 228 237 shrc = "exec -p 0 /bin/barnes -n%(nproc)d -b%(nbody)d\n" % dict(nproc = nprocs, nbody = 1024) … … 242 251 shrc = "exec -p 0 /bin/cholesky -n%(nproc)d /etc/tk14.O\n" % dict(nproc = nprocs) 243 252 elif (app_name == "fft"): 244 shrc = "exec -p 0 /bin/fft -n%(nproc)d -m1 0\n" % dict(nproc = nprocs)253 shrc = "exec -p 0 /bin/fft -n%(nproc)d -m18\n" % dict(nproc = nprocs) 245 254 elif (app_name == "lu"): 246 255 shrc = "exec -p 0 /bin/lu -n%(nproc)d -m512\n" % dict(nproc = nprocs) 247 256 elif (app_name == "radix"): 248 shrc = "exec -p 0 /bin/radix -n%(nproc)d -k 1024\n" % dict(nproc = nprocs) # test : 1024 ; simu : 65536257 shrc = "exec -p 0 /bin/radix -n%(nproc)d -k2097152\n" % dict(nproc = nprocs) # test : 1024 ; simu : 2097152 249 258 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_keys259 shrc = "exec -p 0 /bin/radix_ga -n%(nproc)d -k2097152\n" % dict(nproc = nprocs) # p = proc, n = num_keys 251 260 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) 253 262 else: 254 263 assert(False) … … 318 327 end_found = False 319 328 for line in open(filename): 320 if "[ START2]" in line:329 if "[THREAD_COMPUTE_START]" in line: 321 330 start2 = line.split()[-1] 322 331 start2_found = True 323 if "[ END]" in line:332 if "[THREAD_COMPUTE_END]" in line: 324 333 end = line.split()[-1] 325 334 end_found = True -
trunk/platforms/tsar_generic_xbar/scripts/templates/speedup_template.gp
r706 r749 1 1 2 set terminal svg size 500 400 fixed2 set terminal svg size 1000 800 fixed 3 3 set output "%(svg_name)s.svg" 4 4 -
trunk/platforms/tsar_generic_xbar/top.cpp
r706 r749 1034 1034 else { 1035 1035 int64_t n = 0; 1036 while (!stop_called ) {1036 while (!stop_called && n != ncycles) { 1037 1037 if (gettimeofday(&t1, NULL) != 0) { 1038 1038 perror("gettimeofday"); 1039 1039 return EXIT_FAILURE; 1040 1040 } 1041 int64_t nb_cycles = m ax_cycles;1041 int64_t nb_cycles = min(max_cycles, ncycles - n); 1042 1042 if (do_reset_counters) { 1043 1043 nb_cycles = min(nb_cycles, reset_counters - n);
Note: See TracChangeset
for help on using the changeset viewer.