지도 교수님 연구실에서 분자 모델링 소프트웨어를 업그레이드한다고 해서 시스템 구축 좀 도와줬었는데요.
벤치마크 하는 도중 꽤나 치명적인?? 성능 차이가 보여서 혹시나 해당 소프트웨어를 구매하시는 분들께 도움이 될까 올려봅니다.
먼저 구매한 소프트웨어는 Gaussian 16입니다. Quantum mechanic simulation 소프트웨어로 아마 아시는 분들만 아시는 소프트웨어입니다.
분자 수준에서 여러가지 물리적 성질들은 시뮬레이션 할 수 있고 GUI가 잘 되 있어서, 초보자에게는 GAMESS나 ORCA 보다 더 쉽게 접근할 수 있어서 많이 쓰이는 프로그램입니다.
Gaussian 16은 과학 연산, 양자 시뮬레이션 프로그램이기 때문에 소수점 계산에 굉장히 민감합니다. 그래서 배정밀도 연산(double precision)을 매우 적극적으로 사용하고,
특히 SIMD 연산, SSE나 AVX를 적극적으로 활용합니다. 가격은 세금 포함 하면 대략 $3000 USD 정도로 다른 시뮬레이션 소프트웨어들 보다 좀 비쌉니다.
Gaussian 16은 OS에 따라 크게 세가지 버전이 있습니다. Windows / Linux / Mac OS.
기존에 사용했던 것은 Linux 버전이었는데요. 후배들이 Linux가 사용하기 불편해서 Windows 버전을 구매한다고 한다고 해서..
저는 기존 쓰던 Linux 쓰는게 났지 않느냐 했지만 뭐.. 결정권자는 제가 아니니... 결국 Gaussian 16W (Windows 버전은 뒤에 W가 붙습니다)을 구매했습니다.
윈도우 시스템 구축하고 소프트웨어를 설치하고 테스트 작업을 몇 개 돌려보니 계산이 잘 되는 것 같아 보였습니다.
근데 혹시 몰라서 윈도우 작업 관리자로 CPU 사용률을 보니 아래 그림처럼 CPU 사용률이 꽤나 오락가락한 걸 보여서 오버헤드가 생기는 것처럼 보였습니다.
원래 Linux에서는 동일 작업을 돌렸을 때 CPU 사용률이 거의 일정하게 100%를 유지합니다.
또한 클럭을 확인 해보니 4.2GHz로 나왔습니다. 현재 시스템은 AVX-2에 negative offset을 -2로 적용해서 4.0 GHz가 나와야 하는데…?
즉, AVX2 적용이 안되고 있다고 결론 내릴 수밖에 없었습니다.
그래서 좀 더 정확히 확인하기 위해서 윈도우 버전과 Linux 버전의 Gaussian의 벤치 마크를 진행해봤습니다.
벤치 마크를 위한 분자 구조는 아래 보이는 Coumarin 153으로 형광체로 자주 사용되는 분자입니다.
벤치마크 시스템은 7980xe (4.2GHz / AVX-2 offset=2), Windows 10 Pro or Ubuntu 18.04 LTS (Linux-5.4.0-60)입니다.
해당 구조에 대해서 Optimization과 Frequency 작업을 apfd/6-31g(d,p)에서 해줬습니다.
4core 6core 8core 12core 16core 18core 순으로 증가시켜 가면서 시뮬레이션 경과 시간 (elapsed time, 초 단위)을 측정하였습니다.
Optimization은 분자 구조를 최적화 하는 과정이고, Frequency는 분자 진동을 분석하는 과정입니다.
결과를 보시면 성능 차이가 심해서 많이 놀랐습니다.
parallel efficiency는 Windows가 더 좋아 보이는 것처럼 보였지만 절대적인 성능 차이는 평균 3.5배 정도 윈도우가 더 느린걸 볼 수 있습니다.
아무리 윈도우에서 AVX2가 적용이 안된다고 저렇게 차이가 많이나는 건 두 버전의 사용하는 math library 자체가 다른게 아닌지 의문이 갔습니다.
한 10프로 정도면 그러려니 했는데 이건 좀.. 심한 거 같아 멘붕 하고 있을때, 혹시 나 해서 벤치 데이터를 본사에 보내보니 다행히 리눅스 버전으로 교환해주겠다고 했습니다.
참고로 Gaussian의 리눅스 버전과 윈도우 버전의 가격은 동일합니다. 본사 직원이랑 여러가지 물어보다가 새로 알게 된 사실이 있었는데.
윈도우 버전의 경우 single machine license이기 때문에 PC 한대에 귀속되는 라이센스 였습니다. 반면 동일 가격의 Linux 버전의 경우 site license라서 연구실 내 여러 컴퓨터에서 사용이 가능한 라이센스 였습니다.
즉.. 윈도우 버전은 라이센스 타입 자체도 더 제한이 많은 거 였습니다...
추가적으로 Linux 버전의 경우 CUDA를 사용한 gpu계산도 지원하기 때문에 사실상.. 윈도우 버전은 스펙이나 성능 면에서 전혀 메리트가 없는 버전이라고 결론 내릴 수 있었습니다.
특히 성능 이슈는 공식 홈페이지에 나와있지 않기 때문에 혹시나 Gaussian 16 윈도우 버전을 구매하고 싶은 분은 이 벤치를 확인하시고 결정하시는 게 좋을 것 같다고 생각합니다.