모니터링 기간: 2026-11-05 04:30 ~ 2026-11-06 04:30 (베이징 시간, 지난 24시간; 이전 회차 11-05 04:30 마감 시점과 연속됨).

출처: GitHub 주요 저장소 및 조직 푸시 점검(RuyiAI-Stack, ruyisdk, openRuyi-Project, buddy-compiler, 저장소별로 모니터링 기간 내 커밋, PR, Release와 태그를 확인하고 브랜치 단위 atom 보완; 업스트림 fork는 RISC-V / RVV / XuanTie 키워드로 필터링), ruyi 패키지 매니저 Release, packages-index, openRuyi 패키징 저장소 SPECS 및 병합 PR, RuyiSDK 개발자 커뮤니티 포럼, ruyisdk 위챗 아티클 저장소(격주 진행 080호), ruyiai-daily 데일리 인텔리전스 아카이브, RuyiAI 공식 홈페이지 3개 페이지 스냅샷, openRuyi 배포판 뉴스 페이지, Google News RSS 중영문 방향성 검색(프록시 경유), arXiv 검색.


이번 호 인덱스

  • 오늘의 핵심: triton-riscv가 Triton 3.9.0 플러그인화 개편에 병합, 패치 세트 제로화, 독립 배포 패키지 퇴장 (11-05)
    1. RuyiAI 스택 진행 (PyTorch / Triton / TileLang RISC-V 적응)
      • 1.1 triton-riscv: 빌드 진입점이 Makefile로 수렴, 백엔드가 플러그인 디렉터리로 Triton 패키지에 설치됨 (11-05)
      • 1.2 triton-riscv: 릴리스 주기가 일일 nightly, 주말 release로 변경, pytest 동시성 16으로 고정 (11-05)
      • 1.3 triton-riscv: stable ABI wheel이 3.12~3.15 지원, manylinux 툴체인 탐지 수정 (11-05)
      • 1.4 pytorch: riscv 브랜치 커밋 없음, main 55건 업스트림 동기화에 RISC-V 항목 없음 (11-06 상태)
      • 1.5 tilelang-riscv 및 llvm-project: 모니터링 기간 내 커밋 없음, LLVM 최신은 여전히 11-04 (11-06 상태)
    1. RuyiSDK 툴체인 및 배포판
      • 2.1 openRuyi: LibreOffice 패키징 1/n 및 2/n 병합, 하루 41건 커밋 (11-05)
      • 2.2 openRuyi: libvirt 12.9.0 보안 업데이트, util-linux 2.42.4, gnupg scdaemon 분리 (11-05)
      • 2.3 ruyi: 0.54가 11월 11일 전후로 확정, 메인 저장소 커밋 없음, 드래프트 수정 3건 미승격 (11-05)
      • 2.4 packages-index 커밋 없음, 소프트웨어 소스에 K1/K3 툴체인 추가, 10월 월간 버전 여전히 부재 (11-06 상태)
      • 2.5 OpenJDK: JEP 544 AOT 포팅 테스트 통과 및 JDK 메인라인 병합 (11-05)
    1. 벡터 확장 및 연산자 최적화
      • 3.1 LLVM: P-ext 및 XTHeadBb 업스트림 PR 6건 병합, Ztt 행렬 확장 v0.6 초판 적용 (11-05)
      • 3.2 GCC: Zba/Zbs/Zbkb 3개 최적화 메인라인 진입, SPEC CPU 2026 평가 준비 착수 (11-05)
      • 3.3 V8: 스칼라 이동 시 벡터 테일 유지, VLEN=1024 허용 등 6건 패치 (11-05)
      • 3.4 VecIntrinBench, IntrinTrans, FBGEMM 세 저장소 계속 정숙 (11-06 상태)
    1. Buddy Compiler 동향
      • 4.1 runtime에 공유 serving 생성 컨트롤러 추가, 디바이스 측 워드 추출 지원 (11-05)
      • 4.2 VIR 확장 가능 벡터 lowering 패치: 브로드캐스트를 vector<[2]xT>로 변경, 커널은 llc 옵션에 따라 다운그레이드 (11-05)
      • 4.3 나이틀리 버전 0.1.4.dev20261105로 진행 (11-05)
    1. 커뮤니티 및 활동 및 공식 홈페이지
      • 5.1 격주 진행 080호 정고: 전체 섹션 병합, 권두언 및 공식 문서 두 섹션 여전히 공백 (11-05)
      • 5.2 공식 홈페이지 3개 페이지 변화 없음, 블로그 2편, 문서 23장 (11-06 상태)
      • 5.3 포럼 모니터링 기간 내 신규 게시물 없음, 최신은 여전히 11-03의 ruyi 설치 가이드 (11-06 상태)
      • 5.4 ruyiai-daily 11-05 호 아카이브, 6개 섹션에 PyTorch 및 RISC-V 핵심 뉴스 포함 (11-05)
      • 5.5 외부 뉴스 6개 그룹 검색 제로 히트, arXiv 모니터링 기간 내 신규 논문 없음 (11-06 상태)
    1. 트렌드 관찰
      • 6.1 유지보수 브랜치에서 업스트림 기생으로: 플러그인화가 패치 비용을 버전 결속으로 전환
      • 6.2 패키징 측 데스크톱 오피스 보완과 AI 스택의 정숙한 병행
      • 6.3 080호의 증분은 컴파일러와 런타임에 있으며 애플리케이션 계층 프런트엔드가 아님

