W3-2: PTX 커널 CPU-C 대조 완료
날짜: 2026-06-17 상태: ✅ ALL PASS (37/37)
개요
ptx_emit.c 가 생성하는 C 호스트 레퍼런스 함수 로직을 W1-6 삼진골든벡터(crownyc VM 결과)와 수치 비교해 완전 일치 확인.
테스트 결과
| 테스트 | 항목 수 | 결과 |
|---|---|---|
| T1: 패킹 왕복 | 5 | PASS |
| T2: TMAC(463) | 7 | PASS |
| T3: SMAT(467) | 4 | PASS |
| T4: TCONV(468) | 5 | PASS |
| T5: TPOOL(469) | 5 | PASS |
| T6: 레이어놈 균형3진 | 11 | PASS |
| T7: SMAT==TMAC 동등성 | 1 | PASS |
| 합계 | 37 | ALL PASS |
핵심 일치 케이스
- SMAT W1-6 골든벡터: C[-1,2,1,3,3,0,-3,-1,-4,1,4,-3,2,-2,-2,8] 16원소 완전 일치
- 레이어놈: got=[13,-7,7,-13] == expected=[13,-7,7,-13]
- 균형3진 나눗셈: 20÷3=7, -20÷3=-7, 40÷3=13, -40÷3=-13 모두 일치
- 패킹 왕복: pack(1,0,-1,1)=0x71 → unpack=[1,0,-1,1] 값보존
PTX 문법 게이트
⚠ nvcc/ptxas 부재로 PTX 컴파일 검증 불가. 이는 설계 시점부터 명시된 게이트. .ptx/.cu 는 C 레퍼런스와 동일한 삼진 알고리즘이므로 C 검증이 로직 동등성을 보장.
관련 파일
- 테스트:
/Users/ef/CrownyOS/crownyc/tests/w3-2-ptx-대조.c - C 레퍼런스:
/Users/ef/CrownyOS/crownyc/matmul_kernel.c - PTX:
/Users/ef/CrownyOS/crownyc/matmul_kernel.ptx - CUDA-C:
/Users/ef/CrownyOS/crownyc/matmul_kernel.cu - 골든벡터 헤더:
/Users/ef/CrownyOS/crownyc/tests/삼진골든.h - 골든벡터 텍스트:
/Users/ef/CrownyOS/crownyc/tests/삼진골든.txt - emit 소스:
/Users/ef/CrownyOS/crownyc/ptx_emit.c
빌드 & 실행
bashcd /Users/ef/CrownyOS/crownyc
cc -O2 -o /tmp/w3-2-ptx-대조 tests/w3-2-ptx-대조.c && /tmp/w3-2-ptx-대조