다음과 같이 해당 논문의 심각한 문제점들을 번역해 드리겠습니다:


이 논문에는 몇 가지 심각한 문제가 있는 것으로 보입니다: 계산된 커널들의 실제 검증이 이루어지지 않았으며, 일부 커널이 "더 빠른" 것처럼 보이는 이유는 단순히 제대로 작동하지 않기 때문입니다.


https://pub.sakana.ai의 특정 예시 (현재는 삭제됨)를 그들의 초록에서 "최적화"의 대표적인 사례로 언급했습니다.


수정: 안타깝게도 Sakana에서 자신들의 실수를 드러내는 페이지들을 삭제하기 시작한 것으로 보입니다. 위의 링크는 현재 작동하지 않습니다.


이 커널의 명백한 오류는 실행 구성이 잘못되어 좌측 상단의 원소만 계산한다는 점입니다:


```cpp

const int threadsPerBlock = 256; // 블록당 스레드 수 증가

const int numBlocks = N;

triangular_mm_kernel<<<numBlocks, threadsPerBlock>>>(

    A.data_ptr<float>(), B.data_ptr<float>(), C.data_ptr<float>(), N

);

```


코드를 살펴보면, 이 커널은 x와 y 차원 모두에 대해 2차원 블록 크기가 필요합니다. 1차원 블록 크기만 지정함으로써 최상단 행만 계산되고 행렬의 대부분이 건너뛰어집니다.


직접 제 컴퓨터에서 이 커널을 실행해 보았고, 실제로 좌측 상단 모서리만 계산된다는 것을 확인했습니다.


그들이 주장하는 속도 향상은 단순히 정답을 제대로 계산하지 않은 결과입니다!



https://www.reddit.com/r/MachineLearning/comments/1itqrgl/p_sakana_ai_released_cuda_ai_engineer/