오늘의 핵심: triton-riscv가 Triton 3.9.0 플러그인화 개편에 병합, 패치 세트 제로화, 독립 배포 패키지 퇴장 (11-05)

날짜: 2026-11-05 출처: PR #98, 커밋 목록, PR #92

11-05 11:13(베이징 시간), trdthg의 PR #98 「Bump Triton to main (3.9.0)」이 머지되었다: 커밋 5건, 파일 66개, 1806줄 추가, 3868줄 삭제. 삭제량이 추가량의 약 두 배라는 점이 이번 개편의 성격을 규정한다. 즉 기존 브랜치 위에 패치를 한 겹 더 얹는 것이 아니라, 패치를 적용하는 방식 자체를 통째로 삭제한 것이다.

첫 번째 변화는 백엔드 형태다. Triton의 TRITON_PLUGIN_DIRS 메커니즘이 backend/를 triton_shared 백엔드 플러그인으로 설치하고, 진입점을 등록하며, C++ 플러그인을 libtriton.so에 연결하고, triton-shared-opt까지 패키지에 함께 복사한다. 독립적인 triton-riscv 배포 패키지는 이에 따라 사라졌고, 코드 내 임포트는 일괄적으로 이 플러그인 이름을 사용하도록 변경되었다. 백엔드 자체는 paths.py를 통해 buddy-opt, buddy-llc, mir-translate, triton-shared-opt를 찾도록 바뀌었다. CPU 드라이버는 GPU 백엔드가 전혀 없을 때만 활성 상태가 된다고 선언한다.

두 번째 변화는 패치 집합의 소거다. patches/ 디렉터리와 패치 적용 스크립트가 모두 삭제되었다. 패치 집합이 존재했던 이유는 두 가지였다. NVIDIA/AMD 툴체인이 없는 환경에서 Triton을 빌드하는 것, 그리고 LLVM API의 잦은 변경을 흡수하는 것. 이제 buddy-mlir의 LLVM 배포판이 NVPTX/AMDGPU 타깃과 lld를 포함하고, Triton의 GPU 의존 경로를 stub 디렉터리로 돌리면 되므로 두 이유 모두 성립하지 않게 되어 패치 집합도 존재 가치가 없어졌다.

세 번째 변화는 패키징 경로의 통합이다. release.sh는 더 이상 두 번째 wheel을 조립하지 않는다. Triton의 플러그인 지원이 이미 백엔드와 triton-shared-opt를 Triton의 wheel에 넣었으므로, 스크립트는 도구만 걷어내고 바로 bdist_wheel을 실행한다. Makefile은 setup, build, test, lit, clean의 통합 진입점이 되었고, test는 lit에 의존한다.

대가는 같은 PR의 커밋 설명에 적혀 있다. Triton 3.9의 프런트엔드는 백엔드에서 backend_name 등의 필드를 읽는데, 이것이 없으면 모든 tl.atomic_* 호출이 AttributeError를 던져 riscv64에서 FlagGems 테스트 케이스 383개가 실패한다. 이번에 backend_name, default_dot_input_precision, deprecated_fp8_dot_operand_dtypes 세 필드를 보충하면서 실패 범위가 줄었다. 예제 쪽에서도 양보가 있었다. 업스트림이 asin/acos/atan/atan2의 프런트엔드 패치를 거부하여, 예제는 libdevice를 사용하도록 변경했고, 이를 통해 동일한 __nv_* extern_elementwise로 내려간 뒤 triton-shared가 MLIR math 연산자로 변환한다.

같은 경로상의 PR #92 「Rebase integration onto the official Triton v3.8.0 release」는 당일 미머지 상태로 종료되었다. 지난 호에 기록된 두 노선 간의 다툼(#92는 안정적인 3.8.0, #98은 3.9.0 메인라인 추종)은 이로써 후자로 수렴되었다.


1. RuyiAI 스택 진행 상황(PyTorch / Triton / TileLang RISC-V 적응)

1.1 triton-riscv: 빌드 진입점이 Makefile로 수렴, 백엔드는 플러그인 디렉터리 방식으로 Triton 패키지에 설치(11-05)

날짜: 2026-11-05 출처: 커밋 목록, PR #98

플러그인화 이후 백엔드의 Triton 패키지 내 임포트 경로는 triton.backends.triton_shared다. 이 체계의 설치 범위는 이전보다 좁아졌다. 더 이상 두 개의 배포 패키지가 없고, 옆에 buddy-mlir 체크아웃이 있다고 가정하지도 않는다. 문서에서 “두 패키지”에 관한 서술, 패치 단계, 동일 레벨 체크아웃 가정이 모두 삭제되었고, setup.py의 shutil.which("lit")는 LLVM 배포판에 딸린 것이 아니라 pip로 설치된 lit 콘솔 스크립트를 우선적으로 가져온다. 후자는 main() 호출 시 if __name__ == "__main__" 보호가 없는데, Python 3.14의 forkserver 멀티프로세스가 메인 모듈을 임포트할 때 이를 다시 실행하므로 lit 타깃이 동시성 80에서 실패한다.

백엔드에서 로컬 도구 경로를 찾는 방식도 변경되었다: buddy-opt, buddy-llc, mir-translate, triton-shared-opt는 모두 paths.py에서 통합적으로 해석된다. CPU 드라이버의 활성 판정은 “GPU 백엔드가 존재하지 않음”이며, 이는 이전에 환경 변수로 판단하던 방식과 다르기 때문에 다중 백엔드가 공존하는 머신에서 동작이 더 예측 가능하다.

