본문으로 건너뛰기
0
r/jeffnews HN 약 2분

Sandia 국립연구소의 LAPIS: 희소 행렬 연산을 위한 MLIR 기반 컴파일러 프레임워크

backend

요약

Sandia 국립연구소에서 MLIR 위에 구축한 LAPIS 컴파일러 프레임워크 발표. Kokkos 방언으로 다양한 아키텍처 지원하며 희소 선형대수 연산을 GPU에서 효율적으로 최적화

기사 전체 정리

Sandia 국립연구소의 LAPIS: 희소 행렬 연산을 위한 MLIR 기반 컴파일러 프레임워크

  • Sandia 국립연구소에서 MLIR 기반의 LAPIS 컴파일러 프레임워크를 개발함
  • 희소 선형대수 연산을 최적화하고 다양한 아키텍처에서 성능 이식성(performance portability)을 지원하는 게 목표임
  • 핵심 혁신은 Kokkos 방언(dialect): 고수준 언어에서 다양한 아키텍처로 코드를 내리는(lowering) 과정을 깔끔하게 처리함
  • 저수준 MLIR 코드를 C++ Kokkos 코드로 변환할 수 있어서 과학적 머신러닝(SciML) 모델을 기존 앱에 통합하기 쉬워짐
  • 분산 메모리 아키텍처용으로 partition 방언도 새로 만듦: 희소 텐서 분배와 통신 패턴을 관리하고, 통신 최소화를 위한 알고리즘 최적화 포함
  • 다양한 GPU에서 희소/밀집 선형대수 커널 모두에서 효과적인 최적화를 시연함
  • 실제 응용 사례: 희소 선형대수 및 그래프 커널, TenSQL(GraphBLAS 위에 구축한 RDBMS), 서브그래프 동형/단사 커널
  • 생산성, 성능, 이식성, 분산 메모리 실행을 모두 지원하면서 전통적 프로그래밍 언어에서는 어려운 선형대수 수준의 최적화를 가능하게 함

핵심 포인트

  • MLIR 기반 LAPIS 프레임워크로 희소 연산 최적화
  • Kokkos 방언으로 다양한 GPU 아키텍처 포터블 지원
  • 분산 메모리용 partition 방언으로 통신 패턴 최적화
  • TenSQL, 서브그래프 동형 커널 등 실제 응용 시연

인사이트

HPC 영역에서 MLIR이 점점 더 중요해지고 있음을 보여주는 프로젝트

댓글

댓글

댓글을 불러오는 중...

backend

Redis 8.0 출시 — I/O 스레딩 갈아엎고 처리량 3배, 2.1M ops/sec 달성

Redis 8.0이 I/O 스레딩 모델을 완전히 재설계해서 16코어 기준 2.1M ops/sec를 달성함 (7.4 대비 3배). Hash field expiration, Vector search HNSW, Client-side caching v2, Redis Functions 2.0 async 실행 등 굵직한 기능이 추가되고, jemalloc 통합으로 메모리 fragmentation도 25% 줄어듦.

backend

dial9 — Tokio 런타임의 블랙박스 레코더, 프로덕션에서 5% 미만 오버헤드로 이벤트 타임라인 기록

Tokio 런타임의 개별 이벤트를 타임라인 로그로 기록하는 텔레메트리 도구 dial9이 공개됨. 커널 스케줄링 딜레이, fd_table 컨텐션 등 집계 메트릭으로는 찾을 수 없는 프로덕션 성능 문제를 실제로 해결한 사례를 소개.

backend

dbt를 10년 늦게 시작한 후기 (DuckDB 에디션)

dbt를 10년 늦게 발견한 저자가 DuckDB와 조합해 UK 홍수 모니터링 API 데이터 파이프라인을 구축한 경험기. source 분리, staging 모델, Jinja 매크로, 테스트, 자동 문서화, Dagster 오케스트레이션까지 전체 과정을 다룸.

backend

HN은 왜 이렇게 Rust에 집착하는 걸까?

HN 커뮤니티가 Rust에 열광하는 이유를 분석한 글. 메모리 안전성·동시성·성능·툴체인을 모두 갖춘 유일한 언어라는 점, 그리고 C++의 카오스와 대비되는 Cargo의 통합된 개발 경험이 핵심 요인으로 꼽힘.

backend

LittleHorse 1.0 — 비즈니스 로직을 코드로 표현하는 마이크로서비스 오케스트레이션 엔진

Apache Kafka 기반의 고성능 워크플로우 오케스트레이션 엔진 LittleHorse가 1.0을 출시함. 비즈니스 프로세스를 코드로 직접 표현하는 'Business-as-Code' 방식으로 마이크로서비스 간 조율, 재시도, 타임아웃, 분산 추적 등을 엔진 레벨에서 처리해줌.