기존에 사용하던 여타 노트북과 달리 CMOS등에서 하이퍼스레딩을 직접 제어하지는 못 하는 것 같았다. 계산목적으로 컴퓨터를 활용하다보니 늘 당연하다는 생각으로 하이퍼스레딩을 끄고 사용했었으나, 설정을 찾을 수 없어서 하이퍼스레딩이 어느정도 퍼포먼스를 내 주는지가 궁금했던 것이 이번 실험의 이유였는데, 여기서 몇 가지 유의미한 내용을 알 수 있었다.
현재 본인의 맥북은 2013 late macbook pro 15 기본형으로서 i7 쿼드코어를 가지고 있고, HT(Hyper-Threading)로 인하여 8개의 프로세서로 컴퓨터는 인지하고 있다. OS는 OSX Mavericks를 사용하고 있고, 여기서 HT를 enable/disable시키는 것은 Xcode설치이후 사용가능한 Instrument app에서이다.
테스트는 intel c++ compiler (icpc)와 MKL을 이용한 CBLAS를 활용하였고, 예시는 MKL의 쓰레드 테스트에 있는 소스코드를 사용하였다. 쓰레드를 1개에서 8개까지 (물리적은 코어는 4개이지만, HT로 인하여 8개의 프로세서가 있다고 맥은 인지하고 있음) 올려가며 1000번계산하여 평균 계산시간을 뽑아보았는데, 결과는 다음과 같다.
1 thread : 22.39 ms
2 threads: 11.05 ms
3 threads: 08.14 ms
4 threads: 08.24 ms
5 threads: 08.54 ms
6 threads: 08.23 ms
7 threads: 08.39 ms
8 threads: 08.68 ms
이때 iStat Menu에서 CPU 점유율 기준으로 1쓰레드에서 3쓰레드까지는 각기 100

Single threaded computation의 경우에는 HT에 따른 의존성이 없었다. 다만 2쓰레드일때 약 3
Leave a Reply