1.2 triton-riscv: 릴리스 주기를 매일 nightly, 주말 release로 변경, pytest 병렬 처리 16으로 고정 (11-05)

날짜: 2026-11-05 출처: PR #99, Release 목록

PR #99는 릴리스 주기를 buddy-mlir와 맞춘다: 야간 작업은 nightly/<date>-<sha> 프리릴리스를 발행하고, 주말 작업은 release/<date>-<sha>를 발행하며 최신 버전으로 표시한다; 새로운 커밋이 없으면 건너뛰고, release는 모든 wheel 업로드가 완료되기 전까지 초안 상태를 유지하며, workflow_dispatch는 일회성 dev/patch 선택을 제공한다. 당일 두 건의 야간 버전이 이 주기에 따라 산출되었다: nightly/20261105-48bde12(19:50)와 nightly/20261105-849a180(22:48).

테스트 측면에서는 pytest 스위트를 16개 프로세스로 변경했다. 이 숫자를 선택한 데에는 실측 근거가 있다: 207개 테스트 케이스 슬라이스에서 1개 프로세스 360초, 8개 프로세스 89초, 16개 프로세스 67초, 24개 프로세스 67초였으며, 32와 64는 오히려 더 느렸다 — 단일 테스트 케이스는 “컴파일, triton-shared-opt, llc, 실행, 비교”의 직렬 체인이므로 프로세스가 더 많아지면 공유 컴파일 캐시를 두고 경쟁한다. 이전에 직렬로 실행할 때 flaggems 스위트는 1시간 14분이 걸렸다. setup.sh는 pytest-xdist를 설치하며, PYTEST_WORKERS로 재정의할 수 있다.

1.3 triton-riscv: stable ABI wheel이 3.12부터 3.15까지 지원, manylinux 툴체인 탐지 수정 (11-05)

날짜: 2026-11-05 출처: PR #100, PR #101

PR #100은 업스트림 Triton의 cp312-abi3 방식을 따라 wheel을 빌드한다: scripts/env.sh와 scripts/release.sh에서 TRITON_STABLE_ABI=ON을 설정하고, 제한 API(Py_LIMITED_API=0x030C0000)로 nanobind를 컴파일하며, setup.py는 wheel을 cp312-abi3로 표시한다. 하나의 wheel이 3.12 이후의 모든 인터프리터(3.12/3.13/3.14/3.15)를 지원하므로 릴리스 매트릭스가 세 개의 Python에서 하나로 줄어든다. 소스는 패치되지 않은 상태로 유지된다 — 업스트림 자체가 이 스위치를 제공하기 때문이다.

같은 브랜치에서 두 가지 빌드 스크립트 문제도 수정되었다. 첫째, release.sh가 /opt/rh/gcc-toolset-14/enable을 하드코딩하고 dnf install clang 이전에 이를 검사했는데, manylinux 이미지는 롤링 업데이트되는 :latest로서 당시 이미 gcc-toolset-15를 포함하고 있어 활성화 스크립트가 전혀 실행되지 않았고, 그 결과 clang이 crtbeginS.o, -lstdc++, -lgcc(riscv64)와 libstdc++의 <version> 헤더(x64)를 찾지 못해 두 아키텍처 모두 빌드에 실패했다; 이제는 먼저 clang을 설치한 후 존재 여부에 따라 모든 툴체인을 활성화하며, 최신 것을 마지막에 둔다. 둘째, abi3 wheel이 하나만 있게 되면서 매트릭스의 python: ["3.12", "3.13", "3.14"]는 동일한 wheel을 세 번 중복 빌드하게 된다. PR #101은 당일 제출되었으나 아직 병합되지 않았으며, 릴리스 워크플로가 체크아웃 정리 단계에서 실패하는 문제를 처리한다.

1.4 pytorch: riscv 브랜치 커밋 없음, main 55건 업스트림 동기화에 RISC-V 항목 없음 (11-06 상태)

날짜: 2026-11-06(상태) 출처: riscv 브랜치 커밋 목록, main 브랜치 커밋 목록

riscv 브랜치 모니터링 기간 내 커밋 없음, 헤드 커밋은 여전히 11-04 03:00(베이징 시간)의 [SyncBots] Integrate PyTorch at 3afdbd3입니다. main 브랜치 모니터링 기간 내 55건의 업스트림 동기화가 있었으며, 항목별로 확인한 결과 RISC-V 또는 RVV 관련 변경은 없었고 내용은 XPU/oneDNN, CUDA 컴포넌트 로딩, Mooncake 전송 및 ROCm 폴백에 집중되었습니다.

1.5 tilelang-riscv와 llvm-project: 모니터링 기간 내 커밋 없음, LLVM 최신은 여전히 11-04 (11-06 상태)

날짜: 2026-11-06 (상태) 출처: tilelang-riscv 커밋 목록, llvm-project riscv 브랜치

tilelang-riscv 메인 브랜치는 커밋 없음, 헤드 커밋은 11-03 06:13 UTC에 멈춰 있습니다. 열린 PR은 여전히 #4(RVV 마스크 및 최대 리덕션)와 #2입니다. llvm-project의 riscv 브랜치는 모니터링 기간 내 커밋 없음, 헤드 커밋은 여전히 이전 호에 중점 기록된 11-04 15:40(베이징 시간) BOSCAME 커밋입니다. main 브랜치 최신은 11-02 14:48 UTC에 멈춰 있습니다. 즉, 이번 호 RuyiAI 스택의 커밋은 모두 triton-riscv 한 저장소에 집중되었습니다.


