가이드
실행 모델
TypeNN은 Tensor 그래프와 의미를 소유합니다. TypeShade는 커널 컴파일과 프로그램 실행을 맡습니다.
Tensor 호출은 지연 그래프를 만듭니다
matmul(), add(), relu() 같은 연산은 Shape와 연산 메타데이터가 있는 그래프 노드를 생성합니다. 이 그래프는 TypeShade Shader IR과 별도 계층입니다.
const input = device.tensor(values, { shape: [batch, features] });
const logits = input.matmul(weights).add(bias);
const output = logits.relu();
// 여기에서 그래프 결과를 구체화합니다.
const result = await output.data();결과를 읽을 때 필요한 연산을 실행합니다
data() 호출 시 TypeNN이 의존 그래프를 순회합니다. CPU 계층은 컴파일된 TypeShade 프로그램을 평가합니다. GPU 실행은 입력을 Resident로 준비하고 TypeShade Frame에 프로그램 디스패치를 기록한 다음 제출하며, 요청한 최종 결과만 호스트로 읽어옵니다.
TypeNN
Shape 검사 · 그래프 노드 · 자동 미분 · 실행 순서
TypeShade
Shader IR · Backend 프로그램 · Dispatch · Runtime 자원
백엔드와 제약
계층선택현재 참고사항
CPU자동 폴백 또는 명시TypeShade CPU 계층. 정확도 확인과 폴백에 적합합니다.
WebGPU자동 또는 명시브라우저가 어댑터를 제공하면 GPU compute를 사용합니다.
WebGL2명시제한된 compute lowering이며 실행 성능은 pass와 장치에 따라 다릅니다.
TypeShade Call-layer 설정이 프로세스 전역이어서 JavaScript 컨텍스트마다 TypeNN Device 하나만 활성화할 수 있습니다.
Frame은 퓨전이 아닙니다
Frame은 여러 디스패치를 순서대로 모아 제출할 수 있습니다. 현재 Tensor Executor는 그래프 노드마다 커널을 디스패치합니다. 일반적인 elementwise kernel fusion으로 중간 저장소를 제거하지 않습니다.