docs(performance): record packet SW profile and bounded next candidate

This commit is contained in:
KOKO\Mimi
2026-10-14 21:42:53 +09:00
parent 96686c12ea
commit e5c8465c65
@@ -494,3 +494,47 @@ Source/input/header/exe/DLL/build/runtime/thread/power identity가 전후 같았
scratch SHA도 같았다. 종료 후 관련 프로세스 0개를 확인하고 CPU 권한을 반환했다. scratch SHA도 같았다. 종료 후 관련 프로세스 0개를 확인하고 CPU 권한을 반환했다.
추가 profile/micro 또는 전체 시간 실행은 하지 않았다. 제한 시간에 중단된 후보끼리의 추가 profile/micro 또는 전체 시간 실행은 하지 않았다. 제한 시간에 중단된 후보끼리의
개선 비율을 계산하지 않는다. 최종 전체 검사·필수 원본 비교·공식 시간 목표는 미완료다. 개선 비율을 계산하지 않는다. 최종 전체 검사·필수 원본 비교·공식 시간 목표는 미완료다.
## Packet 후보의 잔여 비용과 출력 단계 해석의 한계
150초 timeout의 마지막 accepted increment는 100/time10/iteration2였다. 그러나
`prepared_analysis.cpp`는 ExecuteInto를 마친 뒤 모든 IterationRecords를 log.Write한다.
따라서 이 행은 실시간 진행 timestamp가 아니다. Log는 실행 시작 21:20:21에 생성되어
21:22:50에 마지막 작성됐고, 14,911,565-byte candidate tmp는 21:22:51에 생성됐다.
Cutoff에 출력 작성이 진행 중인 사실은 확인하지만, 출력이 전체 시간을 지배한다는
추론은 하지 않는다. 최종 파일 완성과 전체 elapsed는 여전히 미확인이다.
Writer BuildSolidPlan은 저장된 accepted frame을 CommitAcceptedFrame으로 재검증한다.
Pair/identity/physical force/energy gates를 반복하지만 full nonlinear Hex8 response를
프레임마다 다시 계산하지 않는다. 기준 inventory의 factory.Create+EvaluateLinear(zero)는
ModelPlan과 validator.Create에서 요소마다 각각 실행된다. 이는 소스상 중복 finding이며
실측 비용 근거 없이 최우선 후보로 선택하거나 검사를 생략하지 않는다.
같은 생산 `446d3fa`와 binary로 SW30 수집을 한 번 추가했다. Collector actual native4,
outer wrapper1, target native unknown을 유지한다. 기존 raw에서 함수·전체 callstacks·
summary를 export한 세 native와 export wrapper는 모두0이다.
[Collection native](../../.harness/performance/t3/vtune-dynamic-packet-boundary-collection-native.json),
[export native](../../.harness/performance/t3/vtune-dynamic-packet-boundary-export-native.json)를 보존한다.
수집과 export의 metadata를 분리하고 실제 parent PATH를 별도로 저장했다. Source/input/
exe/arithmetic/packet header·kernel·dispatch/parent PATH/thread/runtime DLL/power는
각각 전후 같았다. 환경 수집용 uv subprocess PATH와 actual parent PATH는 구분한다.
Target owned PID는 모두 정리했고 CPU 권한을 반환했다.
[Summary](../../.harness/performance/t3/vtune-dynamic-packet-boundary-summary.csv)의 elapsed는
29.771803초, CPU219.787666초, effective152.367546초, spin59.900463초다.
[함수 자료](../../.harness/performance/t3/vtune-dynamic-packet-boundary-functions.csv)는 packet Add
self9.638549, Product9.444756, Multiply3.902459 CPU 초와 scalar MultiplyPair6.631925,
TwoProduct5.432377 CPU 초를 보고한다. 전체 leaf별 callpath weight 합을 flat total과
대조한 packet inclusive는61.265380 CPU 초, EvaluateHighLow inclusive는133.386968 CPU
초다. Scalar bridge inclusive는 Add0.103136, Multiply0.039823, TwoProduct0.061110 CPU
초여서 fallback 지배 근거는 작다. [경로 자료](../../.harness/performance/t3/vtune-dynamic-packet-boundary-selected-paths.json)는
node를 path마다 한 번 포함하며, 중첩된 inclusive 그룹이나 inline attribution을 별도 비용으로
합산하지 않는다. 이 초기30초 표본은 후처리·출력 비용을 판정하지 못한다. Iomp spin의
PARDISO 기원이나 TBB 시간 중첩은 여전히 unknown이므로 전역 thread 정책을 바꾸지 않았다.
다음 후보는 packet Add/Multiply의 POD 왕복과 scalar normalized/zero/low-shape 검사를
동일 vector masks로 계산하는 최소 범위다. [증명 계획](../../.harness/performance/t3/packet-vector-guard-proposal.md)은
finite bit gate-beforeFP, left-invalid의 right predicate short-circuit neutralization,
canonical zero/RN64/overflow/sticky union/fallback/기존 FENV/ISA·COMDAT 경계를 명시한다.
이는 아직 구현·검증 전이며 산술 graph나 모델 gate를 생략하는 변경이 아니다.
추가 whole-model 실행이나 180초 수집은 수행하지 않았다.