torch.compile이 복소 텐서를 실수 분해로 받아 신호·복소 신경망 경로를 컴파일 실행에 올립니다 | DAKER 커뮤니티

복소 텐서 컴파일
설명용 생성 이미지입니다.

한 줄 요약
PyTorch 2.14에서 torch.compile이 복소 텐서 프로그램을 실험적으로 받습니다. 지원되는 복소 연산은 실수 연산으로 분해되어 컴파일러 백엔드가 최적화할 수 있고, 신호 처리·복소 신경망처럼 복소 경로가 있는 워크로드를 컴파일 실행에 올려 볼 수 있습니다. 아직 모든 복소 연산이 지원되지는 않습니다.

복소 FFT·필터·복소 가중치 층을 eager로만 돌리던 참가자는, 오늘은 지원되는 연산만 남긴 작은 그래프부터 torch.compile로 감싸 보십시오. 실패하면 어느 연산에서 막혔는지 한 줄로 남기고, 성공하면 eager 대비 스텝 시간만 비교합니다. “전부 된다”보다 “어느 연산까지 통과하는지”가 재현에 도움이 됩니다.

재현해 볼 실험 조건

  1. 작은 복소 텐서 입력으로, 지원이 기대되는 기본 산술·간단한 변환만 포함한 함수를 만듭니다.
  2. 같은 함수를 eager와 torch.compile로 각각 실행해 출력 dtype·shape가 맞는지 확인합니다.
  3. 지원되지 않는 연산이 있으면 오류 지점을 기록하고, 해당 연산을 빼거나 eager로 남긴 뒤 다시 컴파일합니다.

동적 shape 선언(@dynamic_spec)이나 AOTInductor 상수 공유와는 다른 축입니다. 이번 글은 복소 텐서가 컴파일 경로에 들어가는지입니다. 실험이 끝나면 버전·사용한 복소 연산 목록·성공/실패를 고정해 두십시오.

실무에서 바로 볼 포인트

관련 DAKER 학습

설명용 생성 이미지입니다. 동작은 로컬에서 복소 텐서 torch.compile 통과 여부로 확인하십시오.