2. RuyiSDK 툴체인과 배포판

2.1 openRuyi: LibreOffice 패키징 1/n과 2/n 머지, 하루 41건 커밋 (11-05)

날짜: 2026-11-05 출처: 커밋 목록, PR #1595, PR #1596

openRuyi 패키징 저장소는 모니터링 기간 내 41건의 커밋이 있었으며, 그중 37건이 LibreOffice 의존성 체인에 속하며 두 차례에 나누어 머지되었습니다.

첫 번째 배치 PR #1595(1/n, 25개 파일, 1383줄 추가)는 한 번에 21개 패키지를 추가했습니다: librevenge와 그 위의 문서 가져오기 필터 일괄, WordPerfect(libwpd, libwps), Visio(libvisio), Publisher(libmspub), PageMaker(libpagemaker), QuarkXPress(libqxp), Zoner Draw(libzmf), StarOffice 및 구버전 Office 바이너리 형식(libstaroffice, libmwaw, libe-book)을 포함하며, 스프레드시트 가져오기용 liborcus, Writer의 EPUB 내보내기 libepubgen, OpenDocument 생성기 libodfgen, 폰트 임베딩 파싱 libeot의 지원 라이브러리 libetonyek, 태그 언어 liblangtag 및 기반 컨테이너 mdds도 포함됩니다.

두 번째 배치 PR #1596(2/n, 17개 파일, 4633줄 추가)는 폰트 툴체인을 보충했습니다: Draw가 PDF 가져오기 시 AFDKO의 tx와 makeotf로 임베디드 폰트를 재구성하므로, python-afdko 및 그 의존성(defcon, fontparts, fontpens, ufoprocessor, ufonormalizer, mutatormath, zopfli의 Python 바인딩)과 antlr4-cpp-runtime, libeot를 함께 패키징했습니다. 같은 배치에는 python-tmt 1.80.0, python-testcloud 0.12.0, python-pbr, python-munch, python-fedora-distro-aliases 업데이트도 있습니다.

이 체인은 아직 완료되지 않았습니다. PR #1600(4/n, 14개 파일, 1094줄 추가)은 Base 컴포넌트용 Firebird 및 그 파서 생성기 btyacc, 인터페이스 생성기 cloop를 패키징하며 아직 검토 중입니다. PR #1602(6/n, 16개 파일, 1360줄 추가)는 PDFium, ZXing, SANE 및 Box2D를 보충하며 아직 검토 중입니다. PR #1603(7/n, 47개 파일, 3342줄 추가)은 Pentaho, HSQLDB 1.8, BeanShell 및 JavaScript 엔진을 포함하며 이미 닫혀 머지되지 않았습니다. PR #1595의 설명에는 AI 지원 기여(Assisted-by: GPT-6-Astra xhigh)가 표기되어 있으며, 이는 openRuyi의 AI 기여 정책 요구 사항과 일치합니다.

2.2 openRuyi: libvirt 12.9.0 보안 업데이트, util-linux 2.42.4, gnupg scdaemon 분리 (11-05)

날짜: 2026-11-05 출처: libvirt 12.9.0, util-linux 2.42.4, gnupg 분리

LibreOffice 외에 일상적인 커밋 네 건: libvirt가 12.9.0으로 올라가고 security-fixes가 표기됨; util-linux가 2.42.4로 상승; clang-wrap이 20261105로 상승; gnupg가 scdaemon을 독립 하위 패키지로 분리하여 스마트 카드 및 하드웨어 키 시나리오의 의존성을 줄임. 보안 측의 나머지 세 PR은 여전히 검토 중: #1580, #1581, #1582는 각각 여러 패키지의 취약점 백포트, 모델 관련 패키지 및 네트워크 관련 패키지의 보안 수정을 처리함.

2.3 ruyi: 0.54, 11월 11일 전후로 확정, 메인 저장소 커밋 없음, 초안 수정 세 건 정식 반영 안 됨 (11-05)

날짜: 2026-11-05 출처: 080기 원고, ruyi 공개 PR, ruyi Release

080기는 명확한 시점을 제시: RuyiSDK 0.54는 11월 11일 전후로 릴리스되며, 패키지 관리자 버전도 0.54.0임. 해당 버전의 첫 번째 주요 포인트는 소프트웨어 패키지와 현재 시스템의 ABI 호환성 검사이며, C 런타임이 glibc 또는 musl인 모든 Linux 배포판을 최초 지원함; 다음으로, 다운로드 요청이 non-2xx 상태 코드를 반환할 때 이제 올바르게 실패로 판정되며, 다운로드 실패 문제 해결 가이드에 서버 문제와 단말 네트워크 환경 두 가지 요인이 추가됨. 엔지니어링 측에서는 의존성 버전을 업데이트했으며, 10월 이후 TLS 인증서 관련 보안 수정을 포함함; pygit2가 아직 Python 3.15에 적응하지 못했기 때문에 CI는 당분간 3.15를 사용하지 않음.

