-
Notifications
You must be signed in to change notification settings - Fork 0
/
SGE.conf
62 lines (46 loc) · 2.62 KB
/
SGE.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash
#################################################
# #
# ARQUITECTURA DE COMPUTADORS AVANCADES #
# PRACTICA 2 #
# #
# Estudiant: Jordi Bericat Ruz #
# #
# Arxiu 2 de 3: SGE.conf #
# #
# SCRIPT DE CONFIGURACIO D'OPCIONS DE "qsub" #
# #
# Versio 3.0 #
# #
#################################################
# DESCRIPCIÓ:
# Aquest script de conf. permetrà correr al cluster SGE la simulació (mitjan-
# çant "pin") del programa openMP de benchmark (NPB) indicat a la variable
# ${NPB_EXE} amb el nombre de cores i/o threads indicats a l'script principal.
# ENTRADA:
# Gràcies al modificador "-v" utilitzats com a opcio de qsub a la linia de
# comandes des de l'script "submit_jobs.sh", disposem de les variables
# ${PIN_ROOT}, ${NPB_THREADS}, ${NPB_PATH} i ${NPB_EXE} generades a l'script
# principal a cada instancia d'execucio de qsub. Aixi aconseguim executar tots
# els tests de forma programatica i generar tots els fitxers de sortida al cwd.
# SORTIDA:
# Com a sortida es generaran tants fitxers .out com threads s'hagin especifi-
# cat, els quals inclouran estadístiques d'encerts i errors d'accés a memòria
# cau de L1 (dcache pintool).
# INICI DE L'SCRIPT
# Utilitzar Bash com a shell per l'execucio
#$ -S /bin/bash
# El sistema de lots SGE fara servir el directori actual com a directori de
# treball. els fitxers de sortida es crearan al directori actual.
#$ -cwd
# indiquem el numero de threads que fara servir l'aplicacio. En aquest cas
# $NSLOTS es el nombre especificat a la variable d'entorn ${NPB_THREADS}
# que reb aquest fitxer de configuracio al realizar cada crida "qsub"
export OMP_NUM_THREADS=${NPB_THREADS}
# Incrementem la mida de l'stack ja que a l'executar el benchmark IS amb
# més d'1 thread (workloads A i B) es produeix un error de tipus segfault.
export OMP_STACKSIZE=16M
(/usr/bin/time ${PIN_ROOT}/pin -t ${PIN_ROOT}/source/tools/Memory/obj-intel64/dcache -o pin-dcache_${NPB_EXE}_${NPB_THREADS}threads_${L1_SIZE}kb-cache.out -c ${L1_SIZE} -a ${L1_ASOC} -b ${L1_ENTRY_SIZE} -- ${NPB_PATH}/${NPB_EXE}) 2>&1
# Afegim un separador al final de cada workloads al fitxer output.log
echo;echo;echo "<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>:<:>" >&1
# FINAL DE L'SCRIPT