Presentation is loading. Please wait.

Presentation is loading. Please wait.

Spec2000 Optimization Level Result Report <vortex00.outorderO0.gcc.100M.ss> <vortex00.outorderO1.gcc.100M.ss> <vortex00.outorderO2.gcc.100M.ss> 순천향대학교.

Similar presentations


Presentation on theme: "Spec2000 Optimization Level Result Report <vortex00.outorderO0.gcc.100M.ss> <vortex00.outorderO1.gcc.100M.ss> <vortex00.outorderO2.gcc.100M.ss> 순천향대학교."— Presentation transcript:

1 Spec2000 Optimization Level Result Report <vortex00.outorderO0.gcc.100M.ss> <vortex00.outorderO1.gcc.100M.ss> <vortex00.outorderO2.gcc.100M.ss> 순천향대학교 전산학과 정상혁

2 INDEX 실행환경 주의사항 / Error 항목 할당 벤치마크 벤치마크 분석 결론
vortex00.outorderO0.gcc.100M.ss vortex00.outorderO1.gcc.100M.ss vortex00.outorderO2.gcc.100M.ss 벤치마크 분석 결론

3 실행 환경 OS : Red Hat Linux 7.2 (Workstation)
H/W : Pentium-Cel 466 / RAM : 128M SimpleScalar : SimpleScalar 3.0b Compiler : gcc-2.6.3 GNU utilities : gnu binutils-2.5.2 수행 환경 실행파일 위치 /edu/simplesim-3.0/sim-profile 목적파일 위치 /edu/ 결과파일 위치

4 주의사항 / Error 항목 Vortex00.outorder0*.gcc.100M.ss 에 대해 압축을 푸는데 있어, 윈도우상에서 풀었을 경우 실행 1초만에 실행 완료  에러 Tar 파일 형태로 리눅스상에서 받아 직접 압축 해제후 실행  정상 실행 후 종료 절대경로 /edu/simplesim-3.0/ 에 입력파일 복사후 직접 실행시 sim-profile 명령 실행 오류 /edu/bin/ 에서 절대경로 ‘/edu/simplesim-3.0/sim-profile’ 명령 수행시 에러 없이 실행됨.

5 할당 벤치마크 Vortex00.outorderO0.gcc.100M.ss
/edu/simplesim-3.0/sim-profile -iclass vortex00.outorderO0.gcc.100M.ss lendian.raw >vor00.out 2>vor00.err Vortex00.outorderO1.gcc.100M.ss /edu/simplesim-3.0/sim-profile -iclass vortex00.outorderO1.gcc.100M.ss lendian.raw >vor01.out 2>vor01.err Vortex00.outorderO2.gcc.100M.ss /edu/simplesim-3.0/sim-profile -iclass vortex00.outorderO2.gcc.100M.ss lendian.raw >vor01.out 2>vor01.err

6 vortex00.outorderO0.gcc.100M.ss 프로그램 분석
vortex.exe lendian.raw >vor00.out 2>vor00.err sim-profile vortex00.outorderO0.gcc.100M.ss >vor00.out 2>vor00.err 구 분 명 령 어 비 고 원 명령어 (spec2000.txt 참조) Vortex.exe lendian.raw >result/vortex.out2 2>result/vortex.err SPEC CPU2000 benchmarks – RDB benchmark 해석 명령어 sim-profile vortex00.outorderO0.gcc.100M.ss lendian.raw >result/vortex.out2 2>result/vortex.err Vortex.exe  sim-profile vortex00.outorderO0.gcc.100M.ss 옵션 sim-profile –iclass vortex00.outorderO0.gcc.100M.ss lendian.raw >result/vortex.out2 2>result/vortex.err -iclass 명령어 클래스 프로파일링 옵션 실제 실행 명령어 /edu/simplesim-3.0/sim-profile –iclass vortex00.outorderO0.gcc.100M.ss lendian.raw >vor00.out 2>vor00.err 결과파일 vor00.out  no data vor00.err  result data

