[MSVC++] 인텔 컴파일러의 성능 비교

급하신 분들을 위해 결과부터 말하자면, 인텔 컴파일러 킹왕짱이다.



일단, 비교 대상은 세가지다.

1. msvc++ 9.0에 내장되어 있는 컴파일러, 단일 스레드

2. 인텔 컴파일러, 단일 스레드

3. 인텔 컴파일러, 다중 스레드


성능 비교의 대상은, 아무래도 cpu자체의 연산 능력에 dependency가 큰

수치 해석이다.

Monte Carlo Method를 이용한 Small angle neutron scattering simulation을 이용했다.
간단한 사실만 말하자면, 총 돌아야 하는 루프의 갯수는 128개.

test environment는 intel Core 2 Duo T5600 1.83GHz, ddr2 2GB ram, MS windows XP SP3이다.

코어가 2개 있으니 2개 이상의 쓰레드로 분할하는 것은 무의미할 것으로 생각하고 스레드의 갯수를 2개로 정했다.


* 결과

1. 19.656 sec

2. 13.562 sec

3. 6.468 sec

1에서 3으로 갈 시 속도가 약 3배정도 빨라진 것을 확인할 수 있었다.


오늘의 교훈 1. 인텔. 좀 하는구나.

2. 성급하게 결론내리지 말자.

3. 멀티코어 cpu 킹왕짱이다.


마지막 덧글 : 멀티스레드 코드 자체는 어느 블로그에서 본 코드를 그대로 도용해서 썼는데,

코어를 전부 쓰기 위해서 인터넷 익스플로러도 끄고 세번째 테스트를 하고 난 뒤에 보니 어디에서 참조했는지 모르겠다.

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 데스티 | 2008/05/12 00:46 | 트랙백 | 덧글(2)

트랙백 주소 : http://docs.egloos.com/tb/1693158
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by soddie at 2009/03/15 15:17
안녕하세요. 몇가지 질문있습니다

좀 멍청한 질문같지만 인텔 컴파일러로 컴파일한게 amd cpu에서도 돌아가겠죠?

인텔홈피가보면 인텔컴파일러 데모만 있던거 같은데 어떤 기능제약이 있는지 잘 모르겠어요.

msvc 9.0 기본 컴파일러로는 openmp사용 못하나요?

질문이 좀 많지만 그래도 답변 부탁드립니다. 꾸벅
Commented by 데스티 at 2009/03/17 16:04
저도 많이는 안 써봤지만,,

1. 네. 돌아갑니다만,
인텔 cpu에서 빠르게 돌아가던 어플리케이션이 amd cpu에서 빠르게 돌아갈지는 의문입니다.
intel optimization이니까요^^

2. 제가 받아서 사용했던 trial version은 별다른 기능 제약이 없더군요.

3. http://jacking75.cafe24.com/MSDN_MagaZine/2005-10-3.htm
지원된다네요.

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