물 분자 시뮬레이션 코드, 자동 최적화로 메모리 병목을 뚫다

Automated optimization of a molecular simulation program

물 분자 시뮬레이션 코드, 자동 최적화로 메모리 병목을 뚫다

UC San Diego Paesani 연구팀과 함께한 MBX 분자 시뮬레이션의 three-body water polynomial을 자동으로 최적화한 과정을 다룬다. 컴파일러 벡터화로 8배 병렬 연산을 시도했지만 중간값이 260KB에서 2087KB로 폭증해 캐시를 넘어서면서 이론적 속도 향상을 얻지 못했다. 이후 중복 부분식 제거와 명령문 재정렬로 최대 livesize를 20% 이상 줄였고, 이는 메모리 사용량을 근본적으로 낮추는 접근이었다.

궁극적으로 우리가 내놓은 해법은 우리 목적에는 '충분히 좋은' 수준이며, 더 많은 패스를 돌리더라도 결과의 작은 개선에 비해 그만한 가치가 없을 것이다.

이 날의 다른 글

2026-09-24