사용자 프로그래밍 환경
가. 프로그래밍 도구 설치 현황
컴파일러 및 라이브러리 모듈
Abaqus는 2023년 8월 9일로 서비스 재개되었음
구분
아키텍처
구분 모듈
∙ craype-mic-knl
∙ craype-x86-skylake
컴파일러
∙ intel/17.0.5
∙ intel/18.0.1
∙ intel/18.0.3
∙ intel/19.0.1
∙ intel/19.0.4
∙ intel/19.0.5 ∙ intel/19.1.2 ∙ intel/oneapi_21.2
∙ cce/8.6.3
∙ gcc/6.1.0
∙ gcc/7.2.0
∙ gcc/8.3.0
∙ pgi/18.10
∙ pgi/19.1
컴파일러 의존
라이브러리
∙ hdf4/4.2.13
∙ hdf5/1.10.2
∙ lapack/3.7.0
∙ ncl/6.7.0
∙ ncview/2.1.7
∙ NCO/4.7.4
∙ netcdf/4.6.1
MPI
∙ impi/17.0.5
∙ impi/18.0.1
∙ impi/18.0.3
∙ impi/19.0.1
∙ impi/19.0.4
∙ impi/19.0.5 ∙ impi/19.1.2 ∙ impi/oneapi_21.2
∙ mvapich2/2.3
∙ mvapich2/2.3.1
∙ openmpi/3.1.0
∙ mvapich-verbs/2.2.ddn1.4
∙ ime/mvapich-verbs/2.2.ddn1.4
MPI 의존
라이브러리
∙ fftw_mpi/2.1.5
∙ fftw_mpi/3.3.7
∙ hdf5-parallel/1.10.2
∙ netcdf-hdf5-parallel/4.6.1
∙ parallel-netcdf/1.10.0
∙ pio/2.3.1
상용 소프트웨어
∙ Abaqus/6.14-6
∙ Abaqus/2016
∙ Abaqus/2017
∙ Abaqus/2018
∙ Abaqus/2019
∙ Abaqus/2020
∙ Abaqus/2021
∙ Abaqus/2022
∙ Abaqus/2023
∙ gaussian/g16.a03
∙ gaussian/g16.a03.linda
∙ gaussian/g16.b01.linda
∙ gaussian/g16.c01.linda
∙ cfx/v145 ∙ cfx/v170 ∙ cfx/v181 ∙ cfx/v191 ∙ cfx/v192 ∙ cfx/v195 ∙ cfx/v201 ∙ cfx/v202
∙ cfx/v212 ∙ cfx/v221 ∙ cfx/v222 ∙ cfx/v231
∙ cfx/v232 ∙ fluent/v145 ∙ fluent/v170 ∙ fluent/v181 ∙ fluent/v191 ∙ fluent/v192 ∙ fluent/v195 ∙ fluent/v201 ∙ fluent/v202
∙ fluent/v212 ∙ fluent/v221 ∙ fluent/v222
∙ fluent/v231 ∙ fluent/v232
응용 소프트웨어
∙ cp2k/5.1.0
∙ cp2k/6.1.0
∙ ferret/7.4.3
∙ forge/18.1.2
∙ grads/2.2.0
∙ gromacs/2016.4
∙ gromacs/2018.6
∙ gromacs/2020.2
∙ gromacs/5.0.6
∙ lammps/12Dec18
∙ lammps/8Mar18 ∙ lammps/3Mar20
∙ namd/2.12
∙ namd/2.13
∙ PETSc/3.8.4
∙ python/2.7.15
∙ python/3.7
∙ python/3.9.5
∙ qe/6.1
∙ qe/6.4.1
∙ qe/6.6
∙ R/3.5.0
∙ R/4.2.1
∙ siesta/4.0.2
∙ siesta/4.1-b3
가상화 모듈
∙ singularity/3.6.4
∙ singularity/3.9.7
∙ conda/pytorch_1.0
∙ conda/tensorflow_1.13
∙ conda/intel_caffe_1.1.5
Intel
디버깅 모듈
∙ advisor/17.0.5
∙ advisor/18.0.1
∙ advisor/18.0.3
∙ advisor/18.0.3a
∙ vtune/17.0.5
∙ vtune/18.0.1
∙ vtune/18.0.2
∙ vtune/18.0.3
Cray 모듈
∙ cdt/17.10
∙ cray-ccdb/3.0.3
∙ cray-cti/1.0.6
∙ cray-fftw/3.3.6.2
∙ cray-fftw_impi/3.3.6.2
∙ cray-impi/1.1.4
∙ cray-lgdb/3.0.7
∙ cray-libsci/17.09.1
∙ craype/2.5.13
∙ craypkg-gen/1.3.5
∙ chklimit/1.0
∙ vapich2_cce/2.2rc1.0.3_noslurm
∙ vapich2_gnu/2.2rc1.0.3_noslurm
∙ papi/5.5.1.3
∙ perftools/6.5.2
∙ perftools-bas/6.5.2
∙ perftools-lite/6.5.2
∙ PrgEnv-cray/1.0.2
∙ libfabric/1.7.0
∙ pbs/trace
∙ pbs/tools
etc
∙ cmake/3.12.3
∙ cmake/3.17.4
∙ cmake/3.26.2
∙ common/memkind-1.9.0
∙ git/1.8.3.4
∙ git/2.35.1
∙ IGPROF/5.9.16
∙ ImageMagick/7.0.8-20
∙ perl/5.28.1
∙ qt/4.8.7
∙ qt/5.9.6
∙ subversion/1.7.19
∙ subversion/1.9.3
apps/Modules/modulefiles/test 은 test 모듈임
ANSYS 사용이 가능한 사용자 그룹은 대학교, 산업체(중소기업), 출연연구소에 한함.
사용 가능 사용자 그룹이 아니거나 사용 신청을 하지 않은 타 기관 사용자에 의한 ANSYS 사용은 ANSYS 사에 의해 법적 제재를 당할 수 있음에 유의하시기 바랍니다.
Abaqus 사용이 가능한 사용자 그룹은 대학교, 산업체(중소기업), 출연연구소에 한함
사용 가능 사용자 그룹이 아니거나 사용 신청을 하지 않은 타 기관 사용자에 의한 Abaqus 사용은 다쏘시스템코리아에 의해 법적 제재를 당할 수 있음에 유의하시기 바랍니다.
Gaussian은 helpdesk 계정담당자(account@ksc.re.kr)를 통해 사용권한 신청 후 사용 가능함
공통 라이브러리(예: cairo, expat, jasper, libpng, udunits 등) 설치 현황은 [별첨 5]을 참조
나. 컴파일러 사용법
1. 컴파일러 및 MPI 환경설정(modules)
1) 기본 필요 모듈
사용할 계산 노드에 해당되는 모듈 하나를 반드시 추가해야 한다.
사용할 계산 노드
KNL
SKL
모듈명
craype-mic-knl
craype-x86-skylake
2) 모듈 관련 기본 명령어
사용 가능한 모듈 목록 출력
사용할 수 있는 컴파일러, 라이브러리 등의 모듈 목록을 확인할 수 있다.
사용할 모듈 추가
사용하고자 하는 컴파일러, 라이브러리 등의 모듈을 추가할 수 있다.
사용할 모듈들을 한번에 추가할 수 있다.
사용 모듈 삭제
필요 없는 모듈을 제거한다. 이 때 한번에 여러 개의 모듈을 삭제할 수 있다.
사용 모듈 목록 출력
현재 설정된 모듈 목록을 확인할 수 있다.
전체 사용 모듈 일괄 삭제
이 경우, 기본 필요 모듈도 일괄 삭제되므로, 모듈 재사용 시 기본 필요 모듈을 다시 추가해야 한다.
기타 module 활용 예시
module help 명령 (도움말 보기)
module show 명령 (설정 환경변수 확인)
2. 순차 프로그램 컴파일
순 프로그램은 병렬 프로그램 환경을 고려하지 않은 프로그램을 말한다. 즉, OpenMP, MPI와 같은 병렬 프로그램 인터페이스를 사용하지 않는 프로그램으로써, 하나의 노드에서 하나의 프로세서만 사용해 실행되는 프로그램이다. 순차 프로그램 컴파일 시 사용되는 컴파일러별 옵션은 병렬 프로그램을 컴파일 할 때도 그대로 사용되므로, 순차 프로그램에 관심이 없다 하더라도 참조하는 것이 좋다.
1) Intel 컴파일러
Intel 컴파일러를 사용하기 위해서 필요한 버전의 Intel 컴파일러 모듈을 추가하여 사용한다. 사용 가능한 모듈은 module avail로 확인할 수 있다.
※ 프로그래밍 도구 설치 현황 표를 참고하여 사용가능 버전 확인
컴파일러 종류
컴파일러
프로그램
소스 확장자
icc / icpc
C / C++
.C, .cc, .cpp, .cxx,.c++
ifort
F77/F90
.f, .for, .ftn, .f90, .fpp, .F, .FOR, .FTN, .FPP, .F90
컴파일러 옵션
컴파일러 옵션
설명
-O[1|2|3]
오브젝트 최적화. 숫자는 최적화 레벨
-ip, ipo
프로시저 간 최적화
-qopt_report=[0|1|2|3|4]
벡터 진단 정보의 양을 조절
-xCORE-AVX512 -xMIC-AVX512
512bits 레지스터를 가진 CPU를 지원 (SKL 노드 사용 계산의 경우) 512bits 레지스터를 가진 MIC를 지원 (KNL노드 사용 계산의 경우)
-fast
-O3 -ipo -no-prec-div -static, -fp-model fast=2 매크로
-static/-static-intel/ -i_static
공유 라이브러리를 링크하지 못하게 함
-shared/-shared-intel/ -i_dynamic
공유 라이브러리를 링크를 함
-g -fp
디버깅 정보를 생성
-qopenmp
OpenMP 기반의 multi-thread 코드 사용
-openmp_report=[0|1|2]
OpenMP 병렬화 진단 레벨 조절
-ax -axS
특정 프로세서에 최적화된 코드를 생성 SIMD Extensions4(SSE4) 벡터라이징 컴파일러와 미디어 가속 명령어들을 활용하는 특화된 코드를 생성
-tcheck
스레드 기반의 프로그램의 분석을 활성화 함
-pthread
멀티스레딩 지원을 받기 위해 pthread 라이브러리를 추가 함
-msse<3,4.1>,-msse3
Streaming SIMD Extensions 3 지원
-fPIC,fpic
PIC (Position Independent Code)가 되도록 컴파일
-p
프로파일링 정보를 생성(gmon.out)
-unroll
unroll활성화, 은 최대 횟수 (64비트만 지원)
-mcmodel medium
2GB이상의 memory allocation이 필요한 경우 사용
-help
옵션 목록 출력
Intel 컴파일러 사용 예제 다음은 KNL 계산노드에서 test 예제파일을 intel 컴파일러로 컴파일하여 실행파일 test.exe를 만드는 예시임
※ /apps/shell/home/job_examples 에서 작업제출 test 예제파일을 복사하여 사용 가능
권장 옵션
계산노드
권장옵션
SKL
-O3 –fPIC –xCORE-AVX512
KNL
-O3 -fPIC -xMIC-AVX512
SKL & KNL
-O3 –fPIC -xCOMMON-AVX512
2) GNU 컴파일러
GNU 컴파일러를 사용하기 위해서 필요한 버전의 GNU 컴파일러 모듈을 추가하여 사용한다. 사용 가능한 모듈은 module avail로 확인할 수 있다.
※ 프로그래밍 도구 설치 현황 표를 참고하여 사용가능 버전 확인
※ 반드시 "gcc/6.1.0" 이상 버전을 사용
컴파일러 종류
컴파일러
프로그램
소스 확장자
gcc / g++
C / C++
.C, .cc, .cpp, .cxx,.c++
gfortran
F77/F90
.f, .for, .ftn, .f90, .fpp, .F, .FOR, .FTN, .FPP, .F90
GNU 컴파일러 옵션
컴파일러 옵션
설명
-O[1|2|3]
오브젝트 최적화. 숫자는 최적화 레벨
-march=skylake-avx512 -march=knl
512bits 레지스터를 가진 CPU를 지원 (SKL 노드 사용 계산의 경우) 512bits 레지스터를 가진 MIC를 지원 (KNL 노드 사용 계산의 경우)
-Ofast
-O3 -ffast-math 매크로
-funroll-all-loops
모든 루프를 unrolling함
-ffast-math
fast floating point model 사용
-mline-all-stringops
더 많은 inlining 허용, memcpy, strlen, memsetdp 의존적인 코드의 성능을 향상 시킴
-fopenmp
OpenMP 기반의 multi-thread 코드 사용
-g
디버깅 정보를 생성
-pg
프로파일링 정보를 생성(gmont.out)
-fPIC
PIC(Position Independent Code)가 생성되도록 컴파일
-help
옵션 목록 출력
GNU 컴파일러 사용 예제
다음은 KNL 계산노드에서 test 예제파일을 GNU 컴파일러로 컴파일하여 실행파일 test.exe를 만드는 예시임
※ /apps/shell/home/job_examples 에서 작업제출 test 예제파일을 복사하여 사용 가능
권장 옵션
계산노드
권장옵션
SKL
-O3 -fPIC -march=skylake-avx512
KNL
-O3 -fPIC -march=knl
SKL & KNL
-fPIC -mpku
3) PGI 컴파일러
PGI 컴파일러를 사용하기 위해서 필요한 버전의 PGI 컴파일러 모듈을 추가하여 사용한다. 사용 가능한 모듈은 module avail로 확인할 수 있다.
※ 프로그래밍 도구 설치 현황 표를 참고하여 사용가능 버전 확인
컴파일러 종류
컴파일러
프로그램
소스 확장자
pgcc / pgc++
C / C++
.C, .cc, .cpp, .cxx, .c++
pgfortran
F77/F90
.f, .for, .ftn, .f90, .fpp, .F, .FOR, .FTN, .FPP, .F90
PGI 컴파일러 옵션
컴파일러 옵션
설명
-O[1|2|3|4]
오브젝트 최적화. 숫자는 최적화 레벨
-Mipa=fast
프로시저 간 최적화
-fast
-O2 -Munroll=c:1 -Mnoframe -Mlre –Mautoinline 의 매크로
-fastsse
SSE, SSE2를 지원하는 최적화
-g, -gopt
디버깅 정보를 생성
-mp
OpenMP 기반의 multi-thread 코드 사용
-Minfo=mp, ipa
OpenMP관련 정보, 프로시저 간 최적화
-pg
프로파일링 정보를 생성(gmon.out)
-Mprof=time
-Mprof=func
-Mprof=lines
PGPROF output file 생성
- time에 기초한 명령어 단위의 프로파일링 정보를 생성, 많이 사용됨
- function 단위의 프로파일링 정보를 생성
- line 단위의 프로파일링 정보를 생성
(-Mprof=lines의 경우 overhead의 증가로 계산시간이 매우 느려질 수 있음)
-mcmodel medium
2GB이상의 memory allocation이 필요한 경우 사용
-tp=skylake
-tp=knl
Skylake 아키텍쳐 프로세서 전용 옵션
KNL 아키텍쳐 프로세서 전용 옵션
-fPIC
PIC(Position Independent Code)가 생성되도록 컴파일
-help
옵션 목록 출력
PGI 컴파일러 사용 예제
다음은 KNL 계산노드에서 test 예제파일을 PGI 컴파일러로 컴파일하여 실행파일 test.exe를 만드는 예시임
※ /apps/shell/home/job_examples 에서 작업제출 test 예제파일을 복사하여 사용 가능
권장 옵션
계산노드
권장옵션
SKL
-fast –tp=skylake
KNL
-fast –tp=knl
SKL & KNL
-fast –tp=skylake,knl
4) Cray 컴파일러
Cray 컴파일러를 사용하기 위해서 필요한 버전의 Cray 컴파일러 모듈을 추가하여 사용한다. 사용 가능한 모듈은 module avail로 확인할 수 있다.
※ 프로그래밍 도구 설치 현황 표를 참고하여 사용가능 버전 확인
컴파일러 종류
컴파일러
프로그램
소스 확장자
cc / CC
C / C++
.C, .cc, .cpp, .cxx,.c++
ftn
F77/F90
.f, .for, .ftn, .f90, .fpp, .F, .FOR, .FTN, .FPP, .F90
컴파일러 옵션
컴파일러 옵션
설명
-O[1|2|3]
오브젝트 최적화. 숫자는 최적화 레벨
-hcpu=mic-knl
512bits 레지스터를 가진 MIC를 지원
-Oipa[0
1
-hunroll[0|1|2]
Unrolling 옵션. Default 2인 경우모든 루프를 unrollinig
-hfp[0|1|2|3|4]
Floating_Point 최적화
-h omp(default)
OpenMP 기반의 multi-thread 코드 사용
-g | -G0
디버깅 정보를 생성
-h pic
2GB이상의 static memory가 필요한 경우 사용(-dynamic 함께 사용)
-dynamic
공유 라이브러리를 링크 함
Cray 컴파일러 사용 예제
다음은 KNL 계산노드에서 test 예제파일을 Cray 컴파일러로 컴파일하여 실행파일 test.exe를 만드는 예시임
※ /apps/shell/home/job_examples 에서 작업제출 test 예제파일을 복사하여 사용 가능
권장 옵션
계산노드
권장옵션
SKL
기본값
KNL
-hcpu=mic-knl
SKL & KNL
기본값
※ 테스트를 위한 test.c 및 test.f90등은 /apps/shell/home/job_examples 에서 확인 가능 (사용자 디렉토리로 복사하여 테스트)
※ KNL 최적화 옵션을 사용할 프로그램은 KNL debug 노드로 인터렉티브 작업 제출을 통해 접속한 후 컴파일하는 것을 권장(“스케줄러를 통한 작업실행 → 나. 작업제출 모니터링 → 2) 인터렉티브 작업제출” 참고)
3. 병렬 프로그램 컴파일
1) OpenMP 컴파일
OpenMP는 컴파일러 지시자만으로 멀티 스레드를 활용할 수 있도록 간단하게 개발된 기법으로 OpenMP를 사용한 병렬 프로그램 컴파일 시 사용되는 컴파일러는 순차프로그램과 동일하며, 컴파일러 옵션을 추가하여 병렬 컴파일을 할 수 있는데, 현재 대부분의 컴파일러가 OpenMP 지시자를 지원한다.
컴파일러 옵션
프로그램
옵션
icc / icpc / ifort
C / C++ / F77/F90
-qopenmp
gcc / g++ / gfortran
C / C++ / F77/F90
-fopenmp
cc / CC /ftn
C / C++ / F77/F90
-homp
pgcc / pgc++ / pgfortran
C / C++ / F77/F90
-mp
OpenMP 프로그램 컴파일 예시 (Intel 컴파일러)
다음은 KNL 계산노드에서 openMP를 사용하는 test_omp 예제파일을 intel 컴파일러로 컴파일하여 실행파일 test_omp.exe를 만드는 예시임
OpenMP 프로그램 컴파일 예시 (GNU 컴파일러)
다음은 KNL 계산노드에서 openMP를 사용하는 test_omp 예제파일을 GNU 컴파일러로 컴파일하여 실행파일 test_omp.exe를 만드는 예시임
OpenMP 프로그램 컴파일 예시 (PGI 컴파일러)
다음은 KNL 계산노드에서 openMP를 사용하는 test_omp 예제파일을 PGI 컴파일러로 컴파일하여 실행파일 test_omp.exe를 만드는 예시임
OpenMP 프로그램 컴파일 예시 (Cray 컴파일러)
다음은 KNL 계산노드에서 openMP를 사용하는 test_omp 예제파일을 Cray 컴파일러로 컴파일하여 실행파일 test_omp.exe를 만드는 예시임
2) MPI 컴파일
사용자는 다음 표의 MPI 명령을 실행할 수 있는데, 이 명령은 일종의 wrapper로써 .bashrc를 통해 지정된 컴파일러가 소스를 컴파일하게 된다.
구분
Intel
GNU
PGI
Cray
Fortran
ifort
gfortran
pgfortran
ftn
Fortran + MPI
mpiifort
mpif90
mpif90
ftn
C
icc
gcc
pgcc
cc
C + MPI
mpiicc
mpicc
mpicc
cc
C++
icpc
g++
pgc++
CC
C++ + MPI
mpiicpc
mpicxx
mpicxx
CC
mpicc로 컴파일을 하더라도, 옵션은 wrapping되는 본래의 컴파일러에 해당하는 옵션을 사용해야 한다.
MPI 프로그램 컴파일 예시 (Intel 컴파일러)
다음은 KNL 계산노드에서 MPI를 사용하는 test_mpi 예제파일을 Intel 컴파일러로 컴파일하여 실행파일 test_mpi.exe를 만드는 예시임
MPI 프로그램 컴파일 예시 (GNU 컴파일러)
다음은 KNL 계산노드에서 MPI를 사용하는 test_mpi 예제파일을 GNU 컴파일러로 컴파일하여 실행파일 test_mpi.exe를 만드는 예시임
MPI 프로그램 컴파일 예시 (PGI 컴파일러)
다음은 KNL 계산노드에서 MPI를 사용하는 test_mpi 예제파일을 PGI 컴파일러로 컴파일하여 실행파일 test_mpi.exe를 만드는 예시임
MPI 프로그램 컴파일 예시 (Cray 컴파일러)
다음은 KNL 계산노드에서 MPI를 사용하는 test_mpi 예제파일을 Cray 컴파일러로 컴파일하여 실행파일 test_mpi.exe를 만드는 예시임
다. 디버거 및 프로파일러
5호기 누리온 시스템 베타서비스는 사용자의 프로그램 디버깅을 위하여 DDT를 제공한다. 또한 사용자의 프로그램 프로파일링을 위하여 Intel vtune와 CaryPat 두 가지의 프로파일러를 제공한다.
1. 디버거 DDT 사용예제
5호기 시스템에서 DDT를 사용하기 위하여 사용할 아키텍처, 컴파일러, MPI를 선택하고 DDT를 사용하기 위한 모듈까지 선택한다.
본 예제는 위와 같은 황경에서 테스트 되었다.
DDT를 사용하기 전 사전 준비로 컴파일 시 -g -O0 옵션을 넣어 실행파일을 선택한다.
사용자의 데스크탑에서 xming 실행 및 ssh X환경 설정 완료한 후 ddt 실행 명령을 실행 한다.
명령을 실행하여 다음과 같은 팝업 실행 창을 확인한다.
위 명령 중 "RUN" 을 선택하여 다음과 같이 디버깅할 파일 선택한 후 다시 새로운 팝업 창의 "RUN" 선택한다.
다음과 같이 선택 된 실행 파일에 대한 디버깅 모드로 진입하여 디버깅을 진행할 수 있다.
2. 프로파일러 Intel vtune Amplifiler 사용예제
본 시스템에서 프로파일러인 vtune을 사용하기 위하여 아키텍처, 컴파일러, MPI를 선택한 후 vtune을 선택하면 프로파일러를 사용 할 수 있다.
본 예제는 위와 같은 환경에서 진행되었다.
CLI 사용법
Intel vtune Amplifier를 CLI 모드로 실행할 때 명령어는 아래와 같은 형식이다.
$ amplxe-cl 옵션 분석할 프로그램 실행
위와 같이 이미 컴파일 된 실행파일을 준비하여 명령어 형식에 맞게 실행 시 r000hs 디렉터리가 생성되는 것을 확인할 수 있다. 디렉터리가 생성된 것을 확인 후 리포트 생성을 위한 명령을 실행하면 아래와 같은 결과를 출력된다.
GUI 사용 결과 확인 방법
Intel vtune Amplifier는 GUI 모드 역시 지원한다. 여기서는 GUI를 이용한 결과 확인 방법만 설명한다.
사용자의 데스크탑에서 xming 실행
$ amplxe-gui
아래의 화면에서 New Analysis 버튼을 클릭한다.
아래와 같은 화면이 나타나면 cpu수와 체크 확인 후 Start 버튼을 클릭하면 분석이 시작된다.
완료되면 다음과 같이 분석 결과가 여러 개의 탭으로 요약되어 나타난다.
3. 프로파일러 Cary-Pat 사용예제
본 시스템에서 프로파일러인 CaryPat을 사용하기 위하여 아래와 같이 아키텍처 등 환경을 설정한 후 예제를 진행하였다.
먼저 예제에 사용될 test.c 파일을 컴파일 한다.
위 실행 결과로 a.out 이라는 실행파일이 생성된다.
CaryPat으로 분석을 위하여 pat_build를 이용하여 새로운 실행 파일을 생성한다.
위의 실행 결과로 a.out+pat 라는 파일이 생성된다.
생성된 실행파일은 MPI로 작성된 파일이므로 mpirun으로 실행한다.
실행을 완료하면 a.out+pat+378250-3s 디렉터리가 생성되고 디렉터리 안에 xf-files/002812.xf 파일이 생긴다.
위와 같이 pat_report를 실행하면 a.out+pat+378250-3s 디렉터리 안에 .ap2 파일과 .apa 파일이 생성된다.
.apa 파일을 이용하여 다시 실행파일을 생성하면 a.out+apa 이름의 파일이 생성된다.
이렇게 생성된 a.out+apa 파일을 실행하면
a.out+pat+378250-3t에 새로운 xf 파일이 생성된다.
pat_report를 다시 사용하여 새로운 데이터를 처리한다.
위와 같이 실행하여 ap2 파일과 tracing 리포트를 생성한다.
위와 같이 수집된 데이터를 시각화 하는 방법으로 app2를 제공한다.
아래와 같이 시각화가 가능하다.
2023년 6월 30일에 마지막으로 업데이트되었습니다.
Last updated