7 프로그램 소스코드 (vor00.err) sim-profile: SimpleScalar/PISA Tool Set version 3.0 of November, 2000. Copyright (c) by Todd M. Austin. All Rights Reserved. This version of SimpleScalar is licensed for academic non-commercial use only. sim: command line: /edu/simplesim-3.0/sim-profile -iclass vortex00.outorderO0.gcc.100M.ss lendian.raw sim: simulation Tue Oct 29 02:18: , options follow: sim-profile: This simulator implements a functional simulator with profiling support. Run with the `-h' flag to see profiling options available. # -config # load configuration from a file # -dumpconfig # dump configuration to a file # -h false # print help message # -v false # verbose operation # -d false # enable debug message # -i false # start in Dlite debugger -seed # random number generator seed (0 for timer seed) # -q false # initialize and terminate immediately # -chkpt <null> # restore EIO trace execution from <fname> # -redir:sim <null> # redirect simulator output to file (non-interactive only) # -redir:prog <null> # redirect simulated program output to file -nice # simulator scheduling priority -max:inst # maximum number of inst's to execute -all false # enable all profile options -iclass true # enable instruction class profiling -iprof false # enable instruction profiling -brprof false # enable branch instruction profiling -amprof false # enable address mode profiling -segprof false # enable load/store address segment profiling -tsymprof false # enable text symbol profiling -taddrprof false # enable text address profiling -dsymprof false # enable data symbol profiling -internal false # include compiler-internal symbols during symbol profiling # -pcstat <null> # profile stat(s) against text addr's (mult uses ok)

8 sim: ** starting functional simulation **
sim: ** simulation statistics ** sim_num_insn # total number of instructions executed sim_num_refs # total number of loads and stores executed sim_elapsed_time # total simulation time in seconds sim_inst_rate # simulation speed (in insts/sec) sim_inst_class_prof # instruction class profile sim_inst_class_prof.array_size = 7 sim_inst_class_prof.bucket_size = 1 sim_inst_class_prof.count = 7 sim_inst_class_prof.total = sim_inst_class_prof.imin = 0 sim_inst_class_prof.imax = 7 sim_inst_class_prof.average = sim_inst_class_prof.std_dev = sim_inst_class_prof.overflows = 0 # pdf == prob dist fn, cdf == cumulative dist fn # index count pdf sim_inst_class_prof.start_dist load store uncond branch cond branch int computation fp computation trap sim_inst_class_prof.end_dist ld_text_base x # program text (code) segment base ld_text_size # program text (code) size in bytes ld_data_base x # program initialized data segment base ld_data_size # program init'ed `.data' and uninit'ed `.bss' size in bytes ld_stack_base x7fffc000 # program stack segment base (highest address in stack) ld_stack_size # program initial stack size ld_prog_entry x # program entry point (initial PC) ld_environ_base x7fff8000 # program environment base address address ld_target_big_endian # target executable endian-ness, non-zero if big endian mem.page_count # total number of pages allocated mem.page_mem k # total size of memory pages allocated mem.ptab_misses # total first level page table misses mem.ptab_accesses # total page table accesses mem.ptab_miss_rate # first level page table miss rate

9 vortex00.outorderO1.gcc.100M.ss 프로그램 분석
vortex.exe lendian.raw >vor01.out 2>vor01.err sim-profile vortex00.outorderO1.gcc.100M.ss >vor01.out 2>vor01.err 구 분 명령어 비고 원 명령어 (spec2000.txt 참조) Vortex.exe lendian.raw >result/vortex.out2 2>result/vortex.err SPEC CPU2000 benchmarks – RDB benchmark 해석 명령어 sim-profile vortex00.outorderO1.gcc.100M.ss lendian.raw >result/vortex.out2 2>result/vortex.err Vortex.exe  sim-profile vortex00.outorderO1.gcc.100M.ss 옵션 sim-profile –iclass vortex00.outorderO1.gcc.100M.ss lendian.raw >result/vortex.out2 2>result/vortex.err -iclass 명령어 클래스 프로파일링 옵션 실제 실행 /edu/simplesim-3.0/sim-profile –iclass vortex00.outorderO1.gcc.100M.ss lendian.raw >vor01.out 2>vor01.err 결과파일 vor01.out  no data vor01.err  result data

10 프로그램 소스코드 (vor01.err) sim-profile: SimpleScalar/PISA Tool Set version 3.0 of November, 2000. Copyright (c) by Todd M. Austin. All Rights Reserved. This version of SimpleScalar is licensed for academic non-commercial use only. sim: command line: /edu/simplesim-3.0/sim-profile -iclass vortex00.outorderO1.gcc.100M.ss lendian.raw sim: simulation Tue Oct 29 02:20: , options follow: sim-profile: This simulator implements a functional simulator with profiling support. Run with the `-h' flag to see profiling options available. # -config # load configuration from a file # -dumpconfig # dump configuration to a file # -h false # print help message # -v false # verbose operation # -d false # enable debug message # -i false # start in Dlite debugger -seed # random number generator seed (0 for timer seed) # -q false # initialize and terminate immediately # -chkpt <null> # restore EIO trace execution from <fname> # -redir:sim <null> # redirect simulator output to file (non-interactive only) # -redir:prog <null> # redirect simulated program output to file -nice # simulator scheduling priority -max:inst # maximum number of inst's to execute -all false # enable all profile options -iclass true # enable instruction class profiling -iprof false # enable instruction profiling -brprof false # enable branch instruction profiling -amprof false # enable address mode profiling -segprof false # enable load/store address segment profiling -tsymprof false # enable text symbol profiling -taddrprof false # enable text address profiling -dsymprof false # enable data symbol profiling -internal false # include compiler-internal symbols during symbol profiling # -pcstat <null> # profile stat(s) against text addr's (mult uses ok)

