LLVM 기반 RISC-V 환경에서 bf16/fp16 자동 벡터화 시의 은폐된 성능 저하
요약
본 논문은 LLVM 기반 RISC-V 환경에서 bf16 및 fp16 같은 저정밀 타입을 자동 벡터화할 때 발생하는 성능 문제를 조사합니다. int8과 fp32는 잘 벡터화되지만, bf16과 fp16은 스칼라 폴백 코드로 저하되는 경향을 보입니다. 특히 특정 타겟 기능 확장 없이는 소프트웨어 변환 호출로 인해 상당한 명령어 증가가 관찰되었습니다.
핵심 포인트
- int8 및 fp32는 깨끗하게 벡터화되나, bf16과 fp16은 스칼라 폴백 위험이 있습니다.
- fp16은 특정 타겟 기능 확장 없이는 소프트웨어 변환 호출로 성능 저하가 발생합니다.
- QEMU 테스트 결과, 기준 대비 bf16 및 fp16 커널에서 높은 동적 명령어 수가 측정되었습니다.
- 컴파일러 진단은 성능 저하를 보고하나, 근본적인 해결책에 대한 명확한 신호를 남기지 못했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기