메인 저장소는 당일 커밋 없음, 릴리스 없음, 최신 프리릴리스는 여전히 11-02의 0.54.0-beta.20261102이며, 정식 버전은 여전히 09-24의 0.53.0임. 11-04에 열린 수정 PR 세 건(#511 상대 XDG 기본 디렉터리 무시, #513 매니페스트 끝부분 빈 테이블 처리, #515 config get이 repo.disabled를 노출하도록 함)은 지금까지 초안 상태이며 정식 반영되지 않음.

2.4 packages-index 커밋 없음, 소프트웨어 소스에 K1/K3 툴체인 추가, 10월 월간 버전 여전히 부재 (11-06 상태)

날짜: 2026-11-06 (상태) 출처: packages-index 커밋 목록, PR #231, openRuyi 뉴스 페이지

packages-index는 모니터링 기간 내 커밋 없음, 최신 커밋은 11-02에 정지; 유일한 공개 PR #231(openwrt-sifive-unmatched 버전 25.12.6으로 상승)은 10-29 이후 움직임 없음. 080기는 이번 기간 소프트웨어 소스의 실질적 변화로 toolchain/gnu-ruyisdk에 SpacemiT K1/K3 대상 툴체인 적응이 추가되었으며 일부 소프트웨어 패키지에 ABI 호환성 정보가 보완되었음을 공개함.

openRuyi 뉴스 페이지의 월간 릴리스는 여전히 2026.09(09-30 릴리스)에 정지, 2026.10 월간 버전은 계속 부재; 10-19의 두 공지 이후 새로운 항목 없음.

2.5 OpenJDK: JEP 544 AOT 이식 테스트 통과 및 JDK 메인라인 병합 (11-05)

날짜: 2026-11-05 출처: 080기 원고, JDK PR #32311, JEP 544

080호에 기록된 최대 단일 항목은 JEP 544(Ahead-of-Time Code Compilation)의 RISC-V 플랫폼 이식이다. 기능 테스트 통과, 성능 이익은 예상에 부합하며, 이미 JDK 메인라인에 머지되었다(PR #32311, 8390102 Support AOT Code Cache). 같은 기간에 검토 및 메인라인 머지된 PR은 총 아홉 건으로, C1의 상위 범용 레지스터 활성화(#32496), Zbc 확장을 이용한 CRC32C intrinsic 구현(#32061), 논리 우측 시프트와 마스크 조합을 시프트 쌍으로 변경(#32046), C2 포인터 상수를 movptr2로 변경(#32629) 등을 포함한다. LTS 측에서는 string_indexof_char intrinsic의 범위 초과 읽기 수정을 25u, 21u, 17u 세 라인에 백포트했다.


3. 벡터 확장 및 연산자 최적화

3.1 LLVM: P-ext 및 XTHeadBb 업스트림 PR 6건 머지, Ztt 매트릭스 확장 v0.6 초판 적용(11-05)

날짜: 2026-11-05 출처: 080호 원고, LLVM PR 235306, LLVM PR 237815

080호에 나열된 업스트림 머지는 총 6건으로, 패킹 SIMD와 비트 연산에 집중되어 있다. P 확장은 더 많은 pm*add* + 후속 덧셈 패턴을 pm*adda* 계열 명령어로 합성하고(#235306), RV32에서 64비트 funnel shift의 코드 생성 최적화(#235245), 확장 폭 수평 덧셈을 동반한 패킹 곱-누산 intrinsics 추가(#234450), Clang에 패킹 바이트 수평 곱-누산 intrinsics의 부호 있음, 부호 없음, 혼합 부호 세 가지 형태 추가(#234484)를 포함한다. GlobalISel 측에서는 XTHeadBb에서 좁은 타입의 G_CTLZ_ZERO_POISON을 먼저 확장(#237815), G_CTTZ를 XLEN으로 확장한 후 G_CTLZ를 거쳐 th.ff1을 선택(#238214)하도록 했다.

RuyiSDK의 LLVM 브랜치에는 별도 두 건이 있다. Ztt 사양과 intrinsics 문서 v0.6에 기반한 RV32/RV64 매트릭스 확장 초기 지원으로, 어셈블리와 디스어셈블리, Clang 타입과 intrinsics, LLVM IR과 코드 생성, 그리고 M/ACC 레지스터 할당, 복사, 스필 처리를 포함한다(#169). AME 브랜치에 GitHub Actions CI를 추가하여 RISC-V 타겟의 LLVM/Clang을 자동 빌드하고 CodeGen, 어셈블리, 시맨틱 테스트를 실행한다(#170).

3.2 GCC: Zba/Zbs/Zbkb 세 가지 최적화 메인라인 진입, SPEC CPU 2026 평가 준비 착수(11-05)

날짜: 2026-11-05 출처: 080호 원고, GCC Zba 커밋

세 가지 RISC-V 백엔드 최적화는 10월 27일 GCC 개발 메인라인(r17-5638 ~ r17-5640)에 진입했다. Zba 측은 시프트-덧셈과 정수 나눗셈, 나머지 연산의 조합 인식을 개선했고, Zbs 측은 bclr 자체의 시프트 인덱스 시맨틱을 활용하여 불필요한 마스크 계산을 제거하고 RV32/RV64 비트맵 연산을 개선했으며, Zbkb 측은 packh의 비용 모델과 매칭 우선순위를 수정하여 Zbb와 Zbkb가 동시에 활성화될 때 더 나은 명령어를 선택하지 못하는 문제를 해결했다.

수반되는 툴체인 CI도 진전이 있다. RISE-CI는 Hertner 컨테이너 서비스와 GitHub Actions를 연결했고, multilib 빌드 시나리오 검사를 추가했으며, 향후 LLM을 연동하여 CI 오류를 평가 및 분석할 계획이다. 성능 측에서는 SPEC CPU 2026 기반 RISC-V 실제 하드웨어 평가 준비에 착수하여, 후보 K3 플랫폼에서 전체 SPECspeed 2026을 실행할 때의 메모리 병목을 식별했고 다른 하드웨어 방안을 평가 중이다.

3.3 V8: 스칼라 이동 시 벡터 테일 유지, VLEN=1024 개방 등 6건 패치(11-05)

날짜: 2026-11-05 출처: 080호 원고, V8 CL 8714039

080회차 V8 섹션에서는 이번 호에 제출되어 병합된 6건과 리뷰 후 병합된 6건을 제시한다. 전자에는 신뢰 가능한 포인터 태그 범위 검사 수정, 태그 언더플로 시 범위를 벗어난 신뢰 가능한 포인터를 0으로 설정, Maglev가 제로 레지스터를 통해 제로 값 상수를 저장, GN 컴파일 설정에서 CPU 특성 도출, Float64를 Float32로 변환할 때 NaN 부호 비트 보존, Liftoff가 서브워드 원자 RMW의 임시 레지스터 할당을 루프 외부로 이동하는 것이 포함된다. 후자에는 스칼라 이동 시 벡터 테일 보존(CL 8714039), VLEN=1024 허용(CL 8585179), 누락된 RV64 Add643 연산 구현, 하드웨어에서 stop()이 ebreak만 생성하는 것 등이 포함된다.

3.4 VecIntrinBench, IntrinTrans, FBGEMM 세 저장소 계속 조용함 (11-06 상태)

날짜: 2026-11-06 (상태) 출처: VecIntrinBench, IntrinTrans, FBGEMM

세 벡터 관련 저장소는 모니터링 기간 내 커밋이 0건이며, 최신 커밋은 각각 02-13, 06-25, 07-13에 멈춰 있다. 이번 호의 벡터와 연산자 증분은 여전히 문서와 업스트림 컴파일러 커밋에만 나타나며, 이 세 벤치마크 및 변환 저장소로 돌아오지 않았다.


4. Buddy Compiler 동향

4.1 runtime에 공유 serving 생성 컨트롤러 추가, 디바이스 측 토큰 선택 지원 (11-05)

날짜: 2026-11-05 출처: PR #1018, 커밋 c2fd2e1

PR #1018은 모델에 독립적인 serving 생성 컨트롤러를 추가하며, 18개 파일, 2045줄 추가로 런타임 어댑터가 동일한 생성 토큰 예산, 중지 조건, 사용량 집계, 스트리밍 정리를 공유하도록 한다. 호출자는 LLMSession의 호스트 샘플링을 사용하거나 디바이스 측에서 직접 토큰을 제공하는 토큰 소스를 사용할 수 있다.

구현상 몇 가지 기록할 만한 점이 있다. 문자열 중지 조건은 먼저 원시 바이트로 매칭한 후 UTF-8 디코딩을 수행하여 멀티바이트 경계 오판을 피한다. 토큰 예산은 첫 번째 예측과 EOS/중지 토큰을 모두 포함한다. 고정 랜덤 시드는 0 값을 지원한다. 반복 패널티는 요청의 히스토리 윈도우 내에서 토큰 ID로 중복 제거 후 각각 한 번씩 적용된다. 첫 토큰은 prefill에서 오므로, 처리량 통계는 첫 번째 선택을 prefill로, 이후 선택을 decode로 기록하며, decode 작업이 없을 때는 처리량 0을 보고한다. 기존 CLI와 서버 진입점의 생성 경로는 변경되지 않으며, 고정 logits와 프로덕션 환경의 DeepSeek 토크나이저, 샘플러로 골든 테스트를 수행하여 출력을 보호한다. 후속 어댑터 통합은 각각 DeepSeek R1(#1021), Llama 3.1 TTNN(#1022), Qwen3-VL 등의 항목에서 추적된다.

4.2 VIR 확장 가능 벡터 lowering 보완: 브로드캐스트를 vector<[2]xT>로 전환, 커널은 llc 옵션에 따라 저하 (11-05)

날짜: 2026-11-05 출처: PR #1030, PR #1031

두 건의 midend 변경 모두 확장 가능 벡터를 대상으로 한다. vir.shuffle의 lowering은 여러 단계로 분할된다. 브로드캐스트는 먼저 vector<[2]xT>를 거친 후 전반부를 추출(vector.scalable.extract)하여 vector<[1]xT>를 얻는다. 이는 vector<[1]xT>에 직접 vector.broadcast를 수행하면 LLVM이 마스크 [0]의 shufflevector를 생성하고, 이것이 createOrFold에 의해 항등 연산으로 폴딩되어 남은 vscale-1개의 레인이 모두 poison이 되기 때문이다. llc는 insertelement를 레인 0만 쓰는 vfmv.s.f로 변환하며, 이 값이 .vf 명령어에 병합되지 않고 레지스터에 저장되면 결과가 틀려진다. [2]xT로 전환하면 llc가 vfmv.v.f를 사용하여 [1]xT의 LMUL에서 브로드캐스트를 완료하며, 명령어 수는 늘지 않고 루프에서는 오히려 하나 줄어든다. 다른 한 건은 커널이 llc의 -mattr 등 옵션에 따라 저하되도록 하며, 테스트 vir-broadcast-scalable-one.mlir가 스트리핑과 set_vl 결과 포함 두 경로를 커버한다.

4.3 나이틀리 버전 0.1.4.dev20261105로 진행 (11-05)

날짜: 2026-11-05 출처: Release 목록

당일 10:58(베이징 시간)에 0.1.4.dev20261105 야간 버전을 릴리스하여 이전 회차의 0.1.4.dev20261103을 대체했다. 모니터링 기간 내 총 세 건의 커밋이 있었다: runtime 컨트롤러(4.1), 두 건의 VIR lowering(4.2).


5. 커뮤니티와 활동 및 공식 홈페이지

5.1 격주 진행 상황 080호 최종 확정: 전체 섹션 병합, 권두언과 공식 문서 두 섹션은 여전히 공백 (11-05)

날짜: 2026-11-05 출처: 080호 원고, 아티클 저장소 커밋 목록

080호는 11-05 09:59부터 15:25 사이에 여덟 건의 커밋을 병합했으며(그중 한 건은 전체 업데이트), 이전에는 기초 C 라이브러리와 V8 두 섹션만 완성된 초안이었는데 이로써 패키지 관리자, IDE(두 건), 개발 보드 지원 매트릭스, OpenJDK, GCC, Go와 ruyipkg 각 섹션을 보충했으며 기술 요점은 2.3, 2.5, 3.1, 3.2, 3.3을 참조한다. 개발 보드 측에는 Milk-V Jupiter2의 Bianbu 4.0.1 Desktop과 SpacemiT K3 Pico-ITX의 Bianbu 4.0.8 LXQt 중영문 테스트 보고서를 새로 추가했고, inoltre VisionFive 2 Lite의 Ubuntu 24.04.5 보고서를 업데이트했으며; 예제 저장소에는 HiFive Premier P550의 Dhrystone과 SiFive Kernel Library 예제, Jupiter2의 llama-server 배포 예제, 그리고 K3 CoM260과 K3 Pico-ITX의 ROS 2 과정 입구를 새로 추가했다.

아직 작성되지 않은 세 섹션은 권두언, 버전 테스트 및 잔여 문제, 공식 홈페이지&문서이며; QEMU 섹션 역시 공백이다. 원고에서 「GCC」 소제목이 두 번 중복 등장하는데, 이는 편집상의 누락이다.

5.2 공식 홈페이지 세 페이지 변화 없음, 블로그 두 편, 문서 스물세 장 (11-06 상태)

날짜: 2026-11-06(상태) 출처: RuyiAI 공식 홈페이지

index, blog, docs 세 페이지 스냅샷은 이전 회차와 일치하며, 새로 추가된 블로그 글 또는 문서 장이 없다. 현재 블로그 인덱스는 두 편(Triton의 RISC-V 적응, PyTorch RISC-V CI 실천), 문서 인덱스는 스물세 장이다.

5.3 포럼 모니터링 기간 내 새 글 없음, 최신은 여전히 11-03의 ruyi 설치 가이드 (11-06 상태)

날짜: 2026-11-06(상태) 출처: RuyiSDK 커뮤니티 최신 토픽, 11-03 게시글

모니터링 기간 내 새 글은 0건이다. 최신 글은 여전히 11-03 17:50의 「스크립트를 사용한 ruyi 설치 업그레이드 설명 및 사용 가이드」이며; 080호는 이미 아티클 저장소에서 최종 확정되었으나 포럼에는 아직 게시되지 않아, 격주 진행 상황의 포럼 최신 회차는 여전히 079호(10-26)이다.

5.4 ruyiai-daily 11-05호 아카이브, 여섯 섹션에 PyTorch와 RISC-V 핵심 뉴스 포함 (11-05)

날짜: 2026-11-05 출처: 11-05호 아카이브

데일리 정보 저장소는 11-05 10:01에 당일 회차를 아카이브했으며, 구조는 오늘의 헤드라인, 오늘의 인덱스와 여섯 섹션 본문으로 구성된다: PyTorch 생태계 핵심 동향, LLVM/MLIR 최신 진전, Triton과 TileLang 기술 동향, RISC-V 핵심 뉴스, AI 업계 중대 뉴스, 요약과 트렌드 관찰. 해당 저장소는 파이프라인에 의해 자동 생성되며, 본 데일리 리포트의 교차 참고 자료로 활용될 수 있으나 원천 출처를 구성하지는 않는다.

5.5 외부 뉴스 여섯 그룹 질의 전부 미적중, arXiv 모니터링 기간 내 새 논문 없음 (11-06 상태)

날짜: 2026-11-06(상태) 출처: Google News, arXiv RISC-V 검색

여섯 그룹의 중영문 질의(예: RISC-V, RuyiSDK 중영문, RuyiAI, 루이 커뮤니티 오픈소스, Ruyi RISC-V AI)가 24시간 모니터링 기간 내 전부 미적중했으며; RISC-V 주제의 일반 수집은 대량의 개인 저장소와 Infineon AURIX RC1, Quintauris EM-Altair 등 루이 커뮤니티와 무관한 항목만 반환했다. arXiv 검색 모니터링 기간 내 새 논문은 없으며, 최신 수록은 11-03에 멈춰 있다.


6. 트렌드 관찰

6.1 유지보수 브랜치에서 업스트림 기생으로: 플러그인화가 패치 비용을 버전 바인딩으로 전환

날짜: 2026-11-05 출처: PR #98, PR #92

triton-riscv는 하루 만에 스스로를 “패치가 적용된 Triton 브랜치를 유지하는 것”에서 “업스트림 Triton의 플러그인”으로 전환했으며, 순수 삭제된 줄이 2천여 행에 달하고 패치 디렉터리가 통째로 사라졌다. 이러한 방식의 이점은 매우 직접적이다. 이후 업스트림 버전 업그레이드를 따라갈 때 패치를 재적용할 필요가 없고, 배포 산출물은 wheel 하나만 남으며, 설치 대상이 두 개의 배포 패키지에서 하나로 줄어든다.

대가는 마찬가지로 명확하며, 바로 같은 날 드러났다. Triton 3.9의 프런트엔드는 백엔드에서 backend_name 필드를 읽어오는데, 이것이 없으면 383개의 FlagGems 테스트 케이스가 실패한다. 업스트림 확장 지점에 기생한다는 것은 업스트림 프런트엔드의 암묵적 계약이 반드시 충족해야 하는 인터페이스가 된다는 뜻이며, 이러한 계약은 문서화되어 있지 않은 경우가 많아 테스트에서만 부딪혀 발견할 수 있다. 이번 개편의 성공 여부는 오늘 몇 줄을 삭제했는지가 아니라, 다음 업스트림 버전 업그레이드 시 재적용 비용과 FlagGems 같은 다운스트림 제품군에 여전히 버전을 전담 관리하는 인력이 필요한지로 판단해야 한다.

6.2 패키징 측의 데스크톱 오피스 보완과 AI 스택의 조용한 병행

날짜: 2026-11-05 출처: openRuyi 커밋 목록, RuyiAI-Stack 조직

openRuyi는 하루에 41건의 커밋을 기록했으며, 그중 37건이 LibreOffice 의존성 체인에 집중되었다. 먼저 21개의 문서 가져오기 필터, 이어서 AFDKO 폰트 툴체인, 그다음 Firebird, PDFium, ZXing, SANE, Box2D의 심사 중 PR이다. 이는 산발적인 업데이트가 아니라 컴포넌트별로 배치 단위로 진행되는 데스크톱 오피스 제품군의 완전한 패키징이다.

같은 날 RuyiAI 스택은 triton-riscv를 제외하고 모두 조용했다. pytorch의 RISC-V 브랜치는 커밋 제로, tilelang-riscv는 커밋 제로, llvm-project의 riscv 브랜치는 커밋 제로였다. 두 노선은 서로 다른 사람, 서로 다른 저장소, 서로 다른 리듬으로 추진되므로 데일리 리포트 차원에서는 분리해서 볼 가치가 있으며, 패키징 측의 활발함을 AI 스택의 진전으로 간주할 필요는 없다.

6.3 080호의 증분은 컴파일러와 런타임에 있으며, 애플리케이션 계층 프런트엔드에는 아니다

날짜: 2026-11-05 출처: 080호 원고

080호에서 가장 실질적인 네 가지는 모두 저층에 있다. GCC의 세 가지 Zb* 최적화가 메인라인에 진입, LLVM의 여섯 건 P-ext와 XTHeadBb가 병합, OpenJDK의 JEP 544 AOT 이식 병합, V8의 벡터 테일과 VLEN 처리다. 애플리케이션 계층 프런트엔드(PyTorch, TileLang)에는 이번 호에 해당하는 역량 접목이 없다.

이러한 분포는 6.1과 같은 것을 가리킨다. 이 단계의 추진 중점은 기존의 연산자와 언어 런타임이 RISC-V에서 안정적으로 실행되고 올바르게 실행되도록 하는 것이지, 프런트엔드 적용 범위를 확대하는 것이 아니다. 다운스트림 사용자 입장에서 단기적으로 체감할 수 있는 변화는 새로운 프레임워크 지원 목록이 아니라 컴파일 산출물과 JDK 동작에서 나타날 것이다.


출처 검증표

출처 검증 결과
RuyiAI-Stack 중점 저장소 triton-riscv: 커밋 8건, PR 병합 3건(#98, #99, #100), 나이틀리 2건; pytorch: riscv 브랜치 커밋 제로, main은 업스트림 동기화 55건에 RISC-V 항목 없음; tilelang-riscv, llvm-project: 모니터링 기간 내 커밋 제로; 나머지 저장소는 모니터링 기간 내 커밋 없음
ruyisdk 조직 ruyi, packages-index 커밋 제로 릴리스 제로; wechat-articles 8건(080호 전체 절 병합); ruyi-tuner, docs, support-matrix, 공식 웹사이트 저장소는 모니터링 기간 내 커밋 없음
openRuyi-Project 커밋 41건: LibreOffice 1/n(21개 패키지)과 2/n(파일 17개, 4633행 추가) 병합, 정례 업데이트 4건; PR #1595, #1596, #1594 병합; 2026.10 월간 릴리스는 여전히 부재
buddy-compiler buddy-mlir 커밋 3건(runtime 컨트롤러 1건, VIR lowering 2건); 나이틀리 0.1.4.dev20261105
RuyiSDK 포럼 신규 게시글 제로; 최신은 11-03의 ruyi 스크립트 설치 가이드; 포럼 격주 진전은 여전히 079호에 정체
RuyiAI 공식 홈페이지 index, blog, docs 세 페이지 모두 변화 없음; 블로그 2편, 문서 23장
ruyiai-daily 11-05호 아카이브 완료
Google News 중영문 6개 그룹 조회 결과 제로
arXiv 모니터링 기간 내 신규 논문 없음; 최신 한 편은 11-03에 정체

전체 출처 목록