기본 콘텐츠로 건너뛰기

Intel 교육

어제 IntelBestInfra가 함께한 Software Optimization on Intel Architecture(Linux)를 듣고 왔다. 몇몇가지 정리를 하자면 아래와 같다.

인텔에서 제작한 최신 C/C++ 컴파일러(ICC 10 - 2007년 11월 21일 기준)는 인텔에서 출시한 모든 CPU에 추가된 확장명령코드를 이용해 최적화를 할 수 있다. 다른 컴파일러들이 귀찮아서 거의 안 하는 짓꺼리를 인텔 컴파일러는 이 꽉 깨물고 최적화해준다. 뭐, 가장 볼만한게 Loop Vectorization을 해서 SIMD로 기계어 만들어내고 그걸 CPU에 집어넣으니, GCC의 x86코드보다 훨 빠르다!라는 것. 당연하지. (GCC는 범용 컴파일러. 많은 종류 CPU를 소화할 수 있지만 그만큼 특화가 어렵고, 같이 제공하는 GLIBC 역시 특화한 라이브러리에 비해 느린 편이다.)

뱀발:
관계자 설명에 의하면, 인텔은 최신 머신에 대해 최고 컴파일러를 빨리 내놓을 뿐, 최소 6개월 정도면 GCC에서도 비슷한 수준으로 최적화하는 컴파일러를 만들어낸다고 한다. 장사를 하자고 말자고? 어짜피 인텔은 H/W회사지 S/W회사가 아니다. 컴파일러 장사를 하기보단, 자사 CPU에서 이런 식으로 동작시키면 좀더 빠르게 동작해요를 홍보하기 위한 것이지. 뭐... 이게 중요한게 아니고...
인텔 컴파일러 장점은
  1. GCC/GLIBC와 거의 완벽하게 호환(확장기능까지!)하기때문에 소스코드를 고칠 노력 없이 컴파일 옵션만으로도 더 나은 성능을 맛 볼 수 있다. 게다가 각종 Object/Library 파일도 호환한다.
  2. 몇몇가지 자주 쓰이는 수치관련 라이브러리를 최적화하여 만들어 제공한다. 예로 기본 math대신에 imf라이브러리를 이용하면 좀더 좋은 성능을 맛볼 수 있다.
  3. 원한다면 소스에서 컴파일러 디렉티브를 이용해 최적화요소를 컴파일러에게 직접 지시할 수도 있다.
  4. 컴파일러가 내뿜는 최적화 요소 정보가 GCC보다 훨씬 많고 다양해서 실제 코드를 고쳐서 최적화를 할 때 많은 도움이 된다.
  5. 모든 자료는 인텔홈페이지나 컴파일러패키지에 함께 제공한 문서에 기술했으며, 맛보기를 위해 무료로 한 달 라이센스를 발급하고 있다.
  6. 자매품 VTune 같은 프로파일러 많은 애용 부탁한다는...
교육 대부분은 컴파일러 옵션을 바꿔가면서 gcc/icc로 컴파일한 3D 랜더러 성능과 matrix multiply 성능 개선을 보여주었다. gcc와 크게는 20% 이상 차이를 보였으며, 컴파일 옵션을 잘못주면 오히려 gcc보다 성능이 떨어지는 것을 볼 수 있었다.

뱀발: 장점만 썼는데, 눈에 띄는 단점은 없어보인다. 라이센스 비용도 4~50만원 선이고, 개인이 사기엔 좀 비싸지만 회사 입장에서는 가격대 성능비가 좋게 나올 것 같다. 배워두면 어디든 쓴다고 하지만, 내 업무요건에 이 화려한 기술을 쓸 일은 거의 없을 것 같다. 내 업무 요건 가운데 가장 필요한 것은 I/O를 줄이는 것이겠지.

결론: 3D게임을 만드는 회사(또는 산술계산이 많은 연구소)는 Intel용 application를 만들 때는 반드시 Intel Compiler로 컴파일하라. 머리 싸매지 않아도 20%정도 효율을 맛볼 수 있을 것이다.

Powered by ScribeFire.


댓글

이 블로그의 인기 게시물

탐색기에서 OneDrive 이 2개로 보이는 문제

왜 2개가 보이는지 모르겠지만, Registry 삭제하면 됨 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace 하위 키에서 OneDrive 둘 중에 하나만 지워도 바로 반영됨. 참조:  https://answers.microsoft.com/en-us/msoffice/forum/all/duplicate-onedrives-in-file-explorer/49c935a6-287b-43a5-aed5-2dee2a1c1b22

버즈 라이브 배터리 교체

나는 버즈 라이브(SM-R180)가 좋은데, 평가가 별루였는지, 해당 스타일로 버즈를 더 이상 만들지 않고 있다. 아무튼, 오래 쓴 버즈 라이브 배터리가 슬슬 맛이 가기 시작해서, 블로그 를 참조하면서 분해 및 교체를 하였다. (진짜 쉬움) 요로코롬 위아래를 살짝 눌러주면 뚜껑이 벌어진다. 안쪽 플라스틱은 오른쪽은 분홍색, 왼쪽은 회색이다. 리본 케이블 살짝 들어내고, 기판을 떼어내면, 작은 나사가 있다. 나사를 풀고, 플라스틱을 걷어내면, 검은 양면 테이프로 고정된 CR1254 배터리가 보인다. 잘 쑤셔서(?) 꺼낸다. 새로운 CR1254 배터리를 넣는다. 음극이 아래로 가도록 하고, 분해의 역순으로 조립하면 된다. 조립할 때, 아까 풀었던 나사는 잊지 말고 꼭 조여준다. (까먹고 조립해서 다시 뜯고 조립함) 충전도 잘 되고, 소리도 잘 나는거 보면, 조립도 잘 된 것 같다. 이렇게 버즈 라이브의 수명을 강제로 늘렸다. 나중에 본체 배터리도 갈아야겠다.