exo-lang/exo
Exocompilation for productive programming of hardware accelerators
해결하는 문제
Exo는 하드웨어 가속기 프로그래밍을 더욱 생산적으로 만들기 위해 설계된 언어 및 컴파일러입니다. 고수준의 생산성과 특수 하드웨어에서 성능을 최적화하는 데 필요한 저수준 제어 사이의 간극을 메워줍니다.
작동 방식
Exo를 사용하면 개발자는 Python을 통해 직접 실행할 수 있는 코드 또는 exocc 명령을 사용하여 C 및 헤더 파일로 컴파일할 수 있는 코드를 작성할 수 있습니다. CMake와 Ninja를 사용하는 빌드 시스템을 활용하여 생성된 C 코드를 컴파일하고 링크합니다. 고급 하드웨어 기능 테스트(AVX-512 또는 AMX 등)를 위해 Intel Software Development Emulator (SDE)와 통합될 수 있습니다.
대상
생산성을 희생하지 않으면서 계산을 효율적으로 스케줄링하고 최적화할 수 있는 방법이 필요한 하드웨어 가속기 관련 개발자 및 연구자를 대상으로 합니다.
주요 특징
- Exocompilation: 하드웨어 가속기를 위한 특화된 컴파일 프로세스.
- C 코드 생성: Exo 파일에서 C 및 헤더 파일을 생성하는 기능.
- 하드웨어 지원: AMX와 같은 x86 전용 기능을 테스트하기 위한 Intel SDE와 같은 도구와의 통합.
- 학술적 기반: PLDI 2022 및 ASPLOS 2025에서 발표된 연구를 기반으로 합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트