11 sim: ** starting functional simulation **
sim: ** simulation statistics ** sim_num_insn # total number of instructions executed sim_num_refs # total number of loads and stores executed sim_elapsed_time # total simulation time in seconds sim_inst_rate # simulation speed (in insts/sec) sim_inst_class_prof # instruction class profile sim_inst_class_prof.array_size = 7 sim_inst_class_prof.bucket_size = 1 sim_inst_class_prof.count = 7 sim_inst_class_prof.total = sim_inst_class_prof.imin = 0 sim_inst_class_prof.imax = 7 sim_inst_class_prof.average = sim_inst_class_prof.std_dev = sim_inst_class_prof.overflows = 0 # pdf == prob dist fn, cdf == cumulative dist fn # index count pdf sim_inst_class_prof.start_dist load store uncond branch cond branch int computation fp computation trap sim_inst_class_prof.end_dist ld_text_base x # program text (code) segment base ld_text_size # program text (code) size in bytes ld_data_base x # program initialized data segment base ld_data_size # program init'ed `.data' and uninit'ed `.bss' size in bytes ld_stack_base x7fffc000 # program stack segment base (highest address in stack) ld_stack_size # program initial stack size ld_prog_entry x # program entry point (initial PC) ld_environ_base x7fff8000 # program environment base address address ld_target_big_endian # target executable endian-ness, non-zero if big endian mem.page_count # total number of pages allocated mem.page_mem k # total size of memory pages allocated mem.ptab_misses # total first level page table misses mem.ptab_accesses # total page table accesses mem.ptab_miss_rate # first level page table miss rate

12 vortex00.outorderO2.gcc.100M.ss 프로그램 분석
vortex.exe lendian.raw >vor02.out 2>vor02.err sim-profile vortex00.outorderO2.gcc.100M.ss lendian.raw >vor02.out 2>vor02.err 구 분 명령어 비고 원 명령어 (spec2000.txt 참조) Vortex.exe lendian.raw >result/vortex.out2 2>result/vortex.err SPEC CPU2000 benchmarks – RDB benchmark 해석 명령어 sim-profile vortex00.outorderO2.gcc.100M.ss lendian.raw >result/vortex.out2 2>result/vortex.err Vortex.exe  sim-profile vortex00.outorderO2.gcc.100M.ss 옵션 sim-profile –iclass vortex00.outorderO2.gcc.100M.ss lendian.raw >result/vortex.out2 2>result/vortex.err -iclass 명령어 클래스 프로파일링 옵션 실제 실행 /edu/simplesim-3.0/sim-profile –iclass vortex00.outorderO2.gcc.100M.ss lendian.raw >vor02.out 2>vor02.err 결과파일 vor02.out  no data vor02.err  result data

