생물정보학 재귀 계산을 위한 컴파일러
요약
본 글은 생물정보학 알고리즘의 효율적인 구현을 위한 도메인 특화 언어(DSL) 및 컴파일러 프레임워크 FILTR을 소개합니다. FILTR은 재귀 규칙과 가지치기/스케줄링 전략을 분리하여 관리하며, 이를 최적화된 C++ 코드로 컴파일합니다. 이로써 복잡한 생물정보학 알고리즘의 성능 향상 및 신속한 휴리스틱 탐색이 가능해집니다.
핵심 포인트
- FILTR은 생물정보학 재귀를 위한 DSL이자 컴파일러 프레임워크입니다.
- 재귀 규칙과 가지치기/스케줄링 전략을 분리하여 관리합니다.
- 최적화된 C++ 코드로 컴파일되어 높은 성능을 보장합니다.
- 수작업 최적화 라이브러리와 경쟁할 만큼 빠르며, 휴리스틱 탐색이 용이합니다.
서열 정렬(sequence alignment)이나 구조 예측(structure prediction)과 같은 많은 생물정보학 알고리즘은 동적 계획법(dynamic programming) 행렬에 대한 재귀 방정식으로 표현될 수 있습니다. 대규모 생물학 데이터를 위한 이러한 알고리즘의 효율적인 구현은 종종 행렬 셀을 계산하는 순서를 변경하고, 효과가 없는 영역을 고려 대상에서 아예 제거하는 것을 필요로 하지만, 이러한 기술들은 일반적으로 구현을 복잡하게 만듭니다. 우리는 생물정보학 재귀를 위한 도메인 특화 언어(DSL)이자 컴파일러 프레임워크인 FILTR을 소개합니다. FILTR은 핵심 재귀 규칙을 가지치기(pruning) 및 스케줄링 전략과 분리하여 유지하며, 여기서 가지치기는 DP 행렬 셀 중 어디에서 계산할지 제한하는 근사치 역할을 하고, 스케줄링은 셀이 탐색되는 반복 순서를 결정합니다. FILTR은 이러한 고수준 설명을 최적화된 C++ 코드로 컴파일하여, 수작업으로 튜닝된 구현의 성능에 필적하면서도 새로운 휴리스틱(heuristics)을 신속하게 탐색할 수 있도록 합니다. FILTR은 생물학적 벤치마크 전반에서 0.95배에서 30배까지 빠르며, 수작업으로 최적화된 서열 정렬 라이브러리와 경쟁력을 가집니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기