C로 텐서 라이브러리를 직접 만들어 보자
Tensor Is the Might

텐서는 다차원 데이터를 다루는 강력한 수학적 추상화로, 신경망의 기본 구성 요소입니다. 이 글은 C 언어로 텐서 라이브러리를 처음부터 구축하는 과정을 다룹니다. 메모리 레이아웃과 strides를 이용한 효율적인 인덱싱, 참조 카운팅을 통한 메모리 관리, 그리고 CPU에서 GPU(Metal)로의 연산 확장까지 단계별로 설명합니다. 또한 GPU 커널 작성과 데이터 동기화의 복잡성을 다루며, 행렬 곱셈과 같은 핵심 연산의 구현을 통해 실제 딥러닝 프레임워크의 기초를 이해할 수 있게 해줍니다.
텐서는 숫자의 평평한 배열에 불과하며, 그 숫자들을 다차원 객체로 해석하는 방법을 알려주는 몇 가지 메타데이터가 추가된 것입니다.