13 프로그램 소스코드 (vor02.err) sim-profile: SimpleScalar/PISA Tool Set version 3.0 of November, 2000. Copyright (c) by Todd M. Austin. All Rights Reserved. This version of SimpleScalar is licensed for academic non-commercial use only. sim: command line: /edu/simplesim-3.0/sim-profile -iclass vortex00.outorderO2.gcc.100M.ss lendian.raw sim: simulation Tue Oct 29 02:20: , options follow: sim-profile: This simulator implements a functional simulator with profiling support. Run with the `-h' flag to see profiling options available. # -config # load configuration from a file # -dumpconfig # dump configuration to a file # -h false # print help message # -v false # verbose operation # -d false # enable debug message # -i false # start in Dlite debugger -seed # random number generator seed (0 for timer seed) # -q false # initialize and terminate immediately # -chkpt <null> # restore EIO trace execution from <fname> # -redir:sim <null> # redirect simulator output to file (non-interactive only) # -redir:prog <null> # redirect simulated program output to file -nice # simulator scheduling priority -max:inst # maximum number of inst's to execute -all false # enable all profile options -iclass true # enable instruction class profiling -iprof false # enable instruction profiling -brprof false # enable branch instruction profiling -amprof false # enable address mode profiling -segprof false # enable load/store address segment profiling -tsymprof false # enable text symbol profiling -taddrprof false # enable text address profiling -dsymprof false # enable data symbol profiling -internal false # include compiler-internal symbols during symbol profiling # -pcstat <null> # profile stat(s) against text addr's (mult uses ok)

14 sim: ** starting functional simulation **
sim: ** simulation statistics ** sim_num_insn # total number of instructions executed sim_num_refs # total number of loads and stores executed sim_elapsed_time # total simulation time in seconds sim_inst_rate # simulation speed (in insts/sec) sim_inst_class_prof # instruction class profile sim_inst_class_prof.array_size = 7 sim_inst_class_prof.bucket_size = 1 sim_inst_class_prof.count = 7 sim_inst_class_prof.total = sim_inst_class_prof.imin = 0 sim_inst_class_prof.imax = 7 sim_inst_class_prof.average = sim_inst_class_prof.std_dev = sim_inst_class_prof.overflows = 0 # pdf == prob dist fn, cdf == cumulative dist fn # index count pdf sim_inst_class_prof.start_dist load store uncond branch cond branch int computation fp computation trap sim_inst_class_prof.end_dist ld_text_base x # program text (code) segment base ld_text_size # program text (code) size in bytes ld_data_base x # program initialized data segment base ld_data_size # program init'ed `.data' and uninit'ed `.bss' size in bytes ld_stack_base x7fffc000 # program stack segment base (highest address in stack) ld_stack_size # program initial stack size ld_prog_entry x # program entry point (initial PC) ld_environ_base x7fff8000 # program environment base address address ld_target_big_endian # target executable endian-ness, non-zero if big endian mem.page_count # total number of pages allocated mem.page_mem k # total size of memory pages allocated mem.ptab_misses # total first level page table misses mem.ptab_accesses # total page table accesses mem.ptab_miss_rate # first level page table miss rate

15 각 벤치마크 비교 분석 Instruction class profiling

16 Program text size 비교

17 결 론 Vortex00.outorderO0.gcc.100M.ss의 경우 예시된 수치와 상당히 상반된 결과를 발생하였다. 2회에 걸쳐 재 수행해 보았으나, 역시 같은 수치가 나온것을 볼때, 잘못된 결과는 아니라 본다. Vortex00.outorderO0.gcc.100M.ss 과 Vortex00.outorderO1.gcc.100M.ss 사이의 상당히 많은 program text size의 크기가 줄었으며, 실행명령어의 수도 감소하였다. 이를 볼때, 최적화 레벨상태에 따른 프로그램 수행의 감소 상태를 확인할 수 있다. 그러나 Vortex00.outorderO1.gcc.100M.ss 과 Vortex00.outorderO2.gcc.100M.ss 사이의 경우, Program text size와 실행명령어의 차이는 미미하다.


Download ppt "Spec2000 Optimization Level Result Report <vortex00.outorderO0.gcc.100M.ss> <vortex00.outorderO1.gcc.100M.ss> <vortex00.outorderO2.gcc.100M.ss> 순천향대학교."

Similar presentations


Ads by Google