diff --git a/docs/calculation-performance/hex8-performance.md b/docs/calculation-performance/hex8-performance.md index 52eaf39..df9081c 100644 --- a/docs/calculation-performance/hex8-performance.md +++ b/docs/calculation-performance/hex8-performance.md @@ -11,6 +11,9 @@ MKL 경계 수치 소스는 `71e08169ecfc3eee8372cd831b799b87aa47c78b`에서 후속 병합 `45aac19`에는 root의 공통 finite classifier `47d2a81`이 포함된다. 이 병합 뒤의 소비자 재빌드와 동적 개발 실행은 문서 commit `decd959`에서 수행했다. 이전 검사 결과를 새 소스의 통과로 대입하지 않는다. +후속 `3576f3f`는 root가 공통 최하위 bit 검색을 MSVC x64 intrinsic으로 바꾼 +소스다. 같은 수치 header hash의 root Debug 검사와 T3 Release 실행을 아래에서 +구별한다. T3가 공통 산술을 직접 수정하지 않았다. 공식 기준 Release 소스와 이 개발용 Debug 대조 소스를 혼용하지 않는다. ## 실제 병목에 대응하는 변경 @@ -249,6 +252,38 @@ EvaluateHighLow와 EvaluateSolids로 이어지는 경로가 확인된다. 여러 성능 비율로 비교하지 않는다. 공통 최하위 bit 검색의 정확한 같은 결과를 유지하면서 비용을 줄이는 후보를 root 소유 범위의 후속 검토로 전달했다. +## 공통 bit-scan 통합 뒤의 개발 실행 + +Root는 같은 비영 significand의 최하위 bit 위치를 `_BitScanForward64`로 찾도록 +공통 private helper를 바꿨다. Exponent 구성과 exact dyadic-tail 거부 기준은 +유지했다. [독립 source 검토](../../.harness/performance/shared-bitscan/source-numerical-review.md)는 +header SHA `F231B9C1B0FBF963EBE1AA88D7FE4C7A291CE91C5CE4E28280AEDEB3155B7A71`의 +수치·계약 범위 PASS이며 실행 검증과 구별한다. 같은 working candidate hash에서 +root가 Debug 소비자 36개 edge를 재빌드하고 합성 68개 검사를 통과한 +[native 기록](../../.harness/performance/shared-bitscan/after-native.json)을 보존한다. +그 뒤 root가 `3576f3f`로 commit했으며 T3는 동일 Debug 검사를 반복하지 않았다. + +T3는 `3576f3f`를 동기화하고 기존 정상 dependency Release tree의 소비자 8개 +edge를 재컴파일했다. Configure/build/deps 모두 native 0이며 Hex8 dependencies +15개를 확인했다. [Release 기록](../../.harness/performance/t3/bitscan-release-native.json)에 +실제 argv와 소스를 남겼다. 새 binary SHA는 +`54fa853d3f16ef63b0b056d1cdd18bb6b28e6e723ade3caa4b0b6b01b9d1d97e`다. + +이 binary의 원본 동적 입력 개발 실행은 워밍업 없이 한 번만 수행했으며 +150.1015395초 timeout이었다. Target와 측정 wrapper native는 각각 1, +execution_valid는 false이며 최종 HDF5가 없어 101-frame U 비교는 미실행이다. +[실행 자료](../../.harness/performance/t3/development-dynamic-bitscan.json), +[target 기록](../../.harness/performance/t3/development-dynamic-bitscan/run-1/native.json), +[wrapper native](../../.harness/performance/t3/dynamic-bitscan-native.json)를 보존한다. +원본/scratch 바이트와 source/header/binary/build/runtime DLL/thread/power identity가 +전후 같았다. AC 연결 상태 1과 전원 scheme GUID +`8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c`를 기록했다. 종료 뒤 관련 프로세스가 +없음을 확인하고 CPU 권한을 반환했다. 이번 실행 뒤 새 profile은 수집하지 않았다. + +이전과 이번 실행은 모두 제한 시간에 중단되었으므로 두 elapsed로 전체 실행의 +개선 비율을 계산하지 않는다. Bit-scan의 source/Debug 검증 PASS를 동적 100초 +목표의 합격으로 확대하지 않는다. + 84개 실행과 추가 두 검사 실행은 서로 다른 검사 범위다. 이를 하나의 최종 전체 검사 실행으로 표시하지 않는다. 최종 전체 Debug/CTest, Hex8 필수 원본 5개 비교, 동적 101-frame 비교, 최종 VTune과 공식 단일 시간 측정은 아직 이 작업의 개발