Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Docente:
Titulo
Trabajo:
Ambiente:
Sistema operativo: Linux Centos 6,4
export PIN_ROOT=/opt/pin
export PATH=$PIN_ROOT:$PATH
Ejecucin de PIN:
lguevara@cmlsvr01 pin]$ pin.sh
Pin 2.13
Pgina 1 de 22
Asignatura:
Docente:
Titulo
Trabajo:
[lguevara@cmlsvr01 ManualExamples]$ ls
buffer_linux.cpp
proccount.cpp
buffer_windows.cpp
replacesigprobed.cpp
fibonacci.cpp
inscount0.cpp
statica.cpp
little_malloc.c
follow_child_app1.cpp inscount1.cpp
staticcount.cpp
makefile
countreps.cpp
follow_child_app2.cpp inscount2.cpp
makefile.rules safecopy.cpp
strace.cpp
detach.cpp
follow_child_tool.cpp inscount_tls.cpp malloc_mt.cpp
stack-debugger.cpp
thread_unix.c
divide_by_zero_linux.c fork_app.cpp
invocation.cpp
malloctrace.cpp stack-debugger-tutorial.sln
thread_win.c
divide_by_zero_windows.c fork_jit_tool.cpp
isampling.cpp
nonstatica.cpp stack-debugger-tutorial.vcxproj
w_malloctrace.cpp
emudiv.cpp
imageload.cpp
stack-debugger-tutorial.vcxproj.filters
itrace.cpp
pinatrace.cpp
Pgina 2 de 22
Asignatura:
Docente:
Titulo
Trabajo:
mkdir -p obj-intel64
cc -DTARGET_IA32E -DHOST_IA32E
-DFUND_TC_TARGETCPU=FUND_CPU_INTEL64
-DFUND_TC_HOSTCPU=FUND_CPU_INTEL64 -DTARGET_LINUX
-DFUND_TC_TARGETOS=FUND_OS_LINUX
-DFUND_TC_HOSTOS=FUND_OS_LINUX -O3 -o obj-intel64/little_malloc
little_malloc.c -Wl,--as-needed -lm -ldl -lpthread
cc -DTARGET_IA32E -DHOST_IA32E
-DFUND_TC_TARGETCPU=FUND_CPU_INTEL64
-DFUND_TC_HOSTCPU=FUND_CPU_INTEL64 -DTARGET_LINUX
-DFUND_TC_TARGETOS=FUND_OS_LINUX
-DFUND_TC_HOSTOS=FUND_OS_LINUX -O3 -o obj-intel64/thread_app
thread_unix.c -Wl,--as-needed -lm -ldl -lpthread
Pgina 3 de 22
Asignatura:
Docente:
Titulo
Trabajo:
-lpthread
cc -DTARGET_IA32E -DHOST_IA32E
-DFUND_TC_TARGETCPU=FUND_CPU_INTEL64
-DFUND_TC_HOSTCPU=FUND_CPU_INTEL64 -DTARGET_LINUX
-DFUND_TC_TARGETOS=FUND_OS_LINUX
-DFUND_TC_HOSTOS=FUND_OS_LINUX -O0 -o obj-intel64/divide_by_zero
divide_by_zero_linux.c -Wl,--as-needed -lm -ldl -lpthread
Pgina 4 de 22
Asignatura:
Docente:
Titulo
Trabajo:
Pgina 5 de 22
Asignatura:
Docente:
Titulo
Trabajo:
script=../../../source/include/pin/pintool.ver -o obj-intel64/proccount.so
obj-intel64/proccount.o -L../../../intel64/runtime/cpplibs -L../../../intel64/lib
-L../../../intel64/lib-ext -L../../../intel64/runtime/glibc -L../../../extras/xed2intel64/lib -lpin -lxed -ldwarf -lelf -ldl
Pgina 6 de 22
Asignatura:
Docente:
Titulo
Trabajo:
g++ -shared -Wl,--hash-style=sysv -Wl,rpath=../../../intel64/runtime/cpplibs -Wl,-Bsymbolic -Wl,--versionscript=../../../source/include/pin/pintool.ver -o obj-intel64/detach.so objintel64/detach.o -L../../../intel64/runtime/cpplibs -L../../../intel64/lib
-L../../../intel64/lib-ext -L../../../intel64/runtime/glibc -L../../../extras/xed2intel64/lib -lpin -lxed -ldwarf -lelf -ldl
Pgina 7 de 22
Asignatura:
Docente:
Titulo
Trabajo:
Pgina 8 de 22
Asignatura:
Docente:
Titulo
Trabajo:
g++ -shared -Wl,--hash-style=sysv -Wl,rpath=../../../intel64/runtime/cpplibs -Wl,-Bsymbolic -Wl,--versionscript=../../../source/include/pin/pintool.ver -o obj-intel64/pinatrace.so objintel64/pinatrace.o -L../../../intel64/runtime/cpplibs -L../../../intel64/lib
-L../../../intel64/lib-ext -L../../../intel64/runtime/glibc -L../../../extras/xed2intel64/lib -lpin -lxed -ldwarf -lelf -ldl
g++ -shared -Wl,--hash-style=sysv -Wl,rpath=../../../intel64/runtime/cpplibs -Wl,-Bsymbolic -Wl,--versionscript=../../../source/include/pin/pintool.ver -o obj-intel64/itrace.so objintel64/itrace.o -L../../../intel64/runtime/cpplibs -L../../../intel64/lib
-L../../../intel64/lib-ext -L../../../intel64/runtime/glibc -L../../../extras/xed2intel64/lib -lpin -lxed -ldwarf -lelf -ldl
Pgina 9 de 22
Asignatura:
Docente:
Titulo
Trabajo:
isampling.cpp
g++ -shared -Wl,--hash-style=sysv -Wl,rpath=../../../intel64/runtime/cpplibs -Wl,-Bsymbolic -Wl,--versionscript=../../../source/include/pin/pintool.ver -o obj-intel64/safecopy.so objintel64/safecopy.o -L../../../intel64/runtime/cpplibs -L../../../intel64/lib
-L../../../intel64/lib-ext -L../../../intel64/runtime/glibc -L../../../extras/xed2intel64/lib -lpin -lxed -ldwarf -lelf -ldl
Pgina 10 de 22
Asignatura:
Docente:
Titulo
Trabajo:
Pgina 11 de 22
Asignatura:
Docente:
Titulo
Trabajo:
Pgina 12 de 22
Asignatura:
Docente:
Titulo
Trabajo:
g++ -shared -Wl,--hash-style=sysv -Wl,rpath=../../../intel64/runtime/cpplibs -Wl,-Bsymbolic -Wl,--versionscript=../../../source/include/pin/pintool.ver -o obj-intel64/strace.so objintel64/strace.o -L../../../intel64/runtime/cpplibs -L../../../intel64/lib
-L../../../intel64/lib-ext -L../../../intel64/runtime/glibc -L../../../extras/xed2intel64/lib -lpin -lxed -ldwarf -lelf -ldl
g++ -shared -Wl,--hash-style=sysv -Wl,rpath=../../../intel64/runtime/cpplibs -Wl,-Bsymbolic -Wl,--versionscript=../../../source/include/pin/pintool.ver -o obj-intel64/emudiv.so objintel64/emudiv.o -L../../../intel64/runtime/cpplibs -L../../../intel64/lib
-L../../../intel64/lib-ext -L../../../intel64/runtime/glibc -L../../../extras/xed2intel64/lib -lpin -lxed -ldwarf -lelf -ldl
Pgina 13 de 22
Asignatura:
Docente:
Titulo
Trabajo:
eth0
Pgina 14 de 22
Asignatura:
Docente:
Titulo
Trabajo:
collisions:0 txqueuelen:1000
Interrupt:20 Memory:fb200000-fb220000
eth1
Pgina 15 de 22
Asignatura:
Docente:
Titulo
Trabajo:
Pgina 16 de 22
Asignatura:
Docente:
Titulo
Trabajo:
/opt/pin/source/tools/ManualExamples/obj-intel64/inscount1.so
/opt/pin/source/tools/ManualExamples/obj-intel64/inscount2.so
/opt/pin/source/tools/ManualExamples/obj-intel64/inscount_tls.so
/opt/pin/source/tools/ManualExamples/obj-intel64/invocation.so
/opt/pin/source/tools/ManualExamples/obj-intel64/isampling.so
/opt/pin/source/tools/ManualExamples/obj-intel64/itrace.so
/opt/pin/source/tools/ManualExamples/obj-intel64/malloc_mt.so
/opt/pin/source/tools/ManualExamples/obj-intel64/malloctrace.so
/opt/pin/source/tools/ManualExamples/obj-intel64/nonstatica.so
/opt/pin/source/tools/ManualExamples/obj-intel64/pinatrace.so
/opt/pin/source/tools/ManualExamples/obj-intel64/proccount.so
/opt/pin/source/tools/ManualExamples/obj-intel64/safecopy.so
/opt/pin/source/tools/ManualExamples/obj-intel64/stack-debugger.so
/opt/pin/source/tools/ManualExamples/obj-intel64/staticcount.so
/opt/pin/source/tools/ManualExamples/obj-intel64/strace.so
Apartado 1:
Seleccin de la aplicacin
El primer objetivo de este ejercicio es encontrar una aplicacin de la cual
queramos
realizar un estudio de rendimiento. Esta aplicacin podr ser cualquiera de
vuestro
mbito de trabajo (que os sea familiar o de vuestro entorno de trabajo) o
una
aplicacin que sea nueva para vosotros. Esta tendr que ser:
Pgina 17 de 22
Asignatura:
Docente:
Titulo
Trabajo:
1. Una aplicacin que sea multi-hilo. Es decir, que se pueda ejecutar con
distinto nivel de paralelismo. Para no complicaros demasiado el trabajo se
recomienda que est implementada en OpenMP o Pthreads. Si usis una
MPI
puede ser que sea ms compleja de evaluar o tengis algunos problemas
con
las PIN tolos.
3. Preferiblemente
necesariamente
una
aplicacin
del
mbito
cientfico.
No
Enunciado:
Describid la aplicacin que habis escogido: que calcula, a grandes
rasgos como esta est organizada, que parmetros o opciones tiene etc. No
es
necesario que entendis el cdigo, pero si lo que esta lleva a cabo.
Por ejemplo:
Si
esta es una transformada de Fourier, tendris que explicar lo que esta
hace, lo que
quiere resolver, como se puede paralelizar o como la ha paralelizado el
desarrollador,
Luis Carlos Guevara Villalobos
Pgina 18 de 22
Asignatura:
Docente:
Titulo
Trabajo:
Pgina 19 de 22
Asignatura:
Docente:
Titulo
Trabajo:
Apartado 2:
Estudio global de la aplicacin
Enunciado:
Especficament quer emos ver:
a) El rendimiento
paralelismo y tamao
como esta mejora o
problema. Para limitar
Pgina 20 de 22
Asignatura:
Docente:
Titulo
Trabajo:
para recoger estos datos. Porqu creis que es necesario usar esta i no
inscount normal?
Pgina 21 de 22
Asignatura:
Docente:
Titulo
Trabajo:
Ejercicio 2
Memory Simulator dArtur Klauser
Pgina 22 de 22