Reorg, Upsample, Shortcut은 Shape 계약이 핵심입니다
reorg_cpu는 spatial 정보와 channel을 재배치하고, flatten은 layer 간 layout을 바꿉니다. upsample_cpu는 forward일 때 입력값을 확대된 출력에 더하고, backward 방향에서는 확대 위치의 delta를 원래 입력으로 모읍니다. 둘 다 단순한 “이미지 resize”로 보면 누적 방향을 놓치기 쉽습니다.
shortcut_cpu는 서로 다른 크기의 feature map을 더하기 위해 stride와 sample을 계산합니다. Residual 연결의 두 tensor 크기가 다를 때 어느 위치가 대응하는지 loop와 index로 확인해야 합니다. weighted_sum_cpu와 weighted_delta_cpu는 두 입력을 weight로 섞는 forward와 그 gradient를 담당합니다.
읽는 순서는 기초 배열 primitive, 통계, 정규화, loss, softmax, layout 변환, shortcut 순이 좋습니다. 각 함수의 테스트에는 작은 손계산 배열, INCX/INCY가 1이 아닌 경우, aliasing 여부, += 누적 여부를 포함해야 합니다. 이 파일은 CPU reference 구현을 이해하는 지도이지, 모든 함수를 고성능 표준 BLAS로 치환해도 같다는 보장은 아닙니다.