Files

130 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 해결되지 않은 문제
## 2026-10-20 현재 실행과 미완료 경계
직접 스프링 기본 source `6bbbb2b`의 전체 Native/CTest는 각각1035개 중
1024 PASS·10 FAIL·1 INCONCLUSIVE SKIP이다. 기존 실패를 ID뿐 아니라 현재 raw 수치와
발생 단계로 대조했다. 새 직접 스프링 수식·저장 연결 검사는 통과했으며 아래 근사 문제를
이번 변경에서 자동 복원하거나 허용치를 더 완화하지 않았다.
- 관성 D3 두 검사의 첫 차이는 약0.22761592214, 명시 Legacy drilling gradient 차이는
약0.00329135061318이다. Legacy C08a hidden ratio는0.00123371144037로1e-3을 초과한다.
- C08 controller4개는 첫 격자(h=1/64,1/16,1/256,1/64)의 inc1에서100회 correction을
소진했다. 시간수렴·차수 판정 이전 실패이며 이전 통과로 대신하지 않는다.
- LargeDirect는 accepted inc1/t=.25/iteration5의 mass-null 실패, UniformTranslation의
유한회전 subrun은 inc2/t=.02의 triad/rotation mismatch가 유지됐다.
- N7 finest 비교 하나는 arithmetic/solve resolution의 INCONCLUSIVE SKIP이다.
정식 직접 HHT의729nodes·101frames와9node U101 families는 이번에 실제 통과했지만
비선형 q/v/physical a의 시간정확도와 위 독립 물리 실패를 해결하지는 않는다.
기존 방식의 대형 HHT 외부 U 재해석은 미실행이다. 별도 관련162검사 중7 FAIL은 기존5개와
Direct 기본값 전용 검사를 잘못 포함한2개로 분리했다. 두 선택 오류도 실제 FAIL로 보존했다.
정식 fine/fine_02/pressure·새 thermal 자료는 없으며 `reference/temp`를 쓰지 않았다.
이 미완료는 승인된 근사 정확도 조사와 외부 자료 제공이 필요한 범위이므로, 이번 drilling
선택 구현을 전체 solver 검증 통과로 확대하지 않는다.
## 이번 실험의 보류 결정
2026-10-19 사용자는 Abaqus U 비교를 이번 실험의 검증 통과로 수용하고 아래 실패10개를
보류하도록 승인했다. [결정 기록](decisions/0011-tolerance-experiment-acceptance.md)을 따른다.
문제 해결이나 raw FAIL의 PASS 전환은 아니며 N7 SKIP·자료 미확보도 그대로 남는다.
전체 strict/candidate 상태 차이와 관측 시간은 추가로 확보했지만 비선형 시간 정확도·공식 성능 조건은
후속 과제다. 이후 일반 solver 기능의 전체 검증 의무를 면제하지 않는다.
## MITC4 local 근사 실험의 정확도 실패
- 조건·관측: 2026-10-18 사용자 지시로 polar 1회·관성 회전/Jacobian 3차·질량 검사
1e-3을 적용했다. 변경 전 관련 기존 45개 PASS, 변경 후 46개 중 41 PASS·5 FAIL이다.
추가 HHT 선택에서도 C08a 독립 물리 oracle와 큰 시간간격 100회 보정 종료가 실패했다.
후속 사용자 지시로 관련 테스트 오차 기준도 1e-3으로 변경했으며 최신 동일 선택
50개는 당시 Native/CTest 각각46 PASS·4 FAIL이었다. 2026-10-19 외부 field 정책 연결 뒤
전체998개를 양쪽에서 실행했고 동일10 FAIL·1 SKIP이 남는다. D3 오차 약0.228,
drilling gradient 약0.00329 및 C08a hidden defect/실제 평형 검사 실패도 재현했다.
- 영향: 회전 미분·analytic null·질량/에너지·drilling 항등식의 기존 정확도 검증을 만족하지
못한다. 구현 완료를 solver correctness·시간수렴·성능 향상으로 보고할 수 없다.
- 지금 해결하지 않는 이유: 요청한 근사값의 수치 영향이며 승인된 테스트 허용치1e-3보다
더 완화하거나 요청을 자동 취소해 실패를 숨기지 않는다. 외부 Newton 기준 변경만으로 해당 항등식은 복원되지 않는다.
- 다음 접근: 원인 분리 실험과 정확도 손실의 별도 판정이 필요하다. 변경 범위·실제 로그·
미검증 항목은 [local 실험 기록](../abaqus-tolerance/local-kernel-experiment.md)을 따른다.
## MITC4 후보 후속 acceptance와 비선형 시간 정확도 미완료
- 조건·관측: 2026-10-19 구성된 전체 Native/CTest998개는 각각987 PASS·10 FAIL·1 SKIP이다.
실제 후보 LargeDirect는 field 통과 뒤 mass-null, UniformTranslation은 유한회전 증분2에서
triad 일관성이 실패한다. 같은 identity의 보존 strict는 외부100회 소진이므로 원인 동일로
분류하지 않는다. C08 strict algebra의 시간 controller4개도 첫 격자에서 실패한다.
- 영향: 강체 병진 oracle와 기존 algebra 시간수렴 통과만으로 실제 비선형 후보의
q/v/physical a refinement·차수·finest 오차·N7/물리 invariant closure를 인증할 수 없다.
N7 한 항목은 해상도 SKIP이다. 후속 Release 후보100증분은5662.144854초/native0으로 완료하고
정식9-node U 비교를 통과했으나 비선형 시간 정확도·전체 speedup은 미성립이다.
- 지금 해결하지 못한 이유: 승인 local 근사본의 독립 정확도 실패가 동반되며 원인 분리가
필요하다. 정해진 근사 수식을 자동 복원하거나 유지할 hidden·triad·평형 기준을 완화해
성공시키는 것은 이번 실험의 변경 범위가 아니다. 추가 강제 보정이나 실패 frame commit도 하지 않는다.
- 다음 접근: polar/inertia 근사 영향과 candidate 후속 gate 실패의 원인을 분리한다.
유지할 물리 기준에서 실제 비선형 후보의 시간·불변량 검증을 확보한 뒤 공식 성능 비교를 수행한다.
새 원본 U 비교의 범위와 시간은 [변위 비교](../abaqus-tolerance/reference-displacement-comparison.md)에 있다.
전체 실행·실패 identity와 strict 대조 근거는 수렴 정책 결과의 원시 기록에 보존했다.
## 개발 계측의 정확 parity와 전체 비용 미확정
- 조건·관측: strict 공식 frame0/1과 짧은 개발 실행의 numeric dataset40개 중18개가 byte
불일치했다. 보존한 동일 OFF 실행물의 짧은 대조도 불일치해 계측만의 영향으로 분리되지 않았다.
전체100증분 개발 계측은 하지 않았으며, 후보와 strict의1증분 state 차이는 별도 정책 진단이다.
- 영향: 개발 probe의 정확 byte parity 통과나 전체 병목 비중·전체 가속률을 확정할 수 없다.
- 지금 해결하지 못한 이유: T 단축·반복·thread·컴파일 영향을 분리한 실행 근거가 없고,
수치 부적합 상태에서 같은 장시간 실행을 근거 없이 반복하지 않는 실험 조건을 유지한다.
- 다음 접근: 수치 적합성을 확보한 뒤 동일 입력·실행물·thread 조건으로 원인을 분리하고
전체 증분 비용을 측정한다. 새 parity 허용치나 첫 증분의100배 외삽으로 대신하지 않는다.
## 정식 기준자료 부재와 추가 fine 비교기 부재
- 조건·관측: 정식 `reference/shellNL-meshfine/`, `reference/shellNL-meshfine_02/`,
`reference/shellNL-meshfine-pressure/` 자료가 없다고 통합 기록에 남아 있다.
`_02`는 전용 comparator case identity와 비교 계약 구현도 없다.
- 영향: Fine·추가 fine·pressure의 실제 외부 비교가 미완료다. 합성 fixture가 이를 대체하지 않는다.
- 지금 해결하지 않는 이유: 정식 원본 제공은 외부 의존이며 원본 생성·복원·임시 자료 승격은 승인되지 않았다.
- 다음 접근: 정식 자료를 확보해 hash·source identity·frame을 확정한다. `_02`는 comparator
계약을 별도로 구현한다. `reference/temp`는 검증에 사용하지 않는다.
## Thermal NT11 외부 불일치
- 조건·관측: 기존 676 DS4·729 node 모델의 Step-1/t37/DOF11 NT11 비교에서
원본 87/729행 실패, RMS/S 약 0.0496740846으로 공통 0.01 기준을 초과했다.
독립 정식화 oracle도 같은 불일치를 보였다.
- 영향: 기존 비교는 diagnostic/nonblocking이며 외부 수치 정확도 통과가 아니다.
다른 station·flux·반력·전체 시간 응답으로 검증 범위를 확대할 수 없다.
- 지금 해결하지 않는 이유: 사용자가 원 정식화·허용치 유지를 선택했고 새 필수 모델·NT11 CSV가 미확보다.
- 다음 접근: 새 reference의 identity·시점·hash와 blocking 계약을 확정해 별도로 검증한다.
음수 온도 clamp·원본 보정·RMS 완화로 기존 기록을 통과로 바꾸지 않는다.
## 기존 drilling 방식의 partial-BC raw 정적 gate 한계
- 조건·관측: 보존한 S3 partial rotational BC의 public static 사례는 현재 기본 직접 방식에서
raw 인공 모멘트를 별도로 복구·차감한 뒤 기존1e-10 gate를 통과한다. 기존 방식의 raw
gate는 같은 사례에서 계속 거부되며 명시 Legacy 검사와 별도 build의 실제 진단에 보존했다.
- 영향: 직접 방식의 해당 충돌은 해결했지만 기존 방식의 raw 수용 범위를 넓힌 것은 아니다.
Eigen Value5% 예외나 모든 partial-BC 비선형 모델의 성공을 뜻하지 않는다.
- 지금 남겨 두는 이유: 기존 방식의 수치 판정 보존이 승인된 계약이다. 그 gate를 자동으로
보정값으로 바꾸거나 부분 회전구속을 full clamp로 대체하지 않는다.
- 다음 접근: 기존 방식의 수용 범위를 변경하려면 같은 BC에서 null/finite 공간과
generalized/spatial 힘·모멘트의 계약을 별도로 판정한다.
## 성능 목표 미달과 과거 회귀
- 조건·관측: 세 모델의 과거 baseline은 목표 2초·100초·100초를 모두 넘었다.
Hex8 동적 수정본의 단일 개발 표본도 117.7986225초였다. Refactor의 ShellNL elapsed
회귀 기록은 Native +86.52%·CMake +120.91%이며 원인과 변산이 미확정이다.
- 영향: 최적화 구현 존재와 최종 사용자 시간 목표 달성 사이에 공백이 있다.
- 지금 해결하지 않는 이유: 최신 최종 source의 Release 측정·전체 물리 검증이 필요한 별도 작업이다.
- 다음 접근: 같은 compiler·thread·runtime·전원 조건으로 전체 process 시간을 측정하고
원본 결과·필수 회귀를 함께 대조한다. 과거 보류 후보와 다른 source의 표본을 섞지 않는다.
## PARDISO 1×1 heap failure의 vendor 원인 미확정
- 조건·관측: 1×1 SPD 반복의 heap failure는 SpMV 없는 baseline에서도 재현됐다.
해당 크기에만 local-thread/TLS 회피가 적용돼 있다.
- 영향: 제한된 회피의 성공이 다른 크기·thread 정책·vendor 전체 resource 안전성을 증명하지 않는다.
- 지금 해결하지 못한 이유: vendor 원인이 미확정이며 최소 재현 실행과 backend 조사가 필요하다.
- 다음 접근: 재발 시 backend version·matrix·thread·factor/solve/release 수명을 고정한 최소 재현을
확보한다. 적용 범위를 근거 없이 확대하지 않는다.