Download scripts/profile.sh from kimjunhan/vkgs-sim: direct link, hf CLI and curl.
- Browser
- Download file 2.14 kB
-
https://huggingface.co/kimjunhan/vkgs-sim/resolve/main/scripts/profile.sh
- Command line
-
hf download hf://kimjunhan/vkgs-sim/scripts/profile.sh
-
curl -L -o profile.sh https://huggingface.co/kimjunhan/vkgs-sim/resolve/main/scripts/profile.sh
2.14 kB
| # 시뮬레이터 하드웨어 프로파일링 (Tracy). 뷰어는 TRACY_ON_DEMAND 로 빌드돼 있어 캡처가 붙을 때만 기록한다. | |
| # | |
| # bash scripts/profile.sh OUT.tracy -- <vkgs_viewer 또는 nusim 명령...> | |
| # 캡처를 띄우고 명령을 돌린 뒤 .tracy 저장 + 구간 통계 출력 (창 없이도 된다: --offscreen) | |
| # build/tracy-profiler/tracy-profiler OUT.tracy 저장한 캡처를 GUI 로 (CPU·GPU 타임라인, 패스별 GPU 구간) | |
| # build/tracy-profiler/tracy-profiler 실행 중인 시뮬레이터(nusim render view)에 실시간으로 붙기 | |
| # | |
| # 기록되는 것: CPU 구간 (render·record·gpu wait·pass·png queue/encode), GPU 구간 (렌더 그래프 패스·그리기 항목, | |
| # Vulkan 타임스탬프), 프레임 경계, 그래프 (보이는 가우시안 수, 속도). | |
| set -eo pipefail | |
| : "${1:?사용: bash scripts/profile.sh OUT.tracy -- <명령...>}" | |
| out=$(realpath -m "$1"); shift # 저장소 루트로 옮기기 전에 절대 경로로 | |
| [ "${1:-}" = "--" ] && shift | |
| [ $# -gt 0 ] || { echo "명령이 없습니다: bash scripts/profile.sh OUT.tracy -- <명령...>" >&2; exit 2; } | |
| cd "$(dirname "$0")/.." | |
| source scripts/local_env.sh >/dev/null | |
| [ -x build/tracy-capture/tracy-capture ] || bash scripts/build_tracy.sh | |
| build/tracy-capture/tracy-capture -o "$out" -f > "${out%.tracy}.capture.log" 2>&1 & | |
| cap=$! | |
| trap 'kill $cap 2>/dev/null || true' EXIT # 명령이 실패해도 캡처를 남기지 않는다 | |
| sleep 1 | |
| rc=0 | |
| "$@" || rc=$? | |
| # 캡처는 클라이언트가 끊기면 끝난다. 명령이 캡처가 붙기 전에 끝났으면 기다리지 않는다 (최대 30초) | |
| for _ in $(seq 60); do kill -0 $cap 2>/dev/null || break; sleep 0.5; done | |
| kill -0 $cap 2>/dev/null && { echo "캡처가 연결되지 않았습니다 (명령이 너무 빨리 끝남?)" >&2; kill $cap; exit 1; } | |
| trap - EXIT | |
| [ $rc -eq 0 ] || { echo "명령 실패 (종료 코드 $rc)" >&2; exit $rc; } | |
| echo "캡처 → $out" | |
| build/tracy-csvexport/tracy-csvexport "$out" | | |
| awk -F, 'NR > 1 { printf " %-14s 횟수 %6d 평균 %9.3f ms 합 %9.1f ms\n", $1, $6, $7 / 1e6, $4 / 1e6 }' | |