화웨이는 2026년 8월 1일 열린 HyperAI 제9회 Meet AI Compiler 기술 살롱에서 BiSheng 컴파일러 기반인 MLIR 기반 AscendNPU IR의 공개와 기술 방향을 소개했다. HFusion은 상대적으로 하드웨어 독립적인 융합·타일링·스케줄링을, HIVM은 Cube·Vector 코어 매핑과 온칩 메모리·동기화·파이프라인 최적화를 담당한다.
연구 답변

Create a landscape editorial hero image for this Studio Global article: What did Huawei AscendNPU IR architect Hai Lijuan present at HyperAI’s ninth Meet AI Compiler technical salon on August 1, 2026, and how doe. Article summary: Hai Lijuan’s August 1 salon talk, “AscendNPU IR: open compiler foundation supporting multi-language access to Ascend,” presented the newly open-sourced MLIR compiler layer beneath BiSheng and its path for bringing Triton. Topic tags: general, general web, user generated. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts with fa
화웨이가 BiSheng 컴파일러의 핵심 구성요소인 AscendNPU IR을 오픈소스로 공개했다. AscendNPU IR은 최종 사용자가 직접 쓰는 또 하나의 프로그래밍 언어라기보다, Triton·TileLang 같은 DSL과 각종 프레임워크 입력을昇腾(Ascend) NPU용 코드로 낮추는 **MLIR 기반 중간 표현(IR)**이다. 화웨이 AscendNPU IR 아키텍트 하이리쥐안(海丽娟)은 2026년 8월 1일 베이징 중관춘에서 열린 HyperAI 제9회 Meet AI Compiler 기술 살롱에서 이 구조와 최신 기술 방향을 소개했다. 3
7
핵심은 상위 프런트엔드가 하드웨어의 모든 세부사항을 직접 처리하지 않아도 되도록 공통 컴파일 기반을 제공하는 데 있다. 개발자는 타일 단위의 계산을 표현하고, 컴파일러는 이를 바탕으로 데이터 이동, 온칩 메모리 배치, Cube·Vector 연산 자원, 동기화와 파이프라인을 조정해昇腾 디바이스 바이너리로 변환한다. AscendNPU IR은 상위 입력과 하위 하드웨어 사이에서 여러 수준의 추상화를 제공하며, LLVM IR을 거쳐昇腾 바이너리로 내려가는 경로도 지원한다. 1
4
AscendNPU IR은 MLIR을 기반으로昇腾 친화적 연산자를 컴파일하기 위한 중간 표현이다. 높은 수준에서는 명령어와 동기화의 세부사항을 감추고 텐서 연산을 다룰 수 있으며, 낮은 수준에서는 온칩 메모리 주소, 파이프라인 동기화 지점, 버퍼링 방식 등을 세밀하게 제어할 수 있다. 4
11
입력 경로도 하나로 제한되지 않는다. Triton과 TileLang 같은 DSL은 AscendNPU IR로 내려갈 수 있고, 프레임워크 및 컴파일러 입력은 Torch IR, Linalg/HFusion IR, HIVM IR 등 여러 단계에서 연결할 수 있다. HFusion 수준에서는 연산 융합과 분할, 타일링, 스케줄링을 자동화할 수 있으며, HIVM에서는昇腾의 저장 계층과 계산 파이프라인을 더 직접적으로 제어한다. 5
22
전체 흐름을 단순화하면 다음과 같다.
Triton·TileLang 또는 프레임워크 IR
↓
MLIR 기반 AscendNPU IR
↓
HFusion → HIVM 하강
↓
昇腾 디바이스 명령어·바이너리
공개 문서에 따르면 bishengir-compile을 사용해 MLIR을 디바이스용 객체 파일로 컴파일한 뒤, CANN 런타임에 연산자를 등록하고 실제 NPU에서 실행할 수 있다. 6
타일(tile)은 텐서 데이터와 계산을 다루기 쉬운 크기의 블록으로 나눈 단위다. 전통적으로 하드웨어별 커널 개발자는 각 데이터 이동, 메모리 계층 선택, 동기화 지점, 명령어 발행을 직접 설계해야 했다. AscendNPU IR은 이 복잡한 작업을 공통 타일 중심 표현으로 묶는다.
상위 수준에서는 개발자가 모든 하드웨어 세부사항을 지정하지 않고도 텐서 연산을 표현할 수 있다. 반대로 성능 조정이 필요한 경우에는 GM, UB, L1, L0 같은 저장 계층과 Vector·Cube·MTE 자원, 파이프라인 동작을 더 낮은 수준에서 제어할 수 있다. 5
22
즉, 이 구조는 이식성과 세밀한 튜닝 사이의 절충안이다. Triton이나 프레임워크 코드는 공통 컴파일 기반을 겨냥할 수 있고, 특정 연산에서 최고 성능이 필요할 때는 하드웨어 인지도가 높은 표현까지 내려갈 수 있다. 공식 아키텍처 문서는 이러한 계층을昇腾 명령어, 코어 내부 자원, 코어 간 자원, 시스템온칩(SoC) 자원을 단계적으로 모델링하는 분리된 추상화로 설명한다. 11
HFusion은 두 핵심 계층 가운데 상대적으로 하드웨어 독립적인 층이다. 텐서 연산을 높은 수준에서 표현하고, 연산 융합, 버퍼화, 타일링, 스케줄링 등의 변환을 수행한다. 11
22
예를 들어 여러 연산을 하나로 합치고, 전체 계산을 실행 가능한 타일로 나누며, 데이터 재사용과 실행 순서를 조정할 수 있다. 이 단계에서는 높은 수준의 연산 의미를 최대한 유지하면서도 이후昇腾 전용 하강을 준비한다.
HIVM은 하드웨어 의존적인 계층이다. 타일 표현을昇腾의 실행 유닛과 저장 계층, 파이프라인 동작에 맞는 연산으로 변환한다. 주요 역할은 다음과 같다.
이렇게 계층을 나누면 HFusion은 전체 텐서 구조와 융합 기회를 살피고, HIVM은 각 타일에 필요한 실제 메모리·계산·통신 자원을 판단할 수 있다.
HFusion과 HIVM의 큰 구분은 유지되지만, Ascend 950을 겨냥한 HIVM은 기존 메모리 기반 SIMD 경로를 넘어 레지스터 기반 SIMD와 SIMT까지 다뤄야 한다. 2
레지스터 기반 SIMD에서는 온칩 메모리의 데이터를 레지스터로 가져와 계산한 뒤 다시 저장한다. 연산이 허용하는 경우 여러 중간값을 레지스터에 유지하는 레지스터 단위 융합도 가능해져 반복적인 로드·스토어를 줄일 수 있다. 2
SIMT는 메모리 접근이 불규칙하거나 실행 경로가 갈라지는 연산의 일부를 처리하는 또 다른 방식이다. 설명된 구조에서는 SIMT에 적합한 부분과 조밀하고 SIMD에 적합한 부분을 분리해 각각 알맞은 변환을 적용한 뒤, 전체 벡터 계산으로 다시 결합한다. 2
Cube와 Vector 사이의 데이터 교환도 달라진다. A2/A3의 일부 경로에서는 두 실행 영역 사이를 오갈 때 글로벌 메모리를 사용했지만, Ascend 950에서는 지원되는 경우 Cube 결과를 L0C에서 Vector 온칩 메모리로 옮기고 Vector 결과를 다시 Cube 메모리로 전달하는 더 짧은 경로를 사용할 수 있다. 2
행렬 중심의 Cube 계산 뒤에 벡터 처리가 이어지는 연산에서는 이 차이가 중요하다. 다만 Cube와 Vector 연산이 서로 다른 제어 흐름 분기에 놓일 수 있기 때문에, 컴파일러가 텐서의 위치와 데이터 이동 시점을 정확히 추론해야 한다.
InsertCVLoadStore강화된 InsertCVLoadStore 흐름은 단순한 지역 패턴 매칭을 넘어 복잡한 제어 흐름 전체에서 Cube–Vector 통신을 분석한다. 예를 들어 행렬 입력은 L1, 행렬 출력은 L0C, 벡터 데이터는 UB에 둔다는 식으로 메모리 위치의 기준점을 먼저 설정한다. 이후 이 제약을 프로그램 전체에 전파하고, 서로 다른 메모리 영역이 충돌하는 지점에 변환이나 복사를 삽입한다. 2
A2/A3에서는 설명된 일부 교차 경로가 글로벌 메모리 로드·스토어에 의존하지만, Ascend 950에서는 지원되는 경우 더 직접적인 온칩 경로를 사용할 수 있다. 2
MultiBufferMultiBuffer는 기존 텐서의 복사본을 여러 개 만드는 기능이다. 메모리 예산과 스케줄이 허용하면 핑퐁 버퍼링을 구성해 데이터 이동과 계산을 겹쳐 실행하는 데 활용할 수 있다. 17
18
AutoBlockify와 DynamicCVPipelineAutoBlockify와 DynamicCVPipeline은 Triton-Ascend 컴파일러 스택에 포함된昇腾 전용 패스다. 이름 그대로 전자는 계산을 실행 가능한 블록으로 나누고, 후자는 Cube–Vector 파이프라인 동작을 구성하는 역할을 한다. 문서에는 자동 메모리 계획, 동기화, 스케줄링, Cube–Vector 최적화도 주요 기능으로 제시돼 있다. 19
24
발표에서는 관련昇腾 구성에서 Cube 코어 하나와 Vector 코어 두 개가 대응하는 구조도 설명됐다. AutoSubTiling은 Vector 작업을 나눠 두 Vector 코어가 서로 다른 부분을 동시에 처리하도록 할 수 있다. 2
14
화웨이는 AscendNPU IR과 Triton-Ascend를 커뮤니티 공동 개발을 위해 공개했다. Triton-Ascend는 Triton의 핵심 문법을 유지하면서昇腾 A2, A3, 950 시리즈에 맞춘 컴파일과 배포 기능을 추가한 프레임워크다. 30
37
이번 공개로 개발자는 전체 컴파일러를 처음부터 구축하지 않고도 컴파일러 패스, 프런트엔드 통합, 연산자 하강, 하드웨어 인지 최적화에 참여할 수 있는 경로를 얻게 된다. 공개된 커뮤니티 프로그램에는 저장소와 연결된 인턴십 및 과제형 보상 프로그램이 포함돼 있으며, 개발자는 규정에 따라 목록에 있는 과제를 선택해 완료한 뒤 제출할 수 있다. 31
昇腾 장비가 없는 개발자는 커뮤니티 클라우드 환경인 HiDevLab을 이용할 수 있다. 공개된 보도에 따르면 가입 후 100시간의 무료 컴퓨팅 시간이 제공되지만, 자격 요건·본인 인증·사용 기한·지역별 이용 가능 여부의 세부 조건은 확인되지 않았으므로 등록 시 최신 안내를 확인해야 한다. 31
AscendNPU IR의 가장 큰 의미는 아키텍처에 있다. Triton, TileLang, 프레임워크 IR이 상위 추상화에서 들어오고, HFusion이 폭넓은 융합·분할·스케줄링을 수행한 뒤, HIVM이 타일을昇腾의 메모리·코어·통신·파이프라인 결정으로 낮춘다. 이를 통해 다양한 프런트엔드가 하나의 컴파일 기반을 공유하면서도 필요할 때 하드웨어 수준의 성능 조정에 접근할 수 있다. 5
11
Ascend 950은 레지스터 기반 SIMD, SIMT, 더 가까워진 Cube–Vector 데이터 경로를 추가해 최적화의 여지를 넓힌다. 다만 실제 성능 향상은 연산 형태, 메모리 압박, 제어 흐름, 컴파일러 성숙도, 목표 칩에 따라 달라진다. 오픈소스 스택은 이러한 선택과 한계를 더 투명하게 살펴볼 수 있게 하며, 컴파일러와 연산자 개발자가 직접 개선에 참여할 수 있는 기반을 제공한다.
Studio Global AI
이 페이지에는 Studio Global 내에서 계속할 수 있는 소스 기반 답변이 포함되어 있습니다.
화웨이는 2026년 8월 1일 열린 HyperAI 제9회 Meet AI Compiler 기술 살롱에서 BiSheng 컴파일러 기반인 MLIR 기반 AscendNPU IR의 공개와 기술 방향을 소개했다.
화웨이는 2026년 8월 1일 열린 HyperAI 제9회 Meet AI Compiler 기술 살롱에서 BiSheng 컴파일러 기반인 MLIR 기반 AscendNPU IR의 공개와 기술 방향을 소개했다. HFusion은 상대적으로 하드웨어 독립적인 융합·타일링·스케줄링을, HIVM은 Cube·Vector 코어 매핑과 온칩 메모리·동기화·파이프라인 최적화를 담당한다.
Ascend 950에서는 레지스터 기반 SIMD, SIMT, 더욱 직접적인 Cube–Vector 온칩 데이터 교환이 지원되며, 복잡한 제어 흐름을 분석하는 InsertCVLoadStore도 강화됐다.